material_components_web-sass 0.17.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/lib/material_components_web/sass/version.rb +1 -1
  4. data/vendor/assets/javascripts/material-components-web.js +1207 -1035
  5. data/vendor/assets/stylesheets/@material/button/mdc-button.scss +91 -110
  6. data/vendor/assets/stylesheets/@material/dialog/mdc-dialog.scss +2 -2
  7. data/vendor/assets/stylesheets/@material/drawer/permanent/mdc-permanent-drawer.scss +1 -1
  8. data/vendor/assets/stylesheets/@material/drawer/persistent/mdc-persistent-drawer.scss +1 -1
  9. data/vendor/assets/stylesheets/@material/drawer/slidable/_mixins.scss +15 -15
  10. data/vendor/assets/stylesheets/@material/drawer/slidable/_variables.scss +15 -15
  11. data/vendor/assets/stylesheets/@material/fab/mdc-fab.scss +2 -2
  12. data/vendor/assets/stylesheets/@material/grid-list/mdc-grid-list.scss +3 -0
  13. data/vendor/assets/stylesheets/@material/icon-toggle/mdc-icon-toggle.scss +3 -3
  14. data/vendor/assets/stylesheets/@material/layout-grid/_variables.scss +1 -1
  15. data/vendor/assets/stylesheets/@material/layout-grid/mdc-layout-grid.scss +3 -3
  16. data/vendor/assets/stylesheets/@material/linear-progress/mdc-linear-progress.scss +1 -1
  17. data/vendor/assets/stylesheets/@material/ripple/mdc-ripple.scss +2 -2
  18. data/vendor/assets/stylesheets/@material/snackbar/mdc-snackbar.scss +1 -1
  19. data/vendor/assets/stylesheets/@material/tabs/tab-bar/mdc-tab-bar.scss +3 -3
  20. data/vendor/assets/stylesheets/@material/textfield/mdc-textfield.scss +1 -1
  21. data/vendor/assets/stylesheets/@material/theme/_color_palette.scss +290 -0
  22. data/vendor/assets/stylesheets/@material/theme/_constants.scss +10 -12
  23. data/vendor/assets/stylesheets/@material/theme/_functions.scss +6 -12
  24. data/vendor/assets/stylesheets/@material/theme/_mixins.scss +36 -40
  25. data/vendor/assets/stylesheets/@material/theme/_variables.scss +79 -17
  26. data/vendor/assets/stylesheets/@material/theme/mdc-theme.scss +4 -4
  27. data/vendor/assets/stylesheets/@material/toolbar/mdc-toolbar.scss +2 -2
  28. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eac14048c740bfb8029b33e56a94a305d1e9bf2c
4
- data.tar.gz: 343c168aaf1bd21c52eb02d3890bfe74cddc68cc
3
+ metadata.gz: 3e22c1b380f273230e7e293a19c70779327dab61
4
+ data.tar.gz: 3e06ef9312f0e3b61d7df84ec40a1e2a4cc6762d
5
5
  SHA512:
6
- metadata.gz: b40fdc2774ef2fa9fbbb36a437e939f3e4935b13c0aec661f71d85c42c1d855af50ef8fde1463c7cc813d0eea11de0076751bf269f8548a1b7435265c6fde98d
7
- data.tar.gz: 26cf7f78b33fc2a87db4a99699a1fb506ee261cd00ea24bca696813a6202b94692f10cee6e95bb35650d57088534ee8456350ddef5680b84cc6f11642b219b0a
6
+ metadata.gz: e17e8a34d5927e8fbb2e506b235bebde0f32d31ad5ec89d52615fbce717a75e454897f2f4ee05452c568d0d4b06a36f7ee8f973dcb270f4ed346e2cfb1fb126b
7
+ data.tar.gz: ecbfce12311f3ab7c782dbe4abf2e5238c7b6fa2563d6da440e4b04d5570c413e4a007d7efcef52e9b6ae7d785bfb060565ade24d268d45dfb34be7554813908
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.18.0 (2017-08-22)
2
+
3
+ - Update assets to match upstream version
4
+
5
+ Library version:
6
+
7
+ - Material Components for the web v0.18.0
8
+ - Material Icons v3.0.0
9
+
1
10
  ## 0.17.0 (2017-08-08)
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.17.0'.freeze
3
+ VERSION = '0.18.0'.freeze
4
4
  end
5
5
  end
@@ -86,10 +86,8 @@ return /******/ (function(modules) { // webpackBootstrap
86
86
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
87
87
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation__ = __webpack_require__(1);
88
88
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component__ = __webpack_require__(2);
89
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selection_control__ = __webpack_require__(3);
90
89
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__foundation__["a"]; });
91
90
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCComponent", function() { return __WEBPACK_IMPORTED_MODULE_1__component__["a"]; });
92
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "SelectionControlState", function() { return __WEBPACK_IMPORTED_MODULE_2__selection_control__["a"]; });
93
91
  /**
94
92
  * Copyright 2016 Google Inc.
95
93
  *
@@ -111,7 +109,6 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
111
109
 
112
110
 
113
111
 
114
-
115
112
  /***/ }),
116
113
  /* 1 */
117
114
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -390,7 +387,14 @@ var MDCComponent = function () {
390
387
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
391
388
 
392
389
  "use strict";
393
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SelectionControlState; });
390
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
391
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelectionControlState", function() { return MDCSelectionControlState; });
392
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelectionControl", function() { return MDCSelectionControl; });
393
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_ripple__ = __webpack_require__(4);
394
+ 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; }; }();
395
+
396
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
397
+
394
398
  /**
395
399
  * Copyright 2017 Google Inc. All Rights Reserved.
396
400
  *
@@ -407,6 +411,10 @@ var MDCComponent = function () {
407
411
  * limitations under the License.
408
412
  */
409
413
 
414
+ /* eslint-disable no-unused-vars */
415
+
416
+ /* eslint-enable no-unused-vars */
417
+
410
418
  /**
411
419
  * @typedef {!{
412
420
  * checked: boolean,
@@ -415,7 +423,25 @@ var MDCComponent = function () {
415
423
  * value: ?string
416
424
  * }}
417
425
  */
418
- var SelectionControlState = void 0;
426
+ var MDCSelectionControlState = void 0;
427
+
428
+ /**
429
+ * @record
430
+ */
431
+ var MDCSelectionControl = function () {
432
+ function MDCSelectionControl() {
433
+ _classCallCheck(this, MDCSelectionControl);
434
+ }
435
+
436
+ _createClass(MDCSelectionControl, [{
437
+ key: 'ripple',
438
+
439
+ /** @return {?MDCRipple} */
440
+ get: function get() {}
441
+ }]);
442
+
443
+ return MDCSelectionControl;
444
+ }();
419
445
 
420
446
  /***/ }),
421
447
  /* 4 */
@@ -426,7 +452,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
426
452
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRipple", function() { return MDCRipple; });
427
453
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(2);
428
454
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__adapter__ = __webpack_require__(7);
429
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(23);
455
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(20);
430
456
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(8);
431
457
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRippleFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
432
458
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_3__util__; });
@@ -1249,7 +1275,7 @@ function restoreElementTabState(el) {
1249
1275
  "use strict";
1250
1276
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1251
1277
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(11);
1252
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__simple__ = __webpack_require__(53);
1278
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__simple__ = __webpack_require__(54);
1253
1279
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenu", function() { return __WEBPACK_IMPORTED_MODULE_1__simple__["a"]; });
1254
1280
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenuFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__simple__["b"]; });
1255
1281
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_0__util__; });
@@ -1503,7 +1529,7 @@ var numbers = {
1503
1529
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(2);
1504
1530
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(4);
1505
1531
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(14);
1506
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(70);
1532
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(71);
1507
1533
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_3__foundation__["a"]; });
1508
1534
  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); } };
1509
1535
 
@@ -1679,7 +1705,7 @@ var strings = {
1679
1705
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCTabBar; });
1680
1706
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(2);
1681
1707
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tab__ = __webpack_require__(13);
1682
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(71);
1708
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(72);
1683
1709
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
1684
1710
  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; }; }();
1685
1711
 
@@ -1913,18 +1939,19 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1913
1939
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_dialog__ = __webpack_require__(25);
1914
1940
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__material_drawer__ = __webpack_require__(31);
1915
1941
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__material_form_field__ = __webpack_require__(40);
1916
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__material_grid_list__ = __webpack_require__(43);
1917
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__material_icon_toggle__ = __webpack_require__(46);
1918
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__material_linear_progress__ = __webpack_require__(50);
1942
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__material_grid_list__ = __webpack_require__(44);
1943
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__material_icon_toggle__ = __webpack_require__(47);
1944
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__material_linear_progress__ = __webpack_require__(51);
1919
1945
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__material_menu__ = __webpack_require__(10);
1920
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__material_radio__ = __webpack_require__(57);
1946
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__material_radio__ = __webpack_require__(58);
1921
1947
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__material_ripple__ = __webpack_require__(4);
1922
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__material_select__ = __webpack_require__(61);
1923
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__material_slider__ = __webpack_require__(64);
1924
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__material_snackbar__ = __webpack_require__(66);
1925
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__material_tabs__ = __webpack_require__(69);
1926
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__material_textfield__ = __webpack_require__(76);
1927
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__material_toolbar__ = __webpack_require__(78);
1948
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__material_select__ = __webpack_require__(62);
1949
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__material_selection_control__ = __webpack_require__(3);
1950
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__material_slider__ = __webpack_require__(65);
1951
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__material_snackbar__ = __webpack_require__(67);
1952
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__material_tabs__ = __webpack_require__(70);
1953
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__material_textfield__ = __webpack_require__(77);
1954
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__material_toolbar__ = __webpack_require__(79);
1928
1955
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "autoInit", function() { return __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a"]; });
1929
1956
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "base", function() { return __WEBPACK_IMPORTED_MODULE_1__material_base__; });
1930
1957
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "checkbox", function() { return __WEBPACK_IMPORTED_MODULE_2__material_checkbox__; });
@@ -1938,11 +1965,12 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1938
1965
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "radio", function() { return __WEBPACK_IMPORTED_MODULE_10__material_radio__; });
1939
1966
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "ripple", function() { return __WEBPACK_IMPORTED_MODULE_11__material_ripple__; });
1940
1967
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "select", function() { return __WEBPACK_IMPORTED_MODULE_12__material_select__; });
1941
- /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "slider", function() { return __WEBPACK_IMPORTED_MODULE_13__material_slider__; });
1942
- /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "snackbar", function() { return __WEBPACK_IMPORTED_MODULE_14__material_snackbar__; });
1943
- /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "tabs", function() { return __WEBPACK_IMPORTED_MODULE_15__material_tabs__; });
1944
- /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "textfield", function() { return __WEBPACK_IMPORTED_MODULE_16__material_textfield__; });
1945
- /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "toolbar", function() { return __WEBPACK_IMPORTED_MODULE_17__material_toolbar__; });
1968
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "selectionControl", function() { return __WEBPACK_IMPORTED_MODULE_13__material_selection_control__; });
1969
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "slider", function() { return __WEBPACK_IMPORTED_MODULE_14__material_slider__; });
1970
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "snackbar", function() { return __WEBPACK_IMPORTED_MODULE_15__material_snackbar__; });
1971
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "tabs", function() { return __WEBPACK_IMPORTED_MODULE_16__material_tabs__; });
1972
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "textfield", function() { return __WEBPACK_IMPORTED_MODULE_17__material_textfield__; });
1973
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "toolbar", function() { return __WEBPACK_IMPORTED_MODULE_18__material_toolbar__; });
1946
1974
  /**
1947
1975
  * Copyright 2016 Google Inc. All Rights Reserved.
1948
1976
  *
@@ -1977,6 +2005,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1977
2005
 
1978
2006
 
1979
2007
 
2008
+
1980
2009
 
1981
2010
  // Register all components
1982
2011
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCCheckbox', __WEBPACK_IMPORTED_MODULE_2__material_checkbox__["MDCCheckbox"]);
@@ -1989,14 +2018,14 @@ __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('M
1989
2018
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCIconToggle', __WEBPACK_IMPORTED_MODULE_7__material_icon_toggle__["MDCIconToggle"]);
1990
2019
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCLinearProgress', __WEBPACK_IMPORTED_MODULE_8__material_linear_progress__["MDCLinearProgress"]);
1991
2020
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCRadio', __WEBPACK_IMPORTED_MODULE_10__material_radio__["MDCRadio"]);
1992
- __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCSnackbar', __WEBPACK_IMPORTED_MODULE_14__material_snackbar__["MDCSnackbar"]);
1993
- __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCTab', __WEBPACK_IMPORTED_MODULE_15__material_tabs__["MDCTab"]);
1994
- __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCTabBar', __WEBPACK_IMPORTED_MODULE_15__material_tabs__["MDCTabBar"]);
1995
- __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCTextfield', __WEBPACK_IMPORTED_MODULE_16__material_textfield__["MDCTextfield"]);
2021
+ __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCSnackbar', __WEBPACK_IMPORTED_MODULE_15__material_snackbar__["MDCSnackbar"]);
2022
+ __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCTab', __WEBPACK_IMPORTED_MODULE_16__material_tabs__["MDCTab"]);
2023
+ __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCTabBar', __WEBPACK_IMPORTED_MODULE_16__material_tabs__["MDCTabBar"]);
2024
+ __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCTextfield', __WEBPACK_IMPORTED_MODULE_17__material_textfield__["MDCTextfield"]);
1996
2025
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCSimpleMenu', __WEBPACK_IMPORTED_MODULE_9__material_menu__["MDCSimpleMenu"]);
1997
2026
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCSelect', __WEBPACK_IMPORTED_MODULE_12__material_select__["MDCSelect"]);
1998
- __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCSlider', __WEBPACK_IMPORTED_MODULE_13__material_slider__["MDCSlider"]);
1999
- __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCToolbar', __WEBPACK_IMPORTED_MODULE_17__material_toolbar__["MDCToolbar"]);
2027
+ __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCSlider', __WEBPACK_IMPORTED_MODULE_14__material_slider__["MDCSlider"]);
2028
+ __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCToolbar', __WEBPACK_IMPORTED_MODULE_18__material_toolbar__["MDCToolbar"]);
2000
2029
 
2001
2030
  // Export all components.
2002
2031
 
@@ -2091,8 +2120,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2091
2120
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckbox", function() { return MDCCheckbox; });
2092
2121
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_animation__ = __webpack_require__(5);
2093
2122
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_base_component__ = __webpack_require__(2);
2094
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_base_selection_control__ = __webpack_require__(3);
2095
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(20);
2123
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_selection_control__ = __webpack_require__(3);
2124
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(22);
2096
2125
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__material_ripple__ = __webpack_require__(4);
2097
2126
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__material_ripple_util__ = __webpack_require__(8);
2098
2127
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckboxFoundation", function() { return __WEBPACK_IMPORTED_MODULE_3__foundation__["a"]; });
@@ -2137,6 +2166,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
2137
2166
 
2138
2167
  /**
2139
2168
  * @extends MDCComponent<!MDCCheckboxFoundation>
2169
+ * @implements {MDCSelectionControl}
2140
2170
  */
2141
2171
  var MDCCheckbox = function (_MDCComponent) {
2142
2172
  _inherits(MDCCheckbox, _MDCComponent);
@@ -2147,13 +2177,13 @@ var MDCCheckbox = function (_MDCComponent) {
2147
2177
 
2148
2178
  /**
2149
2179
  * Returns the state of the native control element, or null if the native control element is not present.
2150
- * @return {?SelectionControlState}
2180
+ * @return {?MDCSelectionControlState}
2151
2181
  * @private
2152
2182
  */
2153
2183
  get: function get() {
2154
2184
  var NATIVE_CONTROL_SELECTOR = __WEBPACK_IMPORTED_MODULE_3__foundation__["a" /* default */].strings.NATIVE_CONTROL_SELECTOR;
2155
2185
 
2156
- var cbEl = /** @type {?SelectionControlState} */this.root_.querySelector(NATIVE_CONTROL_SELECTOR);
2186
+ var cbEl = /** @type {?MDCSelectionControlState} */this.root_.querySelector(NATIVE_CONTROL_SELECTOR);
2157
2187
  return cbEl;
2158
2188
  }
2159
2189
  }], [{
@@ -2342,9 +2372,9 @@ var MDCCheckbox = function (_MDCComponent) {
2342
2372
 
2343
2373
  "use strict";
2344
2374
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
2345
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_base_selection_control__ = __webpack_require__(3);
2346
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__adapter__ = __webpack_require__(21);
2347
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constants__ = __webpack_require__(22);
2375
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__adapter__ = __webpack_require__(7);
2376
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(21);
2377
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(8);
2348
2378
  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; };
2349
2379
 
2350
2380
  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; }; }();
@@ -2372,456 +2402,618 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
2372
2402
  */
2373
2403
 
2374
2404
 
2375
- /* eslint-disable no-unused-vars */
2376
2405
 
2377
2406
 
2378
- /* eslint-enable no-unused-vars */
2379
2407
 
2380
2408
 
2381
- /** @const {!Array<string>} */
2382
- var CB_PROTO_PROPS = ['checked', 'indeterminate'];
2409
+ /**
2410
+ * @typedef {!{
2411
+ * isActivated: (boolean|undefined),
2412
+ * hasDeactivationUXRun: (boolean|undefined),
2413
+ * wasActivatedByPointer: (boolean|undefined),
2414
+ * wasElementMadeActive: (boolean|undefined),
2415
+ * activationStartTime: (number|undefined),
2416
+ * activationEvent: Event,
2417
+ * isProgrammatic: (boolean|undefined)
2418
+ * }}
2419
+ */
2420
+ var ActivationStateType = void 0;
2383
2421
 
2384
2422
  /**
2385
- * @extends {MDCFoundation<!MDCCheckboxAdapter>}
2423
+ * @typedef {!{
2424
+ * activate: (string|undefined),
2425
+ * deactivate: (string|undefined),
2426
+ * focus: (string|undefined),
2427
+ * blur: (string|undefined)
2428
+ * }}
2386
2429
  */
2430
+ var ListenerInfoType = void 0;
2387
2431
 
2388
- var MDCCheckboxFoundation = function (_MDCFoundation) {
2389
- _inherits(MDCCheckboxFoundation, _MDCFoundation);
2432
+ /**
2433
+ * @typedef {!{
2434
+ * activate: function(!Event),
2435
+ * deactivate: function(!Event),
2436
+ * focus: function(),
2437
+ * blur: function()
2438
+ * }}
2439
+ */
2440
+ var ListenersType = void 0;
2390
2441
 
2391
- _createClass(MDCCheckboxFoundation, null, [{
2392
- key: 'cssClasses',
2442
+ /**
2443
+ * @typedef {!{
2444
+ * x: number,
2445
+ * y: number
2446
+ * }}
2447
+ */
2448
+ var PointType = void 0;
2393
2449
 
2394
- /** @return enum {cssClasses} */
2395
- get: function get() {
2396
- return __WEBPACK_IMPORTED_MODULE_3__constants__["a" /* cssClasses */];
2397
- }
2450
+ /**
2451
+ * @enum {string}
2452
+ */
2453
+ var DEACTIVATION_ACTIVATION_PAIRS = {
2454
+ mouseup: 'mousedown',
2455
+ pointerup: 'pointerdown',
2456
+ touchend: 'touchstart',
2457
+ keyup: 'keydown',
2458
+ blur: 'focus'
2459
+ };
2398
2460
 
2399
- /** @return enum {strings} */
2461
+ /**
2462
+ * @extends {MDCFoundation<!MDCRippleAdapter>}
2463
+ */
2464
+
2465
+ var MDCRippleFoundation = function (_MDCFoundation) {
2466
+ _inherits(MDCRippleFoundation, _MDCFoundation);
2467
+
2468
+ _createClass(MDCRippleFoundation, [{
2469
+ key: 'isSupported_',
2400
2470
 
2471
+
2472
+ /**
2473
+ * We compute this property so that we are not querying information about the client
2474
+ * until the point in time where the foundation requests it. This prevents scenarios where
2475
+ * client-side feature-detection may happen too early, such as when components are rendered on the server
2476
+ * and then initialized at mount time on the client.
2477
+ * @return {boolean}
2478
+ */
2479
+ get: function get() {
2480
+ return this.adapter_.browserSupportsCssVars();
2481
+ }
2482
+ }], [{
2483
+ key: 'cssClasses',
2484
+ get: function get() {
2485
+ return __WEBPACK_IMPORTED_MODULE_2__constants__["a" /* cssClasses */];
2486
+ }
2401
2487
  }, {
2402
2488
  key: 'strings',
2403
2489
  get: function get() {
2404
- return __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */];
2490
+ return __WEBPACK_IMPORTED_MODULE_2__constants__["c" /* strings */];
2405
2491
  }
2406
-
2407
- /** @return enum {numbers} */
2408
-
2409
2492
  }, {
2410
2493
  key: 'numbers',
2411
2494
  get: function get() {
2412
- return __WEBPACK_IMPORTED_MODULE_3__constants__["b" /* numbers */];
2495
+ return __WEBPACK_IMPORTED_MODULE_2__constants__["b" /* numbers */];
2413
2496
  }
2414
-
2415
- /** @return {!MDCCheckboxAdapter} */
2416
-
2417
2497
  }, {
2418
2498
  key: 'defaultAdapter',
2419
2499
  get: function get() {
2420
- return (/** @type {!MDCCheckboxAdapter} */{
2421
- addClass: function addClass() /* className: string */{},
2422
- removeClass: function removeClass() /* className: string */{},
2423
- registerAnimationEndHandler: function registerAnimationEndHandler() /* handler: EventListener */{},
2424
- deregisterAnimationEndHandler: function deregisterAnimationEndHandler() /* handler: EventListener */{},
2425
- registerChangeHandler: function registerChangeHandler() /* handler: EventListener */{},
2426
- deregisterChangeHandler: function deregisterChangeHandler() /* handler: EventListener */{},
2427
- getNativeControl: function getNativeControl() /* !SelectionControlState */{},
2428
- forceLayout: function forceLayout() {},
2429
- isAttachedToDOM: function isAttachedToDOM() /* boolean */{}
2430
- }
2431
- );
2500
+ return {
2501
+ browserSupportsCssVars: function browserSupportsCssVars() /* boolean - cached */{},
2502
+ isUnbounded: function isUnbounded() /* boolean */{},
2503
+ isSurfaceActive: function isSurfaceActive() /* boolean */{},
2504
+ isSurfaceDisabled: function isSurfaceDisabled() /* boolean */{},
2505
+ addClass: function addClass() /* className: string */{},
2506
+ removeClass: function removeClass() /* className: string */{},
2507
+ registerInteractionHandler: function registerInteractionHandler() /* evtType: string, handler: EventListener */{},
2508
+ deregisterInteractionHandler: function deregisterInteractionHandler() /* evtType: string, handler: EventListener */{},
2509
+ registerResizeHandler: function registerResizeHandler() /* handler: EventListener */{},
2510
+ deregisterResizeHandler: function deregisterResizeHandler() /* handler: EventListener */{},
2511
+ updateCssVariable: function updateCssVariable() /* varName: string, value: string */{},
2512
+ computeBoundingRect: function computeBoundingRect() /* ClientRect */{},
2513
+ getWindowPageOffset: function getWindowPageOffset() /* {x: number, y: number} */{}
2514
+ };
2432
2515
  }
2433
2516
  }]);
2434
2517
 
2435
- function MDCCheckboxFoundation(adapter) {
2436
- _classCallCheck(this, MDCCheckboxFoundation);
2518
+ function MDCRippleFoundation(adapter) {
2519
+ _classCallCheck(this, MDCRippleFoundation);
2437
2520
 
2438
- /** @private {string} */
2439
- var _this = _possibleConstructorReturn(this, (MDCCheckboxFoundation.__proto__ || Object.getPrototypeOf(MDCCheckboxFoundation)).call(this, _extends(MDCCheckboxFoundation.defaultAdapter, adapter)));
2521
+ /** @private {number} */
2522
+ var _this = _possibleConstructorReturn(this, (MDCRippleFoundation.__proto__ || Object.getPrototypeOf(MDCRippleFoundation)).call(this, _extends(MDCRippleFoundation.defaultAdapter, adapter)));
2440
2523
 
2441
- _this.currentCheckState_ = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_INIT;
2524
+ _this.layoutFrame_ = 0;
2442
2525
 
2443
- /** @private {string} */
2444
- _this.currentAnimationClass_ = '';
2526
+ /** @private {!ClientRect} */
2527
+ _this.frame_ = /** @type {!ClientRect} */{ width: 0, height: 0 };
2445
2528
 
2446
- /** @private {number} */
2447
- _this.animEndLatchTimer_ = 0;
2529
+ /** @private {!ActivationStateType} */
2530
+ _this.activationState_ = _this.defaultActivationState_();
2448
2531
 
2449
- _this.animEndHandler_ = /** @private {!EventListener} */function () {
2450
- clearTimeout(_this.animEndLatchTimer_);
2451
- _this.animEndLatchTimer_ = setTimeout(function () {
2452
- _this.adapter_.removeClass(_this.currentAnimationClass_);
2453
- _this.adapter_.deregisterAnimationEndHandler(_this.animEndHandler_);
2454
- }, __WEBPACK_IMPORTED_MODULE_3__constants__["b" /* numbers */].ANIM_END_LATCH_MS);
2455
- };
2532
+ /** @private {number} */
2533
+ _this.xfDuration_ = 0;
2456
2534
 
2457
- _this.changeHandler_ = /** @private {!EventListener} */function () {
2458
- return _this.transitionCheckState_();
2459
- };
2460
- return _this;
2461
- }
2535
+ /** @private {number} */
2536
+ _this.initialSize_ = 0;
2462
2537
 
2463
- _createClass(MDCCheckboxFoundation, [{
2464
- key: 'init',
2465
- value: function init() {
2466
- this.adapter_.addClass(__WEBPACK_IMPORTED_MODULE_3__constants__["a" /* cssClasses */].UPGRADED);
2467
- this.adapter_.registerChangeHandler(this.changeHandler_);
2468
- this.installPropertyChangeHooks_();
2469
- }
2470
- }, {
2471
- key: 'destroy',
2472
- value: function destroy() {
2473
- this.adapter_.deregisterChangeHandler(this.changeHandler_);
2474
- this.uninstallPropertyChangeHooks_();
2475
- }
2538
+ /** @private {number} */
2539
+ _this.maxRadius_ = 0;
2476
2540
 
2477
- /** @return {boolean} */
2541
+ /** @private {!Array<{ListenerInfoType}>} */
2542
+ _this.listenerInfos_ = [{ activate: 'touchstart', deactivate: 'touchend' }, { activate: 'pointerdown', deactivate: 'pointerup' }, { activate: 'mousedown', deactivate: 'mouseup' }, { activate: 'keydown', deactivate: 'keyup' }, { focus: 'focus', blur: 'blur' }];
2478
2543
 
2479
- }, {
2480
- key: 'isChecked',
2481
- value: function isChecked() {
2482
- return this.getNativeControl_().checked;
2483
- }
2544
+ /** @private {!ListenersType} */
2545
+ _this.listeners_ = {
2546
+ activate: function activate(e) {
2547
+ return _this.activate_(e);
2548
+ },
2549
+ deactivate: function deactivate(e) {
2550
+ return _this.deactivate_(e);
2551
+ },
2552
+ focus: function focus() {
2553
+ return requestAnimationFrame(function () {
2554
+ return _this.adapter_.addClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);
2555
+ });
2556
+ },
2557
+ blur: function blur() {
2558
+ return requestAnimationFrame(function () {
2559
+ return _this.adapter_.removeClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);
2560
+ });
2561
+ }
2562
+ };
2484
2563
 
2485
- /** @param {boolean} checked */
2564
+ /** @private {!Function} */
2565
+ _this.resizeHandler_ = function () {
2566
+ return _this.layout();
2567
+ };
2486
2568
 
2487
- }, {
2488
- key: 'setChecked',
2489
- value: function setChecked(checked) {
2490
- this.getNativeControl_().checked = checked;
2491
- }
2569
+ /** @private {!{left: number, top:number}} */
2570
+ _this.unboundedCoords_ = {
2571
+ left: 0,
2572
+ top: 0
2573
+ };
2492
2574
 
2493
- /** @return {boolean} */
2575
+ /** @private {number} */
2576
+ _this.fgScale_ = 0;
2494
2577
 
2495
- }, {
2496
- key: 'isIndeterminate',
2497
- value: function isIndeterminate() {
2498
- return this.getNativeControl_().indeterminate;
2499
- }
2578
+ /** @private {number} */
2579
+ _this.activationTimer_ = 0;
2500
2580
 
2501
- /** @param {boolean} indeterminate */
2581
+ /** @private {number} */
2582
+ _this.fgDeactivationRemovalTimer_ = 0;
2502
2583
 
2503
- }, {
2504
- key: 'setIndeterminate',
2505
- value: function setIndeterminate(indeterminate) {
2506
- this.getNativeControl_().indeterminate = indeterminate;
2507
- }
2584
+ /** @private {boolean} */
2585
+ _this.activationAnimationHasEnded_ = false;
2508
2586
 
2509
- /** @return {boolean} */
2587
+ /** @private {!Function} */
2588
+ _this.activationTimerCallback_ = function () {
2589
+ _this.activationAnimationHasEnded_ = true;
2590
+ _this.runDeactivationUXLogicIfReady_();
2591
+ };
2592
+ return _this;
2593
+ }
2510
2594
 
2511
- }, {
2512
- key: 'isDisabled',
2513
- value: function isDisabled() {
2514
- return this.getNativeControl_().disabled;
2515
- }
2595
+ /**
2596
+ * @return {!ActivationStateType}
2597
+ */
2516
2598
 
2517
- /** @param {boolean} disabled */
2518
2599
 
2600
+ _createClass(MDCRippleFoundation, [{
2601
+ key: 'defaultActivationState_',
2602
+ value: function defaultActivationState_() {
2603
+ return {
2604
+ isActivated: false,
2605
+ hasDeactivationUXRun: false,
2606
+ wasActivatedByPointer: false,
2607
+ wasElementMadeActive: false,
2608
+ activationStartTime: 0,
2609
+ activationEvent: null,
2610
+ isProgrammatic: false
2611
+ };
2612
+ }
2519
2613
  }, {
2520
- key: 'setDisabled',
2521
- value: function setDisabled(disabled) {
2522
- this.getNativeControl_().disabled = disabled;
2523
- if (disabled) {
2524
- this.adapter_.addClass(__WEBPACK_IMPORTED_MODULE_3__constants__["a" /* cssClasses */].DISABLED);
2525
- } else {
2526
- this.adapter_.removeClass(__WEBPACK_IMPORTED_MODULE_3__constants__["a" /* cssClasses */].DISABLED);
2614
+ key: 'init',
2615
+ value: function init() {
2616
+ var _this2 = this;
2617
+
2618
+ if (!this.isSupported_) {
2619
+ return;
2527
2620
  }
2528
- }
2621
+ this.addEventListeners_();
2529
2622
 
2530
- /** @return {?string} */
2623
+ var _MDCRippleFoundation$ = MDCRippleFoundation.cssClasses,
2624
+ ROOT = _MDCRippleFoundation$.ROOT,
2625
+ UNBOUNDED = _MDCRippleFoundation$.UNBOUNDED;
2531
2626
 
2532
- }, {
2533
- key: 'getValue',
2534
- value: function getValue() {
2535
- return this.getNativeControl_().value;
2627
+ requestAnimationFrame(function () {
2628
+ _this2.adapter_.addClass(ROOT);
2629
+ if (_this2.adapter_.isUnbounded()) {
2630
+ _this2.adapter_.addClass(UNBOUNDED);
2631
+ }
2632
+ _this2.layoutInternal_();
2633
+ });
2536
2634
  }
2537
2635
 
2538
- /** @param {?string} value */
2636
+ /** @private */
2539
2637
 
2540
2638
  }, {
2541
- key: 'setValue',
2542
- value: function setValue(value) {
2543
- this.getNativeControl_().value = value;
2639
+ key: 'addEventListeners_',
2640
+ value: function addEventListeners_() {
2641
+ var _this3 = this;
2642
+
2643
+ this.listenerInfos_.forEach(function (info) {
2644
+ Object.keys(info).forEach(function (k) {
2645
+ _this3.adapter_.registerInteractionHandler(info[k], _this3.listeners_[k]);
2646
+ });
2647
+ });
2648
+ this.adapter_.registerResizeHandler(this.resizeHandler_);
2544
2649
  }
2545
2650
 
2546
- /** @private */
2651
+ /**
2652
+ * @param {Event} e
2653
+ * @private
2654
+ */
2547
2655
 
2548
2656
  }, {
2549
- key: 'installPropertyChangeHooks_',
2550
- value: function installPropertyChangeHooks_() {
2551
- var _this2 = this;
2657
+ key: 'activate_',
2658
+ value: function activate_(e) {
2659
+ var _this4 = this;
2552
2660
 
2553
- var nativeCb = this.getNativeControl_();
2554
- var cbProto = Object.getPrototypeOf(nativeCb);
2661
+ if (this.adapter_.isSurfaceDisabled()) {
2662
+ return;
2663
+ }
2555
2664
 
2556
- CB_PROTO_PROPS.forEach(function (controlState) {
2557
- var desc = Object.getOwnPropertyDescriptor(cbProto, controlState);
2558
- // We have to check for this descriptor, since some browsers (Safari) don't support its return.
2559
- // See: https://bugs.webkit.org/show_bug.cgi?id=49739
2560
- if (validDescriptor(desc)) {
2561
- var nativeCbDesc = /** @type {!ObjectPropertyDescriptor} */{
2562
- get: desc.get,
2563
- set: function set(state) {
2564
- desc.set.call(nativeCb, state);
2565
- _this2.transitionCheckState_();
2566
- },
2567
- configurable: desc.configurable,
2568
- enumerable: desc.enumerable
2569
- };
2570
- Object.defineProperty(nativeCb, controlState, nativeCbDesc);
2571
- }
2572
- });
2573
- }
2665
+ var activationState = this.activationState_;
2574
2666
 
2575
- /** @private */
2667
+ if (activationState.isActivated) {
2668
+ return;
2669
+ }
2576
2670
 
2577
- }, {
2578
- key: 'uninstallPropertyChangeHooks_',
2579
- value: function uninstallPropertyChangeHooks_() {
2580
- var nativeCb = this.getNativeControl_();
2581
- var cbProto = Object.getPrototypeOf(nativeCb);
2671
+ activationState.isActivated = true;
2672
+ activationState.isProgrammatic = e === null;
2673
+ activationState.activationEvent = e;
2674
+ activationState.wasActivatedByPointer = activationState.isProgrammatic ? false : e.type === 'mousedown' || e.type === 'touchstart' || e.type === 'pointerdown';
2675
+ activationState.activationStartTime = Date.now();
2582
2676
 
2583
- CB_PROTO_PROPS.forEach(function (controlState) {
2584
- var desc = /** @type {!ObjectPropertyDescriptor} */Object.getOwnPropertyDescriptor(cbProto, controlState);
2585
- if (validDescriptor(desc)) {
2586
- Object.defineProperty(nativeCb, controlState, desc);
2677
+ requestAnimationFrame(function () {
2678
+ // This needs to be wrapped in an rAF call b/c web browsers
2679
+ // report active states inconsistently when they're called within
2680
+ // event handling code:
2681
+ // - https://bugs.chromium.org/p/chromium/issues/detail?id=635971
2682
+ // - https://bugzilla.mozilla.org/show_bug.cgi?id=1293741
2683
+ activationState.wasElementMadeActive = e && e.type === 'keydown' ? _this4.adapter_.isSurfaceActive() : true;
2684
+ if (activationState.wasElementMadeActive) {
2685
+ _this4.animateActivation_();
2686
+ } else {
2687
+ // Reset activation state immediately if element was not made active.
2688
+ _this4.activationState_ = _this4.defaultActivationState_();
2587
2689
  }
2588
2690
  });
2589
2691
  }
2692
+ }, {
2693
+ key: 'activate',
2694
+ value: function activate() {
2695
+ this.activate_(null);
2696
+ }
2590
2697
 
2591
2698
  /** @private */
2592
2699
 
2593
2700
  }, {
2594
- key: 'transitionCheckState_',
2595
- value: function transitionCheckState_() {
2596
- var nativeCb = this.adapter_.getNativeControl();
2597
- if (!nativeCb) {
2598
- return;
2599
- }
2600
- var oldState = this.currentCheckState_;
2601
- var newState = this.determineCheckState_(nativeCb);
2602
- if (oldState === newState) {
2603
- return;
2604
- }
2701
+ key: 'animateActivation_',
2702
+ value: function animateActivation_() {
2703
+ var _this5 = this;
2605
2704
 
2606
- // Check to ensure that there isn't a previously existing animation class, in case for example
2607
- // the user interacted with the checkbox before the animation was finished.
2608
- if (this.currentAnimationClass_.length > 0) {
2609
- clearTimeout(this.animEndLatchTimer_);
2610
- this.adapter_.forceLayout();
2611
- this.adapter_.removeClass(this.currentAnimationClass_);
2612
- }
2705
+ var _MDCRippleFoundation$2 = MDCRippleFoundation.strings,
2706
+ VAR_FG_TRANSLATE_START = _MDCRippleFoundation$2.VAR_FG_TRANSLATE_START,
2707
+ VAR_FG_TRANSLATE_END = _MDCRippleFoundation$2.VAR_FG_TRANSLATE_END;
2708
+ var _MDCRippleFoundation$3 = MDCRippleFoundation.cssClasses,
2709
+ BG_ACTIVE_FILL = _MDCRippleFoundation$3.BG_ACTIVE_FILL,
2710
+ FG_DEACTIVATION = _MDCRippleFoundation$3.FG_DEACTIVATION,
2711
+ FG_ACTIVATION = _MDCRippleFoundation$3.FG_ACTIVATION;
2712
+ var DEACTIVATION_TIMEOUT_MS = MDCRippleFoundation.numbers.DEACTIVATION_TIMEOUT_MS;
2613
2713
 
2614
- this.currentAnimationClass_ = this.getTransitionAnimationClass_(oldState, newState);
2615
- this.currentCheckState_ = newState;
2616
2714
 
2617
- // Check for parentNode so that animations are only run when the element is attached
2618
- // to the DOM.
2619
- if (this.adapter_.isAttachedToDOM() && this.currentAnimationClass_.length > 0) {
2620
- this.adapter_.addClass(this.currentAnimationClass_);
2621
- this.adapter_.registerAnimationEndHandler(this.animEndHandler_);
2715
+ var translateStart = '';
2716
+ var translateEnd = '';
2717
+
2718
+ if (!this.adapter_.isUnbounded()) {
2719
+ var _getFgTranslationCoor = this.getFgTranslationCoordinates_(),
2720
+ startPoint = _getFgTranslationCoor.startPoint,
2721
+ endPoint = _getFgTranslationCoor.endPoint;
2722
+
2723
+ translateStart = startPoint.x + 'px, ' + startPoint.y + 'px';
2724
+ translateEnd = endPoint.x + 'px, ' + endPoint.y + 'px';
2622
2725
  }
2726
+
2727
+ this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_START, translateStart);
2728
+ this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_END, translateEnd);
2729
+ // Cancel any ongoing activation/deactivation animations
2730
+ clearTimeout(this.activationTimer_);
2731
+ clearTimeout(this.fgDeactivationRemovalTimer_);
2732
+ this.rmBoundedActivationClasses_();
2733
+ this.adapter_.removeClass(FG_DEACTIVATION);
2734
+
2735
+ // Force layout in order to re-trigger the animation.
2736
+ this.adapter_.computeBoundingRect();
2737
+ this.adapter_.addClass(BG_ACTIVE_FILL);
2738
+ this.adapter_.addClass(FG_ACTIVATION);
2739
+ this.activationTimer_ = setTimeout(function () {
2740
+ return _this5.activationTimerCallback_();
2741
+ }, DEACTIVATION_TIMEOUT_MS);
2623
2742
  }
2624
2743
 
2625
2744
  /**
2626
- * @param {!SelectionControlState} nativeCb
2627
- * @return {string}
2628
2745
  * @private
2746
+ * @return {{startPoint: PointType, endPoint: PointType}}
2629
2747
  */
2630
2748
 
2631
2749
  }, {
2632
- key: 'determineCheckState_',
2633
- value: function determineCheckState_(nativeCb) {
2634
- var TRANSITION_STATE_INDETERMINATE = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_INDETERMINATE,
2635
- TRANSITION_STATE_CHECKED = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_CHECKED,
2636
- TRANSITION_STATE_UNCHECKED = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_UNCHECKED;
2750
+ key: 'getFgTranslationCoordinates_',
2751
+ value: function getFgTranslationCoordinates_() {
2752
+ var activationState = this.activationState_;
2753
+ var activationEvent = activationState.activationEvent,
2754
+ wasActivatedByPointer = activationState.wasActivatedByPointer;
2637
2755
 
2638
2756
 
2639
- if (nativeCb.indeterminate) {
2640
- return TRANSITION_STATE_INDETERMINATE;
2757
+ var startPoint = void 0;
2758
+ if (wasActivatedByPointer) {
2759
+ startPoint = Object(__WEBPACK_IMPORTED_MODULE_3__util__["getNormalizedEventCoords"])(
2760
+ /** @type {!Event} */activationEvent, this.adapter_.getWindowPageOffset(), this.adapter_.computeBoundingRect());
2761
+ } else {
2762
+ startPoint = {
2763
+ x: this.frame_.width / 2,
2764
+ y: this.frame_.height / 2
2765
+ };
2641
2766
  }
2642
- return nativeCb.checked ? TRANSITION_STATE_CHECKED : TRANSITION_STATE_UNCHECKED;
2767
+ // Center the element around the start point.
2768
+ startPoint = {
2769
+ x: startPoint.x - this.initialSize_ / 2,
2770
+ y: startPoint.y - this.initialSize_ / 2
2771
+ };
2772
+
2773
+ var endPoint = {
2774
+ x: this.frame_.width / 2 - this.initialSize_ / 2,
2775
+ y: this.frame_.height / 2 - this.initialSize_ / 2
2776
+ };
2777
+
2778
+ return { startPoint: startPoint, endPoint: endPoint };
2643
2779
  }
2644
2780
 
2645
- /**
2646
- * @param {string} oldState
2647
- * @param {string} newState
2648
- * @return {string}
2649
- */
2781
+ /** @private */
2650
2782
 
2651
2783
  }, {
2652
- key: 'getTransitionAnimationClass_',
2653
- value: function getTransitionAnimationClass_(oldState, newState) {
2654
- var TRANSITION_STATE_INIT = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_INIT,
2655
- TRANSITION_STATE_CHECKED = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_CHECKED,
2656
- TRANSITION_STATE_UNCHECKED = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_UNCHECKED;
2657
- var _MDCCheckboxFoundatio = MDCCheckboxFoundation.cssClasses,
2658
- ANIM_UNCHECKED_CHECKED = _MDCCheckboxFoundatio.ANIM_UNCHECKED_CHECKED,
2659
- ANIM_UNCHECKED_INDETERMINATE = _MDCCheckboxFoundatio.ANIM_UNCHECKED_INDETERMINATE,
2660
- ANIM_CHECKED_UNCHECKED = _MDCCheckboxFoundatio.ANIM_CHECKED_UNCHECKED,
2661
- ANIM_CHECKED_INDETERMINATE = _MDCCheckboxFoundatio.ANIM_CHECKED_INDETERMINATE,
2662
- ANIM_INDETERMINATE_CHECKED = _MDCCheckboxFoundatio.ANIM_INDETERMINATE_CHECKED,
2663
- ANIM_INDETERMINATE_UNCHECKED = _MDCCheckboxFoundatio.ANIM_INDETERMINATE_UNCHECKED;
2784
+ key: 'runDeactivationUXLogicIfReady_',
2785
+ value: function runDeactivationUXLogicIfReady_() {
2786
+ var _this6 = this;
2664
2787
 
2788
+ var FG_DEACTIVATION = MDCRippleFoundation.cssClasses.FG_DEACTIVATION;
2789
+ var _activationState_ = this.activationState_,
2790
+ hasDeactivationUXRun = _activationState_.hasDeactivationUXRun,
2791
+ isActivated = _activationState_.isActivated;
2665
2792
 
2666
- switch (oldState) {
2667
- case TRANSITION_STATE_INIT:
2668
- if (newState === TRANSITION_STATE_UNCHECKED) {
2669
- return '';
2670
- }
2671
- // fallthrough
2672
- case TRANSITION_STATE_UNCHECKED:
2673
- return newState === TRANSITION_STATE_CHECKED ? ANIM_UNCHECKED_CHECKED : ANIM_UNCHECKED_INDETERMINATE;
2674
- case TRANSITION_STATE_CHECKED:
2675
- return newState === TRANSITION_STATE_UNCHECKED ? ANIM_CHECKED_UNCHECKED : ANIM_CHECKED_INDETERMINATE;
2676
- // TRANSITION_STATE_INDETERMINATE
2677
- default:
2678
- return newState === TRANSITION_STATE_CHECKED ? ANIM_INDETERMINATE_CHECKED : ANIM_INDETERMINATE_UNCHECKED;
2793
+ var activationHasEnded = hasDeactivationUXRun || !isActivated;
2794
+ if (activationHasEnded && this.activationAnimationHasEnded_) {
2795
+ this.rmBoundedActivationClasses_();
2796
+ this.adapter_.addClass(FG_DEACTIVATION);
2797
+ this.fgDeactivationRemovalTimer_ = setTimeout(function () {
2798
+ _this6.adapter_.removeClass(FG_DEACTIVATION);
2799
+ }, __WEBPACK_IMPORTED_MODULE_2__constants__["b" /* numbers */].FG_DEACTIVATION_MS);
2679
2800
  }
2680
2801
  }
2681
2802
 
2803
+ /** @private */
2804
+
2805
+ }, {
2806
+ key: 'rmBoundedActivationClasses_',
2807
+ value: function rmBoundedActivationClasses_() {
2808
+ var _MDCRippleFoundation$4 = MDCRippleFoundation.cssClasses,
2809
+ BG_ACTIVE_FILL = _MDCRippleFoundation$4.BG_ACTIVE_FILL,
2810
+ FG_ACTIVATION = _MDCRippleFoundation$4.FG_ACTIVATION;
2811
+
2812
+ this.adapter_.removeClass(BG_ACTIVE_FILL);
2813
+ this.adapter_.removeClass(FG_ACTIVATION);
2814
+ this.activationAnimationHasEnded_ = false;
2815
+ this.adapter_.computeBoundingRect();
2816
+ }
2817
+
2682
2818
  /**
2683
- * @return {!SelectionControlState}
2819
+ * @param {Event} e
2684
2820
  * @private
2685
2821
  */
2686
2822
 
2687
2823
  }, {
2688
- key: 'getNativeControl_',
2689
- value: function getNativeControl_() {
2690
- return this.adapter_.getNativeControl() || {
2691
- checked: false,
2692
- indeterminate: false,
2693
- disabled: false,
2694
- value: null
2695
- };
2696
- }
2697
- }]);
2698
-
2699
- return MDCCheckboxFoundation;
2700
- }(__WEBPACK_IMPORTED_MODULE_0__material_base_foundation__["a" /* default */]);
2824
+ key: 'deactivate_',
2825
+ value: function deactivate_(e) {
2826
+ var _this7 = this;
2701
2827
 
2702
- /**
2703
- * @param {ObjectPropertyDescriptor|undefined} inputPropDesc
2704
- * @return {boolean}
2705
- */
2828
+ var activationState = this.activationState_;
2829
+ // This can happen in scenarios such as when you have a keyup event that blurs the element.
2706
2830
 
2831
+ if (!activationState.isActivated) {
2832
+ return;
2833
+ }
2834
+ // Programmatic deactivation.
2835
+ if (activationState.isProgrammatic) {
2836
+ var evtObject = null;
2837
+ var _state = /** @type {!ActivationStateType} */_extends({}, activationState);
2838
+ requestAnimationFrame(function () {
2839
+ return _this7.animateDeactivation_(evtObject, _state);
2840
+ });
2841
+ this.activationState_ = this.defaultActivationState_();
2842
+ return;
2843
+ }
2707
2844
 
2708
- /* harmony default export */ __webpack_exports__["a"] = (MDCCheckboxFoundation);
2709
- function validDescriptor(inputPropDesc) {
2710
- return !!inputPropDesc && typeof inputPropDesc.set === 'function';
2711
- }
2845
+ var actualActivationType = DEACTIVATION_ACTIVATION_PAIRS[e.type];
2846
+ var expectedActivationType = activationState.activationEvent.type;
2847
+ // NOTE: Pointer events are tricky - https://patrickhlauke.github.io/touch/tests/results/
2848
+ // Essentially, what we need to do here is decouple the deactivation UX from the actual
2849
+ // deactivation state itself. This way, touch/pointer events in sequence do not trample one
2850
+ // another.
2851
+ var needsDeactivationUX = actualActivationType === expectedActivationType;
2852
+ var needsActualDeactivation = needsDeactivationUX;
2853
+ if (activationState.wasActivatedByPointer) {
2854
+ needsActualDeactivation = e.type === 'mouseup';
2855
+ }
2712
2856
 
2713
- /***/ }),
2714
- /* 21 */
2715
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
2857
+ var state = /** @type {!ActivationStateType} */_extends({}, activationState);
2858
+ requestAnimationFrame(function () {
2859
+ if (needsDeactivationUX) {
2860
+ _this7.activationState_.hasDeactivationUXRun = true;
2861
+ _this7.animateDeactivation_(e, state);
2862
+ }
2716
2863
 
2717
- "use strict";
2718
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_selection_control__ = __webpack_require__(3);
2719
- 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; }; }();
2864
+ if (needsActualDeactivation) {
2865
+ _this7.activationState_ = _this7.defaultActivationState_();
2866
+ }
2867
+ });
2868
+ }
2869
+ }, {
2870
+ key: 'deactivate',
2871
+ value: function deactivate() {
2872
+ this.deactivate_(null);
2873
+ }
2720
2874
 
2721
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2875
+ /**
2876
+ * @param {Event} e
2877
+ * @param {!ActivationStateType} options
2878
+ * @private
2879
+ */
2722
2880
 
2723
- /**
2724
- * Copyright 2016 Google Inc. All Rights Reserved.
2725
- *
2726
- * Licensed under the Apache License, Version 2.0 (the "License");
2727
- * you may not use this file except in compliance with the License.
2728
- * You may obtain a copy of the License at
2729
- *
2730
- * http://www.apache.org/licenses/LICENSE-2.0
2731
- *
2732
- * Unless required by applicable law or agreed to in writing, software
2733
- * distributed under the License is distributed on an "AS IS" BASIS,
2734
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2735
- * See the License for the specific language governing permissions and
2736
- * limitations under the License.
2737
- */
2881
+ }, {
2882
+ key: 'animateDeactivation_',
2883
+ value: function animateDeactivation_(e, _ref) {
2884
+ var wasActivatedByPointer = _ref.wasActivatedByPointer,
2885
+ wasElementMadeActive = _ref.wasElementMadeActive;
2886
+ var BG_FOCUSED = MDCRippleFoundation.cssClasses.BG_FOCUSED;
2738
2887
 
2739
- /* eslint-disable no-unused-vars */
2888
+ if (wasActivatedByPointer || wasElementMadeActive) {
2889
+ // Remove class left over by element being focused
2890
+ this.adapter_.removeClass(BG_FOCUSED);
2891
+ this.runDeactivationUXLogicIfReady_();
2892
+ }
2893
+ }
2894
+ }, {
2895
+ key: 'destroy',
2896
+ value: function destroy() {
2897
+ var _this8 = this;
2740
2898
 
2899
+ if (!this.isSupported_) {
2900
+ return;
2901
+ }
2902
+ this.removeEventListeners_();
2741
2903
 
2742
- /* eslint no-unused-vars: [2, {"args": "none"}] */
2904
+ var _MDCRippleFoundation$5 = MDCRippleFoundation.cssClasses,
2905
+ ROOT = _MDCRippleFoundation$5.ROOT,
2906
+ UNBOUNDED = _MDCRippleFoundation$5.UNBOUNDED;
2743
2907
 
2744
- /**
2745
- * Adapter for MDC Checkbox. Provides an interface for managing
2746
- * - classes
2747
- * - dom
2748
- * - event handlers
2749
- *
2750
- * Additionally, provides type information for the adapter to the Closure
2751
- * compiler.
2752
- *
2753
- * Implement this adapter for your framework of choice to delegate updates to
2754
- * the component in your framework of choice. See architecture documentation
2755
- * for more details.
2756
- * https://github.com/material-components/material-components-web/blob/master/docs/architecture.md
2757
- *
2758
- * @record
2759
- */
2908
+ requestAnimationFrame(function () {
2909
+ _this8.adapter_.removeClass(ROOT);
2910
+ _this8.adapter_.removeClass(UNBOUNDED);
2911
+ _this8.removeCssVars_();
2912
+ });
2913
+ }
2760
2914
 
2761
- var MDCCheckboxAdapter = function () {
2762
- function MDCCheckboxAdapter() {
2763
- _classCallCheck(this, MDCCheckboxAdapter);
2764
- }
2915
+ /** @private */
2765
2916
 
2766
- _createClass(MDCCheckboxAdapter, [{
2767
- key: 'addClass',
2917
+ }, {
2918
+ key: 'removeEventListeners_',
2919
+ value: function removeEventListeners_() {
2920
+ var _this9 = this;
2768
2921
 
2769
- /** @param {string} className */
2770
- value: function addClass(className) {}
2922
+ this.listenerInfos_.forEach(function (info) {
2923
+ Object.keys(info).forEach(function (k) {
2924
+ _this9.adapter_.deregisterInteractionHandler(info[k], _this9.listeners_[k]);
2925
+ });
2926
+ });
2927
+ this.adapter_.deregisterResizeHandler(this.resizeHandler_);
2928
+ }
2771
2929
 
2772
- /** @param {string} className */
2930
+ /** @private */
2773
2931
 
2774
2932
  }, {
2775
- key: 'removeClass',
2776
- value: function removeClass(className) {}
2933
+ key: 'removeCssVars_',
2934
+ value: function removeCssVars_() {
2935
+ var _this10 = this;
2777
2936
 
2778
- /** @param {!EventListener} handler */
2937
+ var strings = MDCRippleFoundation.strings;
2779
2938
 
2939
+ Object.keys(strings).forEach(function (k) {
2940
+ if (k.indexOf('VAR_') === 0) {
2941
+ _this10.adapter_.updateCssVariable(strings[k], null);
2942
+ }
2943
+ });
2944
+ }
2780
2945
  }, {
2781
- key: 'registerAnimationEndHandler',
2782
- value: function registerAnimationEndHandler(handler) {}
2946
+ key: 'layout',
2947
+ value: function layout() {
2948
+ var _this11 = this;
2783
2949
 
2784
- /** @param {!EventListener} handler */
2950
+ if (this.layoutFrame_) {
2951
+ cancelAnimationFrame(this.layoutFrame_);
2952
+ }
2953
+ this.layoutFrame_ = requestAnimationFrame(function () {
2954
+ _this11.layoutInternal_();
2955
+ _this11.layoutFrame_ = 0;
2956
+ });
2957
+ }
2958
+
2959
+ /** @private */
2785
2960
 
2786
2961
  }, {
2787
- key: 'deregisterAnimationEndHandler',
2788
- value: function deregisterAnimationEndHandler(handler) {}
2962
+ key: 'layoutInternal_',
2963
+ value: function layoutInternal_() {
2964
+ this.frame_ = this.adapter_.computeBoundingRect();
2789
2965
 
2790
- /** @param {!EventListener} handler */
2966
+ var maxDim = Math.max(this.frame_.height, this.frame_.width);
2967
+ var surfaceDiameter = Math.sqrt(Math.pow(this.frame_.width, 2) + Math.pow(this.frame_.height, 2));
2791
2968
 
2792
- }, {
2793
- key: 'registerChangeHandler',
2794
- value: function registerChangeHandler(handler) {}
2969
+ // 60% of the largest dimension of the surface
2970
+ this.initialSize_ = maxDim * MDCRippleFoundation.numbers.INITIAL_ORIGIN_SCALE;
2795
2971
 
2796
- /** @param {!EventListener} handler */
2972
+ // Diameter of the surface + 10px
2973
+ this.maxRadius_ = surfaceDiameter + MDCRippleFoundation.numbers.PADDING;
2974
+ this.fgScale_ = this.maxRadius_ / this.initialSize_;
2975
+ this.xfDuration_ = 1000 * Math.sqrt(this.maxRadius_ / 1024);
2976
+ this.updateLayoutCssVars_();
2977
+ }
2978
+
2979
+ /** @private */
2797
2980
 
2798
2981
  }, {
2799
- key: 'deregisterChangeHandler',
2800
- value: function deregisterChangeHandler(handler) {}
2982
+ key: 'updateLayoutCssVars_',
2983
+ value: function updateLayoutCssVars_() {
2984
+ var _MDCRippleFoundation$6 = MDCRippleFoundation.strings,
2985
+ VAR_SURFACE_WIDTH = _MDCRippleFoundation$6.VAR_SURFACE_WIDTH,
2986
+ VAR_SURFACE_HEIGHT = _MDCRippleFoundation$6.VAR_SURFACE_HEIGHT,
2987
+ VAR_FG_SIZE = _MDCRippleFoundation$6.VAR_FG_SIZE,
2988
+ VAR_LEFT = _MDCRippleFoundation$6.VAR_LEFT,
2989
+ VAR_TOP = _MDCRippleFoundation$6.VAR_TOP,
2990
+ VAR_FG_SCALE = _MDCRippleFoundation$6.VAR_FG_SCALE;
2801
2991
 
2802
- /** @return {!SelectionControlState} */
2803
2992
 
2804
- }, {
2805
- key: 'getNativeControl',
2806
- value: function getNativeControl() {}
2807
- }, {
2808
- key: 'forceLayout',
2809
- value: function forceLayout() {}
2993
+ this.adapter_.updateCssVariable(VAR_SURFACE_WIDTH, this.frame_.width + 'px');
2994
+ this.adapter_.updateCssVariable(VAR_SURFACE_HEIGHT, this.frame_.height + 'px');
2995
+ this.adapter_.updateCssVariable(VAR_FG_SIZE, this.initialSize_ + 'px');
2996
+ this.adapter_.updateCssVariable(VAR_FG_SCALE, this.fgScale_);
2810
2997
 
2811
- /** @return {boolean} */
2998
+ if (this.adapter_.isUnbounded()) {
2999
+ this.unboundedCoords_ = {
3000
+ left: Math.round(this.frame_.width / 2 - this.initialSize_ / 2),
3001
+ top: Math.round(this.frame_.height / 2 - this.initialSize_ / 2)
3002
+ };
2812
3003
 
2813
- }, {
2814
- key: 'isAttachedToDOM',
2815
- value: function isAttachedToDOM() {}
3004
+ this.adapter_.updateCssVariable(VAR_LEFT, this.unboundedCoords_.left + 'px');
3005
+ this.adapter_.updateCssVariable(VAR_TOP, this.unboundedCoords_.top + 'px');
3006
+ }
3007
+ }
2816
3008
  }]);
2817
3009
 
2818
- return MDCCheckboxAdapter;
2819
- }();
3010
+ return MDCRippleFoundation;
3011
+ }(__WEBPACK_IMPORTED_MODULE_0__material_base_foundation__["a" /* default */]);
2820
3012
 
2821
- /* unused harmony default export */ var _unused_webpack_default_export = (MDCCheckboxAdapter);
3013
+ /* harmony default export */ __webpack_exports__["a"] = (MDCRippleFoundation);
2822
3014
 
2823
3015
  /***/ }),
2824
- /* 22 */
3016
+ /* 21 */
2825
3017
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2826
3018
 
2827
3019
  "use strict";
@@ -2844,682 +3036,519 @@ var MDCCheckboxAdapter = function () {
2844
3036
  * limitations under the License.
2845
3037
  */
2846
3038
 
2847
- /** @const {string} */
2848
- var ROOT = 'mdc-checkbox';
2849
-
2850
- /** @enum {string} */
2851
3039
  var cssClasses = {
2852
- UPGRADED: 'mdc-checkbox--upgraded',
2853
- CHECKED: 'mdc-checkbox--checked',
2854
- INDETERMINATE: 'mdc-checkbox--indeterminate',
2855
- DISABLED: 'mdc-checkbox--disabled',
2856
- ANIM_UNCHECKED_CHECKED: 'mdc-checkbox--anim-unchecked-checked',
2857
- ANIM_UNCHECKED_INDETERMINATE: 'mdc-checkbox--anim-unchecked-indeterminate',
2858
- ANIM_CHECKED_UNCHECKED: 'mdc-checkbox--anim-checked-unchecked',
2859
- ANIM_CHECKED_INDETERMINATE: 'mdc-checkbox--anim-checked-indeterminate',
2860
- ANIM_INDETERMINATE_CHECKED: 'mdc-checkbox--anim-indeterminate-checked',
2861
- ANIM_INDETERMINATE_UNCHECKED: 'mdc-checkbox--anim-indeterminate-unchecked'
3040
+ // Ripple is a special case where the "root" component is really a "mixin" of sorts,
3041
+ // given that it's an 'upgrade' to an existing component. That being said it is the root
3042
+ // CSS class that all other CSS classes derive from.
3043
+ ROOT: 'mdc-ripple-upgraded',
3044
+ UNBOUNDED: 'mdc-ripple-upgraded--unbounded',
3045
+ BG_FOCUSED: 'mdc-ripple-upgraded--background-focused',
3046
+ BG_ACTIVE_FILL: 'mdc-ripple-upgraded--background-active-fill',
3047
+ FG_ACTIVATION: 'mdc-ripple-upgraded--foreground-activation',
3048
+ FG_DEACTIVATION: 'mdc-ripple-upgraded--foreground-deactivation'
2862
3049
  };
2863
3050
 
2864
- /** @enum {string} */
2865
3051
  var strings = {
2866
- NATIVE_CONTROL_SELECTOR: '.' + ROOT + '__native-control',
2867
- TRANSITION_STATE_INIT: 'init',
2868
- TRANSITION_STATE_CHECKED: 'checked',
2869
- TRANSITION_STATE_UNCHECKED: 'unchecked',
2870
- TRANSITION_STATE_INDETERMINATE: 'indeterminate'
3052
+ VAR_SURFACE_WIDTH: '--mdc-ripple-surface-width',
3053
+ VAR_SURFACE_HEIGHT: '--mdc-ripple-surface-height',
3054
+ VAR_FG_SIZE: '--mdc-ripple-fg-size',
3055
+ VAR_LEFT: '--mdc-ripple-left',
3056
+ VAR_TOP: '--mdc-ripple-top',
3057
+ VAR_FG_SCALE: '--mdc-ripple-fg-scale',
3058
+ VAR_FG_TRANSLATE_START: '--mdc-ripple-fg-translate-start',
3059
+ VAR_FG_TRANSLATE_END: '--mdc-ripple-fg-translate-end'
2871
3060
  };
2872
3061
 
2873
- /** @enum {number} */
2874
3062
  var numbers = {
2875
- ANIM_END_LATCH_MS: 100
2876
- };
2877
-
2878
- /***/ }),
2879
- /* 23 */
2880
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
2881
-
2882
- "use strict";
2883
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
2884
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__adapter__ = __webpack_require__(7);
2885
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(24);
2886
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(8);
2887
- 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; };
2888
-
2889
- 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; }; }();
2890
-
2891
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2892
-
2893
- 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; }
2894
-
2895
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
2896
-
2897
- /**
2898
- * Copyright 2016 Google Inc. All Rights Reserved.
2899
- *
2900
- * Licensed under the Apache License, Version 2.0 (the "License");
2901
- * you may not use this file except in compliance with the License.
2902
- * You may obtain a copy of the License at
2903
- *
2904
- * http://www.apache.org/licenses/LICENSE-2.0
2905
- *
2906
- * Unless required by applicable law or agreed to in writing, software
2907
- * distributed under the License is distributed on an "AS IS" BASIS,
2908
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2909
- * See the License for the specific language governing permissions and
2910
- * limitations under the License.
2911
- */
2912
-
2913
-
2914
-
2915
-
2916
-
2917
-
2918
- /**
2919
- * @typedef {!{
2920
- * isActivated: (boolean|undefined),
2921
- * hasDeactivationUXRun: (boolean|undefined),
2922
- * wasActivatedByPointer: (boolean|undefined),
2923
- * wasElementMadeActive: (boolean|undefined),
2924
- * activationStartTime: (number|undefined),
2925
- * activationEvent: Event,
2926
- * isProgrammatic: (boolean|undefined)
2927
- * }}
2928
- */
2929
- var ActivationStateType = void 0;
2930
-
2931
- /**
2932
- * @typedef {!{
2933
- * activate: (string|undefined),
2934
- * deactivate: (string|undefined),
2935
- * focus: (string|undefined),
2936
- * blur: (string|undefined)
2937
- * }}
2938
- */
2939
- var ListenerInfoType = void 0;
2940
-
2941
- /**
2942
- * @typedef {!{
2943
- * activate: function(!Event),
2944
- * deactivate: function(!Event),
2945
- * focus: function(),
2946
- * blur: function()
2947
- * }}
2948
- */
2949
- var ListenersType = void 0;
2950
-
2951
- /**
2952
- * @typedef {!{
2953
- * x: number,
2954
- * y: number
2955
- * }}
2956
- */
2957
- var PointType = void 0;
2958
-
2959
- /**
2960
- * @enum {string}
2961
- */
2962
- var DEACTIVATION_ACTIVATION_PAIRS = {
2963
- mouseup: 'mousedown',
2964
- pointerup: 'pointerdown',
2965
- touchend: 'touchstart',
2966
- keyup: 'keydown',
2967
- blur: 'focus'
3063
+ PADDING: 10,
3064
+ INITIAL_ORIGIN_SCALE: 0.6,
3065
+ DEACTIVATION_TIMEOUT_MS: 300,
3066
+ FG_DEACTIVATION_MS: 83
2968
3067
  };
2969
3068
 
2970
- /**
2971
- * @extends {MDCFoundation<!MDCRippleAdapter>}
2972
- */
2973
-
2974
- var MDCRippleFoundation = function (_MDCFoundation) {
2975
- _inherits(MDCRippleFoundation, _MDCFoundation);
2976
-
2977
- _createClass(MDCRippleFoundation, [{
2978
- key: 'isSupported_',
2979
-
2980
-
2981
- /**
2982
- * We compute this property so that we are not querying information about the client
2983
- * until the point in time where the foundation requests it. This prevents scenarios where
2984
- * client-side feature-detection may happen too early, such as when components are rendered on the server
2985
- * and then initialized at mount time on the client.
2986
- * @return {boolean}
2987
- */
2988
- get: function get() {
2989
- return this.adapter_.browserSupportsCssVars();
2990
- }
2991
- }], [{
2992
- key: 'cssClasses',
2993
- get: function get() {
2994
- return __WEBPACK_IMPORTED_MODULE_2__constants__["a" /* cssClasses */];
2995
- }
2996
- }, {
2997
- key: 'strings',
2998
- get: function get() {
2999
- return __WEBPACK_IMPORTED_MODULE_2__constants__["c" /* strings */];
3000
- }
3001
- }, {
3002
- key: 'numbers',
3003
- get: function get() {
3004
- return __WEBPACK_IMPORTED_MODULE_2__constants__["b" /* numbers */];
3005
- }
3006
- }, {
3007
- key: 'defaultAdapter',
3008
- get: function get() {
3009
- return {
3010
- browserSupportsCssVars: function browserSupportsCssVars() /* boolean - cached */{},
3011
- isUnbounded: function isUnbounded() /* boolean */{},
3012
- isSurfaceActive: function isSurfaceActive() /* boolean */{},
3013
- isSurfaceDisabled: function isSurfaceDisabled() /* boolean */{},
3014
- addClass: function addClass() /* className: string */{},
3015
- removeClass: function removeClass() /* className: string */{},
3016
- registerInteractionHandler: function registerInteractionHandler() /* evtType: string, handler: EventListener */{},
3017
- deregisterInteractionHandler: function deregisterInteractionHandler() /* evtType: string, handler: EventListener */{},
3018
- registerResizeHandler: function registerResizeHandler() /* handler: EventListener */{},
3019
- deregisterResizeHandler: function deregisterResizeHandler() /* handler: EventListener */{},
3020
- updateCssVariable: function updateCssVariable() /* varName: string, value: string */{},
3021
- computeBoundingRect: function computeBoundingRect() /* ClientRect */{},
3022
- getWindowPageOffset: function getWindowPageOffset() /* {x: number, y: number} */{}
3023
- };
3024
- }
3025
- }]);
3026
-
3027
- function MDCRippleFoundation(adapter) {
3028
- _classCallCheck(this, MDCRippleFoundation);
3029
-
3030
- /** @private {number} */
3031
- var _this = _possibleConstructorReturn(this, (MDCRippleFoundation.__proto__ || Object.getPrototypeOf(MDCRippleFoundation)).call(this, _extends(MDCRippleFoundation.defaultAdapter, adapter)));
3069
+ /***/ }),
3070
+ /* 22 */
3071
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3032
3072
 
3033
- _this.layoutFrame_ = 0;
3073
+ "use strict";
3074
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
3075
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_selection_control__ = __webpack_require__(3);
3076
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__adapter__ = __webpack_require__(23);
3077
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constants__ = __webpack_require__(24);
3078
+ 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; };
3034
3079
 
3035
- /** @private {!ClientRect} */
3036
- _this.frame_ = /** @type {!ClientRect} */{ width: 0, height: 0 };
3080
+ 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; }; }();
3037
3081
 
3038
- /** @private {!ActivationStateType} */
3039
- _this.activationState_ = _this.defaultActivationState_();
3082
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3040
3083
 
3041
- /** @private {number} */
3042
- _this.xfDuration_ = 0;
3084
+ 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; }
3043
3085
 
3044
- /** @private {number} */
3045
- _this.initialSize_ = 0;
3086
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
3046
3087
 
3047
- /** @private {number} */
3048
- _this.maxRadius_ = 0;
3088
+ /**
3089
+ * Copyright 2016 Google Inc. All Rights Reserved.
3090
+ *
3091
+ * Licensed under the Apache License, Version 2.0 (the "License");
3092
+ * you may not use this file except in compliance with the License.
3093
+ * You may obtain a copy of the License at
3094
+ *
3095
+ * http://www.apache.org/licenses/LICENSE-2.0
3096
+ *
3097
+ * Unless required by applicable law or agreed to in writing, software
3098
+ * distributed under the License is distributed on an "AS IS" BASIS,
3099
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3100
+ * See the License for the specific language governing permissions and
3101
+ * limitations under the License.
3102
+ */
3049
3103
 
3050
- /** @private {!Array<{ListenerInfoType}>} */
3051
- _this.listenerInfos_ = [{ activate: 'touchstart', deactivate: 'touchend' }, { activate: 'pointerdown', deactivate: 'pointerup' }, { activate: 'mousedown', deactivate: 'mouseup' }, { activate: 'keydown', deactivate: 'keyup' }, { focus: 'focus', blur: 'blur' }];
3052
3104
 
3053
- /** @private {!ListenersType} */
3054
- _this.listeners_ = {
3055
- activate: function activate(e) {
3056
- return _this.activate_(e);
3057
- },
3058
- deactivate: function deactivate(e) {
3059
- return _this.deactivate_(e);
3060
- },
3061
- focus: function focus() {
3062
- return requestAnimationFrame(function () {
3063
- return _this.adapter_.addClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);
3064
- });
3065
- },
3066
- blur: function blur() {
3067
- return requestAnimationFrame(function () {
3068
- return _this.adapter_.removeClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);
3069
- });
3070
- }
3071
- };
3105
+ /* eslint-disable no-unused-vars */
3072
3106
 
3073
- /** @private {!Function} */
3074
- _this.resizeHandler_ = function () {
3075
- return _this.layout();
3076
- };
3077
3107
 
3078
- /** @private {!{left: number, top:number}} */
3079
- _this.unboundedCoords_ = {
3080
- left: 0,
3081
- top: 0
3082
- };
3108
+ /* eslint-enable no-unused-vars */
3083
3109
 
3084
- /** @private {number} */
3085
- _this.fgScale_ = 0;
3086
3110
 
3087
- /** @private {number} */
3088
- _this.activationTimer_ = 0;
3111
+ /** @const {!Array<string>} */
3112
+ var CB_PROTO_PROPS = ['checked', 'indeterminate'];
3089
3113
 
3090
- /** @private {number} */
3091
- _this.fgDeactivationRemovalTimer_ = 0;
3114
+ /**
3115
+ * @extends {MDCFoundation<!MDCCheckboxAdapter>}
3116
+ */
3092
3117
 
3093
- /** @private {boolean} */
3094
- _this.activationAnimationHasEnded_ = false;
3118
+ var MDCCheckboxFoundation = function (_MDCFoundation) {
3119
+ _inherits(MDCCheckboxFoundation, _MDCFoundation);
3095
3120
 
3096
- /** @private {!Function} */
3097
- _this.activationTimerCallback_ = function () {
3098
- _this.activationAnimationHasEnded_ = true;
3099
- _this.runDeactivationUXLogicIfReady_();
3100
- };
3101
- return _this;
3102
- }
3121
+ _createClass(MDCCheckboxFoundation, null, [{
3122
+ key: 'cssClasses',
3103
3123
 
3104
- /**
3105
- * @return {!ActivationStateType}
3106
- */
3124
+ /** @return enum {cssClasses} */
3125
+ get: function get() {
3126
+ return __WEBPACK_IMPORTED_MODULE_3__constants__["a" /* cssClasses */];
3127
+ }
3107
3128
 
3129
+ /** @return enum {strings} */
3108
3130
 
3109
- _createClass(MDCRippleFoundation, [{
3110
- key: 'defaultActivationState_',
3111
- value: function defaultActivationState_() {
3112
- return {
3113
- isActivated: false,
3114
- hasDeactivationUXRun: false,
3115
- wasActivatedByPointer: false,
3116
- wasElementMadeActive: false,
3117
- activationStartTime: 0,
3118
- activationEvent: null,
3119
- isProgrammatic: false
3120
- };
3121
- }
3122
3131
  }, {
3123
- key: 'init',
3124
- value: function init() {
3125
- var _this2 = this;
3126
-
3127
- if (!this.isSupported_) {
3128
- return;
3129
- }
3130
- this.addEventListeners_();
3132
+ key: 'strings',
3133
+ get: function get() {
3134
+ return __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */];
3135
+ }
3131
3136
 
3132
- var _MDCRippleFoundation$ = MDCRippleFoundation.cssClasses,
3133
- ROOT = _MDCRippleFoundation$.ROOT,
3134
- UNBOUNDED = _MDCRippleFoundation$.UNBOUNDED;
3137
+ /** @return enum {numbers} */
3135
3138
 
3136
- requestAnimationFrame(function () {
3137
- _this2.adapter_.addClass(ROOT);
3138
- if (_this2.adapter_.isUnbounded()) {
3139
- _this2.adapter_.addClass(UNBOUNDED);
3140
- }
3141
- _this2.layoutInternal_();
3142
- });
3139
+ }, {
3140
+ key: 'numbers',
3141
+ get: function get() {
3142
+ return __WEBPACK_IMPORTED_MODULE_3__constants__["b" /* numbers */];
3143
3143
  }
3144
3144
 
3145
- /** @private */
3145
+ /** @return {!MDCCheckboxAdapter} */
3146
3146
 
3147
3147
  }, {
3148
- key: 'addEventListeners_',
3149
- value: function addEventListeners_() {
3150
- var _this3 = this;
3151
-
3152
- this.listenerInfos_.forEach(function (info) {
3153
- Object.keys(info).forEach(function (k) {
3154
- _this3.adapter_.registerInteractionHandler(info[k], _this3.listeners_[k]);
3155
- });
3156
- });
3157
- this.adapter_.registerResizeHandler(this.resizeHandler_);
3148
+ key: 'defaultAdapter',
3149
+ get: function get() {
3150
+ return (/** @type {!MDCCheckboxAdapter} */{
3151
+ addClass: function addClass() /* className: string */{},
3152
+ removeClass: function removeClass() /* className: string */{},
3153
+ registerAnimationEndHandler: function registerAnimationEndHandler() /* handler: EventListener */{},
3154
+ deregisterAnimationEndHandler: function deregisterAnimationEndHandler() /* handler: EventListener */{},
3155
+ registerChangeHandler: function registerChangeHandler() /* handler: EventListener */{},
3156
+ deregisterChangeHandler: function deregisterChangeHandler() /* handler: EventListener */{},
3157
+ getNativeControl: function getNativeControl() /* !MDCSelectionControlState */{},
3158
+ forceLayout: function forceLayout() {},
3159
+ isAttachedToDOM: function isAttachedToDOM() /* boolean */{}
3160
+ }
3161
+ );
3158
3162
  }
3163
+ }]);
3159
3164
 
3160
- /**
3161
- * @param {Event} e
3162
- * @private
3163
- */
3165
+ function MDCCheckboxFoundation(adapter) {
3166
+ _classCallCheck(this, MDCCheckboxFoundation);
3164
3167
 
3165
- }, {
3166
- key: 'activate_',
3167
- value: function activate_(e) {
3168
- var _this4 = this;
3168
+ /** @private {string} */
3169
+ var _this = _possibleConstructorReturn(this, (MDCCheckboxFoundation.__proto__ || Object.getPrototypeOf(MDCCheckboxFoundation)).call(this, _extends(MDCCheckboxFoundation.defaultAdapter, adapter)));
3169
3170
 
3170
- if (this.adapter_.isSurfaceDisabled()) {
3171
- return;
3172
- }
3171
+ _this.currentCheckState_ = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_INIT;
3173
3172
 
3174
- var activationState = this.activationState_;
3173
+ /** @private {string} */
3174
+ _this.currentAnimationClass_ = '';
3175
3175
 
3176
- if (activationState.isActivated) {
3177
- return;
3178
- }
3176
+ /** @private {number} */
3177
+ _this.animEndLatchTimer_ = 0;
3179
3178
 
3180
- activationState.isActivated = true;
3181
- activationState.isProgrammatic = e === null;
3182
- activationState.activationEvent = e;
3183
- activationState.wasActivatedByPointer = activationState.isProgrammatic ? false : e.type === 'mousedown' || e.type === 'touchstart' || e.type === 'pointerdown';
3184
- activationState.activationStartTime = Date.now();
3179
+ _this.animEndHandler_ = /** @private {!EventListener} */function () {
3180
+ clearTimeout(_this.animEndLatchTimer_);
3181
+ _this.animEndLatchTimer_ = setTimeout(function () {
3182
+ _this.adapter_.removeClass(_this.currentAnimationClass_);
3183
+ _this.adapter_.deregisterAnimationEndHandler(_this.animEndHandler_);
3184
+ }, __WEBPACK_IMPORTED_MODULE_3__constants__["b" /* numbers */].ANIM_END_LATCH_MS);
3185
+ };
3185
3186
 
3186
- requestAnimationFrame(function () {
3187
- // This needs to be wrapped in an rAF call b/c web browsers
3188
- // report active states inconsistently when they're called within
3189
- // event handling code:
3190
- // - https://bugs.chromium.org/p/chromium/issues/detail?id=635971
3191
- // - https://bugzilla.mozilla.org/show_bug.cgi?id=1293741
3192
- activationState.wasElementMadeActive = e && e.type === 'keydown' ? _this4.adapter_.isSurfaceActive() : true;
3193
- if (activationState.wasElementMadeActive) {
3194
- _this4.animateActivation_();
3195
- } else {
3196
- // Reset activation state immediately if element was not made active.
3197
- _this4.activationState_ = _this4.defaultActivationState_();
3198
- }
3199
- });
3187
+ _this.changeHandler_ = /** @private {!EventListener} */function () {
3188
+ return _this.transitionCheckState_();
3189
+ };
3190
+ return _this;
3191
+ }
3192
+
3193
+ _createClass(MDCCheckboxFoundation, [{
3194
+ key: 'init',
3195
+ value: function init() {
3196
+ this.adapter_.addClass(__WEBPACK_IMPORTED_MODULE_3__constants__["a" /* cssClasses */].UPGRADED);
3197
+ this.adapter_.registerChangeHandler(this.changeHandler_);
3198
+ this.installPropertyChangeHooks_();
3200
3199
  }
3201
3200
  }, {
3202
- key: 'activate',
3203
- value: function activate() {
3204
- this.activate_(null);
3201
+ key: 'destroy',
3202
+ value: function destroy() {
3203
+ this.adapter_.deregisterChangeHandler(this.changeHandler_);
3204
+ this.uninstallPropertyChangeHooks_();
3205
3205
  }
3206
3206
 
3207
- /** @private */
3207
+ /** @return {boolean} */
3208
3208
 
3209
3209
  }, {
3210
- key: 'animateActivation_',
3211
- value: function animateActivation_() {
3212
- var _this5 = this;
3213
-
3214
- var _MDCRippleFoundation$2 = MDCRippleFoundation.strings,
3215
- VAR_FG_TRANSLATE_START = _MDCRippleFoundation$2.VAR_FG_TRANSLATE_START,
3216
- VAR_FG_TRANSLATE_END = _MDCRippleFoundation$2.VAR_FG_TRANSLATE_END;
3217
- var _MDCRippleFoundation$3 = MDCRippleFoundation.cssClasses,
3218
- BG_ACTIVE_FILL = _MDCRippleFoundation$3.BG_ACTIVE_FILL,
3219
- FG_DEACTIVATION = _MDCRippleFoundation$3.FG_DEACTIVATION,
3220
- FG_ACTIVATION = _MDCRippleFoundation$3.FG_ACTIVATION;
3221
- var DEACTIVATION_TIMEOUT_MS = MDCRippleFoundation.numbers.DEACTIVATION_TIMEOUT_MS;
3210
+ key: 'isChecked',
3211
+ value: function isChecked() {
3212
+ return this.getNativeControl_().checked;
3213
+ }
3222
3214
 
3215
+ /** @param {boolean} checked */
3223
3216
 
3224
- var translateStart = '';
3225
- var translateEnd = '';
3217
+ }, {
3218
+ key: 'setChecked',
3219
+ value: function setChecked(checked) {
3220
+ this.getNativeControl_().checked = checked;
3221
+ }
3226
3222
 
3227
- if (!this.adapter_.isUnbounded()) {
3228
- var _getFgTranslationCoor = this.getFgTranslationCoordinates_(),
3229
- startPoint = _getFgTranslationCoor.startPoint,
3230
- endPoint = _getFgTranslationCoor.endPoint;
3223
+ /** @return {boolean} */
3231
3224
 
3232
- translateStart = startPoint.x + 'px, ' + startPoint.y + 'px';
3233
- translateEnd = endPoint.x + 'px, ' + endPoint.y + 'px';
3234
- }
3225
+ }, {
3226
+ key: 'isIndeterminate',
3227
+ value: function isIndeterminate() {
3228
+ return this.getNativeControl_().indeterminate;
3229
+ }
3235
3230
 
3236
- this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_START, translateStart);
3237
- this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_END, translateEnd);
3238
- // Cancel any ongoing activation/deactivation animations
3239
- clearTimeout(this.activationTimer_);
3240
- clearTimeout(this.fgDeactivationRemovalTimer_);
3241
- this.rmBoundedActivationClasses_();
3242
- this.adapter_.removeClass(FG_DEACTIVATION);
3231
+ /** @param {boolean} indeterminate */
3243
3232
 
3244
- // Force layout in order to re-trigger the animation.
3245
- this.adapter_.computeBoundingRect();
3246
- this.adapter_.addClass(BG_ACTIVE_FILL);
3247
- this.adapter_.addClass(FG_ACTIVATION);
3248
- this.activationTimer_ = setTimeout(function () {
3249
- return _this5.activationTimerCallback_();
3250
- }, DEACTIVATION_TIMEOUT_MS);
3233
+ }, {
3234
+ key: 'setIndeterminate',
3235
+ value: function setIndeterminate(indeterminate) {
3236
+ this.getNativeControl_().indeterminate = indeterminate;
3251
3237
  }
3252
3238
 
3253
- /**
3254
- * @private
3255
- * @return {{startPoint: PointType, endPoint: PointType}}
3256
- */
3239
+ /** @return {boolean} */
3257
3240
 
3258
3241
  }, {
3259
- key: 'getFgTranslationCoordinates_',
3260
- value: function getFgTranslationCoordinates_() {
3261
- var activationState = this.activationState_;
3262
- var activationEvent = activationState.activationEvent,
3263
- wasActivatedByPointer = activationState.wasActivatedByPointer;
3242
+ key: 'isDisabled',
3243
+ value: function isDisabled() {
3244
+ return this.getNativeControl_().disabled;
3245
+ }
3264
3246
 
3247
+ /** @param {boolean} disabled */
3265
3248
 
3266
- var startPoint = void 0;
3267
- if (wasActivatedByPointer) {
3268
- startPoint = Object(__WEBPACK_IMPORTED_MODULE_3__util__["getNormalizedEventCoords"])(
3269
- /** @type {!Event} */activationEvent, this.adapter_.getWindowPageOffset(), this.adapter_.computeBoundingRect());
3249
+ }, {
3250
+ key: 'setDisabled',
3251
+ value: function setDisabled(disabled) {
3252
+ this.getNativeControl_().disabled = disabled;
3253
+ if (disabled) {
3254
+ this.adapter_.addClass(__WEBPACK_IMPORTED_MODULE_3__constants__["a" /* cssClasses */].DISABLED);
3270
3255
  } else {
3271
- startPoint = {
3272
- x: this.frame_.width / 2,
3273
- y: this.frame_.height / 2
3274
- };
3256
+ this.adapter_.removeClass(__WEBPACK_IMPORTED_MODULE_3__constants__["a" /* cssClasses */].DISABLED);
3275
3257
  }
3276
- // Center the element around the start point.
3277
- startPoint = {
3278
- x: startPoint.x - this.initialSize_ / 2,
3279
- y: startPoint.y - this.initialSize_ / 2
3280
- };
3258
+ }
3281
3259
 
3282
- var endPoint = {
3283
- x: this.frame_.width / 2 - this.initialSize_ / 2,
3284
- y: this.frame_.height / 2 - this.initialSize_ / 2
3285
- };
3260
+ /** @return {?string} */
3286
3261
 
3287
- return { startPoint: startPoint, endPoint: endPoint };
3262
+ }, {
3263
+ key: 'getValue',
3264
+ value: function getValue() {
3265
+ return this.getNativeControl_().value;
3266
+ }
3267
+
3268
+ /** @param {?string} value */
3269
+
3270
+ }, {
3271
+ key: 'setValue',
3272
+ value: function setValue(value) {
3273
+ this.getNativeControl_().value = value;
3288
3274
  }
3289
3275
 
3290
3276
  /** @private */
3291
3277
 
3292
3278
  }, {
3293
- key: 'runDeactivationUXLogicIfReady_',
3294
- value: function runDeactivationUXLogicIfReady_() {
3295
- var _this6 = this;
3279
+ key: 'installPropertyChangeHooks_',
3280
+ value: function installPropertyChangeHooks_() {
3281
+ var _this2 = this;
3296
3282
 
3297
- var FG_DEACTIVATION = MDCRippleFoundation.cssClasses.FG_DEACTIVATION;
3298
- var _activationState_ = this.activationState_,
3299
- hasDeactivationUXRun = _activationState_.hasDeactivationUXRun,
3300
- isActivated = _activationState_.isActivated;
3283
+ var nativeCb = this.getNativeControl_();
3284
+ var cbProto = Object.getPrototypeOf(nativeCb);
3301
3285
 
3302
- var activationHasEnded = hasDeactivationUXRun || !isActivated;
3303
- if (activationHasEnded && this.activationAnimationHasEnded_) {
3304
- this.rmBoundedActivationClasses_();
3305
- this.adapter_.addClass(FG_DEACTIVATION);
3306
- this.fgDeactivationRemovalTimer_ = setTimeout(function () {
3307
- _this6.adapter_.removeClass(FG_DEACTIVATION);
3308
- }, __WEBPACK_IMPORTED_MODULE_2__constants__["b" /* numbers */].FG_DEACTIVATION_MS);
3309
- }
3286
+ CB_PROTO_PROPS.forEach(function (controlState) {
3287
+ var desc = Object.getOwnPropertyDescriptor(cbProto, controlState);
3288
+ // We have to check for this descriptor, since some browsers (Safari) don't support its return.
3289
+ // See: https://bugs.webkit.org/show_bug.cgi?id=49739
3290
+ if (validDescriptor(desc)) {
3291
+ var nativeCbDesc = /** @type {!ObjectPropertyDescriptor} */{
3292
+ get: desc.get,
3293
+ set: function set(state) {
3294
+ desc.set.call(nativeCb, state);
3295
+ _this2.transitionCheckState_();
3296
+ },
3297
+ configurable: desc.configurable,
3298
+ enumerable: desc.enumerable
3299
+ };
3300
+ Object.defineProperty(nativeCb, controlState, nativeCbDesc);
3301
+ }
3302
+ });
3310
3303
  }
3311
3304
 
3312
3305
  /** @private */
3313
3306
 
3314
3307
  }, {
3315
- key: 'rmBoundedActivationClasses_',
3316
- value: function rmBoundedActivationClasses_() {
3317
- var _MDCRippleFoundation$4 = MDCRippleFoundation.cssClasses,
3318
- BG_ACTIVE_FILL = _MDCRippleFoundation$4.BG_ACTIVE_FILL,
3319
- FG_ACTIVATION = _MDCRippleFoundation$4.FG_ACTIVATION;
3308
+ key: 'uninstallPropertyChangeHooks_',
3309
+ value: function uninstallPropertyChangeHooks_() {
3310
+ var nativeCb = this.getNativeControl_();
3311
+ var cbProto = Object.getPrototypeOf(nativeCb);
3320
3312
 
3321
- this.adapter_.removeClass(BG_ACTIVE_FILL);
3322
- this.adapter_.removeClass(FG_ACTIVATION);
3323
- this.activationAnimationHasEnded_ = false;
3324
- this.adapter_.computeBoundingRect();
3313
+ CB_PROTO_PROPS.forEach(function (controlState) {
3314
+ var desc = /** @type {!ObjectPropertyDescriptor} */Object.getOwnPropertyDescriptor(cbProto, controlState);
3315
+ if (validDescriptor(desc)) {
3316
+ Object.defineProperty(nativeCb, controlState, desc);
3317
+ }
3318
+ });
3325
3319
  }
3326
3320
 
3327
- /**
3328
- * @param {Event} e
3329
- * @private
3330
- */
3321
+ /** @private */
3331
3322
 
3332
3323
  }, {
3333
- key: 'deactivate_',
3334
- value: function deactivate_(e) {
3335
- var _this7 = this;
3336
-
3337
- var activationState = this.activationState_;
3338
- // This can happen in scenarios such as when you have a keyup event that blurs the element.
3339
-
3340
- if (!activationState.isActivated) {
3324
+ key: 'transitionCheckState_',
3325
+ value: function transitionCheckState_() {
3326
+ var nativeCb = this.adapter_.getNativeControl();
3327
+ if (!nativeCb) {
3341
3328
  return;
3342
3329
  }
3343
- // Programmatic deactivation.
3344
- if (activationState.isProgrammatic) {
3345
- var evtObject = null;
3346
- var _state = /** @type {!ActivationStateType} */_extends({}, activationState);
3347
- requestAnimationFrame(function () {
3348
- return _this7.animateDeactivation_(evtObject, _state);
3349
- });
3350
- this.activationState_ = this.defaultActivationState_();
3330
+ var oldState = this.currentCheckState_;
3331
+ var newState = this.determineCheckState_(nativeCb);
3332
+ if (oldState === newState) {
3351
3333
  return;
3352
3334
  }
3353
3335
 
3354
- var actualActivationType = DEACTIVATION_ACTIVATION_PAIRS[e.type];
3355
- var expectedActivationType = activationState.activationEvent.type;
3356
- // NOTE: Pointer events are tricky - https://patrickhlauke.github.io/touch/tests/results/
3357
- // Essentially, what we need to do here is decouple the deactivation UX from the actual
3358
- // deactivation state itself. This way, touch/pointer events in sequence do not trample one
3359
- // another.
3360
- var needsDeactivationUX = actualActivationType === expectedActivationType;
3361
- var needsActualDeactivation = needsDeactivationUX;
3362
- if (activationState.wasActivatedByPointer) {
3363
- needsActualDeactivation = e.type === 'mouseup';
3336
+ // Check to ensure that there isn't a previously existing animation class, in case for example
3337
+ // the user interacted with the checkbox before the animation was finished.
3338
+ if (this.currentAnimationClass_.length > 0) {
3339
+ clearTimeout(this.animEndLatchTimer_);
3340
+ this.adapter_.forceLayout();
3341
+ this.adapter_.removeClass(this.currentAnimationClass_);
3364
3342
  }
3365
3343
 
3366
- var state = /** @type {!ActivationStateType} */_extends({}, activationState);
3367
- requestAnimationFrame(function () {
3368
- if (needsDeactivationUX) {
3369
- _this7.activationState_.hasDeactivationUXRun = true;
3370
- _this7.animateDeactivation_(e, state);
3371
- }
3344
+ this.currentAnimationClass_ = this.getTransitionAnimationClass_(oldState, newState);
3345
+ this.currentCheckState_ = newState;
3372
3346
 
3373
- if (needsActualDeactivation) {
3374
- _this7.activationState_ = _this7.defaultActivationState_();
3375
- }
3376
- });
3347
+ // Check for parentNode so that animations are only run when the element is attached
3348
+ // to the DOM.
3349
+ if (this.adapter_.isAttachedToDOM() && this.currentAnimationClass_.length > 0) {
3350
+ this.adapter_.addClass(this.currentAnimationClass_);
3351
+ this.adapter_.registerAnimationEndHandler(this.animEndHandler_);
3352
+ }
3377
3353
  }
3354
+
3355
+ /**
3356
+ * @param {!MDCSelectionControlState} nativeCb
3357
+ * @return {string}
3358
+ * @private
3359
+ */
3360
+
3378
3361
  }, {
3379
- key: 'deactivate',
3380
- value: function deactivate() {
3381
- this.deactivate_(null);
3362
+ key: 'determineCheckState_',
3363
+ value: function determineCheckState_(nativeCb) {
3364
+ var TRANSITION_STATE_INDETERMINATE = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_INDETERMINATE,
3365
+ TRANSITION_STATE_CHECKED = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_CHECKED,
3366
+ TRANSITION_STATE_UNCHECKED = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_UNCHECKED;
3367
+
3368
+
3369
+ if (nativeCb.indeterminate) {
3370
+ return TRANSITION_STATE_INDETERMINATE;
3371
+ }
3372
+ return nativeCb.checked ? TRANSITION_STATE_CHECKED : TRANSITION_STATE_UNCHECKED;
3373
+ }
3374
+
3375
+ /**
3376
+ * @param {string} oldState
3377
+ * @param {string} newState
3378
+ * @return {string}
3379
+ */
3380
+
3381
+ }, {
3382
+ key: 'getTransitionAnimationClass_',
3383
+ value: function getTransitionAnimationClass_(oldState, newState) {
3384
+ var TRANSITION_STATE_INIT = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_INIT,
3385
+ TRANSITION_STATE_CHECKED = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_CHECKED,
3386
+ TRANSITION_STATE_UNCHECKED = __WEBPACK_IMPORTED_MODULE_3__constants__["c" /* strings */].TRANSITION_STATE_UNCHECKED;
3387
+ var _MDCCheckboxFoundatio = MDCCheckboxFoundation.cssClasses,
3388
+ ANIM_UNCHECKED_CHECKED = _MDCCheckboxFoundatio.ANIM_UNCHECKED_CHECKED,
3389
+ ANIM_UNCHECKED_INDETERMINATE = _MDCCheckboxFoundatio.ANIM_UNCHECKED_INDETERMINATE,
3390
+ ANIM_CHECKED_UNCHECKED = _MDCCheckboxFoundatio.ANIM_CHECKED_UNCHECKED,
3391
+ ANIM_CHECKED_INDETERMINATE = _MDCCheckboxFoundatio.ANIM_CHECKED_INDETERMINATE,
3392
+ ANIM_INDETERMINATE_CHECKED = _MDCCheckboxFoundatio.ANIM_INDETERMINATE_CHECKED,
3393
+ ANIM_INDETERMINATE_UNCHECKED = _MDCCheckboxFoundatio.ANIM_INDETERMINATE_UNCHECKED;
3394
+
3395
+
3396
+ switch (oldState) {
3397
+ case TRANSITION_STATE_INIT:
3398
+ if (newState === TRANSITION_STATE_UNCHECKED) {
3399
+ return '';
3400
+ }
3401
+ // fallthrough
3402
+ case TRANSITION_STATE_UNCHECKED:
3403
+ return newState === TRANSITION_STATE_CHECKED ? ANIM_UNCHECKED_CHECKED : ANIM_UNCHECKED_INDETERMINATE;
3404
+ case TRANSITION_STATE_CHECKED:
3405
+ return newState === TRANSITION_STATE_UNCHECKED ? ANIM_CHECKED_UNCHECKED : ANIM_CHECKED_INDETERMINATE;
3406
+ // TRANSITION_STATE_INDETERMINATE
3407
+ default:
3408
+ return newState === TRANSITION_STATE_CHECKED ? ANIM_INDETERMINATE_CHECKED : ANIM_INDETERMINATE_UNCHECKED;
3409
+ }
3382
3410
  }
3383
3411
 
3384
3412
  /**
3385
- * @param {Event} e
3386
- * @param {!ActivationStateType} options
3413
+ * @return {!MDCSelectionControlState}
3387
3414
  * @private
3388
3415
  */
3389
3416
 
3390
3417
  }, {
3391
- key: 'animateDeactivation_',
3392
- value: function animateDeactivation_(e, _ref) {
3393
- var wasActivatedByPointer = _ref.wasActivatedByPointer,
3394
- wasElementMadeActive = _ref.wasElementMadeActive;
3395
- var BG_FOCUSED = MDCRippleFoundation.cssClasses.BG_FOCUSED;
3396
-
3397
- if (wasActivatedByPointer || wasElementMadeActive) {
3398
- // Remove class left over by element being focused
3399
- this.adapter_.removeClass(BG_FOCUSED);
3400
- this.runDeactivationUXLogicIfReady_();
3401
- }
3418
+ key: 'getNativeControl_',
3419
+ value: function getNativeControl_() {
3420
+ return this.adapter_.getNativeControl() || {
3421
+ checked: false,
3422
+ indeterminate: false,
3423
+ disabled: false,
3424
+ value: null
3425
+ };
3402
3426
  }
3403
- }, {
3404
- key: 'destroy',
3405
- value: function destroy() {
3406
- var _this8 = this;
3427
+ }]);
3407
3428
 
3408
- if (!this.isSupported_) {
3409
- return;
3410
- }
3411
- this.removeEventListeners_();
3429
+ return MDCCheckboxFoundation;
3430
+ }(__WEBPACK_IMPORTED_MODULE_0__material_base_foundation__["a" /* default */]);
3412
3431
 
3413
- var _MDCRippleFoundation$5 = MDCRippleFoundation.cssClasses,
3414
- ROOT = _MDCRippleFoundation$5.ROOT,
3415
- UNBOUNDED = _MDCRippleFoundation$5.UNBOUNDED;
3432
+ /**
3433
+ * @param {ObjectPropertyDescriptor|undefined} inputPropDesc
3434
+ * @return {boolean}
3435
+ */
3416
3436
 
3417
- requestAnimationFrame(function () {
3418
- _this8.adapter_.removeClass(ROOT);
3419
- _this8.adapter_.removeClass(UNBOUNDED);
3420
- _this8.removeCssVars_();
3421
- });
3422
- }
3423
3437
 
3424
- /** @private */
3438
+ /* harmony default export */ __webpack_exports__["a"] = (MDCCheckboxFoundation);
3439
+ function validDescriptor(inputPropDesc) {
3440
+ return !!inputPropDesc && typeof inputPropDesc.set === 'function';
3441
+ }
3425
3442
 
3426
- }, {
3427
- key: 'removeEventListeners_',
3428
- value: function removeEventListeners_() {
3429
- var _this9 = this;
3443
+ /***/ }),
3444
+ /* 23 */
3445
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3430
3446
 
3431
- this.listenerInfos_.forEach(function (info) {
3432
- Object.keys(info).forEach(function (k) {
3433
- _this9.adapter_.deregisterInteractionHandler(info[k], _this9.listeners_[k]);
3434
- });
3435
- });
3436
- this.adapter_.deregisterResizeHandler(this.resizeHandler_);
3437
- }
3447
+ "use strict";
3448
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_selection_control__ = __webpack_require__(3);
3449
+ 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; }; }();
3438
3450
 
3439
- /** @private */
3451
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3440
3452
 
3441
- }, {
3442
- key: 'removeCssVars_',
3443
- value: function removeCssVars_() {
3444
- var _this10 = this;
3453
+ /**
3454
+ * Copyright 2016 Google Inc. All Rights Reserved.
3455
+ *
3456
+ * Licensed under the Apache License, Version 2.0 (the "License");
3457
+ * you may not use this file except in compliance with the License.
3458
+ * You may obtain a copy of the License at
3459
+ *
3460
+ * http://www.apache.org/licenses/LICENSE-2.0
3461
+ *
3462
+ * Unless required by applicable law or agreed to in writing, software
3463
+ * distributed under the License is distributed on an "AS IS" BASIS,
3464
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3465
+ * See the License for the specific language governing permissions and
3466
+ * limitations under the License.
3467
+ */
3445
3468
 
3446
- var strings = MDCRippleFoundation.strings;
3469
+ /* eslint-disable no-unused-vars */
3447
3470
 
3448
- Object.keys(strings).forEach(function (k) {
3449
- if (k.indexOf('VAR_') === 0) {
3450
- _this10.adapter_.updateCssVariable(strings[k], null);
3451
- }
3452
- });
3453
- }
3454
- }, {
3455
- key: 'layout',
3456
- value: function layout() {
3457
- var _this11 = this;
3458
3471
 
3459
- if (this.layoutFrame_) {
3460
- cancelAnimationFrame(this.layoutFrame_);
3461
- }
3462
- this.layoutFrame_ = requestAnimationFrame(function () {
3463
- _this11.layoutInternal_();
3464
- _this11.layoutFrame_ = 0;
3465
- });
3466
- }
3472
+ /* eslint no-unused-vars: [2, {"args": "none"}] */
3467
3473
 
3468
- /** @private */
3474
+ /**
3475
+ * Adapter for MDC Checkbox. Provides an interface for managing
3476
+ * - classes
3477
+ * - dom
3478
+ * - event handlers
3479
+ *
3480
+ * Additionally, provides type information for the adapter to the Closure
3481
+ * compiler.
3482
+ *
3483
+ * Implement this adapter for your framework of choice to delegate updates to
3484
+ * the component in your framework of choice. See architecture documentation
3485
+ * for more details.
3486
+ * https://github.com/material-components/material-components-web/blob/master/docs/architecture.md
3487
+ *
3488
+ * @record
3489
+ */
3490
+
3491
+ var MDCCheckboxAdapter = function () {
3492
+ function MDCCheckboxAdapter() {
3493
+ _classCallCheck(this, MDCCheckboxAdapter);
3494
+ }
3495
+
3496
+ _createClass(MDCCheckboxAdapter, [{
3497
+ key: 'addClass',
3498
+
3499
+ /** @param {string} className */
3500
+ value: function addClass(className) {}
3501
+
3502
+ /** @param {string} className */
3469
3503
 
3470
3504
  }, {
3471
- key: 'layoutInternal_',
3472
- value: function layoutInternal_() {
3473
- this.frame_ = this.adapter_.computeBoundingRect();
3505
+ key: 'removeClass',
3506
+ value: function removeClass(className) {}
3474
3507
 
3475
- var maxDim = Math.max(this.frame_.height, this.frame_.width);
3476
- var surfaceDiameter = Math.sqrt(Math.pow(this.frame_.width, 2) + Math.pow(this.frame_.height, 2));
3508
+ /** @param {!EventListener} handler */
3477
3509
 
3478
- // 60% of the largest dimension of the surface
3479
- this.initialSize_ = maxDim * MDCRippleFoundation.numbers.INITIAL_ORIGIN_SCALE;
3510
+ }, {
3511
+ key: 'registerAnimationEndHandler',
3512
+ value: function registerAnimationEndHandler(handler) {}
3480
3513
 
3481
- // Diameter of the surface + 10px
3482
- this.maxRadius_ = surfaceDiameter + MDCRippleFoundation.numbers.PADDING;
3483
- this.fgScale_ = this.maxRadius_ / this.initialSize_;
3484
- this.xfDuration_ = 1000 * Math.sqrt(this.maxRadius_ / 1024);
3485
- this.updateLayoutCssVars_();
3486
- }
3514
+ /** @param {!EventListener} handler */
3487
3515
 
3488
- /** @private */
3516
+ }, {
3517
+ key: 'deregisterAnimationEndHandler',
3518
+ value: function deregisterAnimationEndHandler(handler) {}
3519
+
3520
+ /** @param {!EventListener} handler */
3489
3521
 
3490
3522
  }, {
3491
- key: 'updateLayoutCssVars_',
3492
- value: function updateLayoutCssVars_() {
3493
- var _MDCRippleFoundation$6 = MDCRippleFoundation.strings,
3494
- VAR_SURFACE_WIDTH = _MDCRippleFoundation$6.VAR_SURFACE_WIDTH,
3495
- VAR_SURFACE_HEIGHT = _MDCRippleFoundation$6.VAR_SURFACE_HEIGHT,
3496
- VAR_FG_SIZE = _MDCRippleFoundation$6.VAR_FG_SIZE,
3497
- VAR_LEFT = _MDCRippleFoundation$6.VAR_LEFT,
3498
- VAR_TOP = _MDCRippleFoundation$6.VAR_TOP,
3499
- VAR_FG_SCALE = _MDCRippleFoundation$6.VAR_FG_SCALE;
3523
+ key: 'registerChangeHandler',
3524
+ value: function registerChangeHandler(handler) {}
3500
3525
 
3526
+ /** @param {!EventListener} handler */
3501
3527
 
3502
- this.adapter_.updateCssVariable(VAR_SURFACE_WIDTH, this.frame_.width + 'px');
3503
- this.adapter_.updateCssVariable(VAR_SURFACE_HEIGHT, this.frame_.height + 'px');
3504
- this.adapter_.updateCssVariable(VAR_FG_SIZE, this.initialSize_ + 'px');
3505
- this.adapter_.updateCssVariable(VAR_FG_SCALE, this.fgScale_);
3528
+ }, {
3529
+ key: 'deregisterChangeHandler',
3530
+ value: function deregisterChangeHandler(handler) {}
3506
3531
 
3507
- if (this.adapter_.isUnbounded()) {
3508
- this.unboundedCoords_ = {
3509
- left: Math.round(this.frame_.width / 2 - this.initialSize_ / 2),
3510
- top: Math.round(this.frame_.height / 2 - this.initialSize_ / 2)
3511
- };
3532
+ /** @return {!MDCSelectionControlState} */
3512
3533
 
3513
- this.adapter_.updateCssVariable(VAR_LEFT, this.unboundedCoords_.left + 'px');
3514
- this.adapter_.updateCssVariable(VAR_TOP, this.unboundedCoords_.top + 'px');
3515
- }
3516
- }
3534
+ }, {
3535
+ key: 'getNativeControl',
3536
+ value: function getNativeControl() {}
3537
+ }, {
3538
+ key: 'forceLayout',
3539
+ value: function forceLayout() {}
3540
+
3541
+ /** @return {boolean} */
3542
+
3543
+ }, {
3544
+ key: 'isAttachedToDOM',
3545
+ value: function isAttachedToDOM() {}
3517
3546
  }]);
3518
3547
 
3519
- return MDCRippleFoundation;
3520
- }(__WEBPACK_IMPORTED_MODULE_0__material_base_foundation__["a" /* default */]);
3548
+ return MDCCheckboxAdapter;
3549
+ }();
3521
3550
 
3522
- /* harmony default export */ __webpack_exports__["a"] = (MDCRippleFoundation);
3551
+ /* unused harmony default export */ var _unused_webpack_default_export = (MDCCheckboxAdapter);
3523
3552
 
3524
3553
  /***/ }),
3525
3554
  /* 24 */
@@ -3545,34 +3574,35 @@ var MDCRippleFoundation = function (_MDCFoundation) {
3545
3574
  * limitations under the License.
3546
3575
  */
3547
3576
 
3577
+ /** @const {string} */
3578
+ var ROOT = 'mdc-checkbox';
3579
+
3580
+ /** @enum {string} */
3548
3581
  var cssClasses = {
3549
- // Ripple is a special case where the "root" component is really a "mixin" of sorts,
3550
- // given that it's an 'upgrade' to an existing component. That being said it is the root
3551
- // CSS class that all other CSS classes derive from.
3552
- ROOT: 'mdc-ripple-upgraded',
3553
- UNBOUNDED: 'mdc-ripple-upgraded--unbounded',
3554
- BG_FOCUSED: 'mdc-ripple-upgraded--background-focused',
3555
- BG_ACTIVE_FILL: 'mdc-ripple-upgraded--background-active-fill',
3556
- FG_ACTIVATION: 'mdc-ripple-upgraded--foreground-activation',
3557
- FG_DEACTIVATION: 'mdc-ripple-upgraded--foreground-deactivation'
3582
+ UPGRADED: 'mdc-checkbox--upgraded',
3583
+ CHECKED: 'mdc-checkbox--checked',
3584
+ INDETERMINATE: 'mdc-checkbox--indeterminate',
3585
+ DISABLED: 'mdc-checkbox--disabled',
3586
+ ANIM_UNCHECKED_CHECKED: 'mdc-checkbox--anim-unchecked-checked',
3587
+ ANIM_UNCHECKED_INDETERMINATE: 'mdc-checkbox--anim-unchecked-indeterminate',
3588
+ ANIM_CHECKED_UNCHECKED: 'mdc-checkbox--anim-checked-unchecked',
3589
+ ANIM_CHECKED_INDETERMINATE: 'mdc-checkbox--anim-checked-indeterminate',
3590
+ ANIM_INDETERMINATE_CHECKED: 'mdc-checkbox--anim-indeterminate-checked',
3591
+ ANIM_INDETERMINATE_UNCHECKED: 'mdc-checkbox--anim-indeterminate-unchecked'
3558
3592
  };
3559
3593
 
3594
+ /** @enum {string} */
3560
3595
  var strings = {
3561
- VAR_SURFACE_WIDTH: '--mdc-ripple-surface-width',
3562
- VAR_SURFACE_HEIGHT: '--mdc-ripple-surface-height',
3563
- VAR_FG_SIZE: '--mdc-ripple-fg-size',
3564
- VAR_LEFT: '--mdc-ripple-left',
3565
- VAR_TOP: '--mdc-ripple-top',
3566
- VAR_FG_SCALE: '--mdc-ripple-fg-scale',
3567
- VAR_FG_TRANSLATE_START: '--mdc-ripple-fg-translate-start',
3568
- VAR_FG_TRANSLATE_END: '--mdc-ripple-fg-translate-end'
3596
+ NATIVE_CONTROL_SELECTOR: '.' + ROOT + '__native-control',
3597
+ TRANSITION_STATE_INIT: 'init',
3598
+ TRANSITION_STATE_CHECKED: 'checked',
3599
+ TRANSITION_STATE_UNCHECKED: 'unchecked',
3600
+ TRANSITION_STATE_INDETERMINATE: 'indeterminate'
3569
3601
  };
3570
3602
 
3603
+ /** @enum {number} */
3571
3604
  var numbers = {
3572
- PADDING: 10,
3573
- INITIAL_ORIGIN_SCALE: 0.6,
3574
- DEACTIVATION_TIMEOUT_MS: 300,
3575
- FG_DEACTIVATION_MS: 83
3605
+ ANIM_END_LATCH_MS: 100
3576
3606
  };
3577
3607
 
3578
3608
  /***/ }),
@@ -3720,6 +3750,11 @@ var MDCDialog = function (_MDCComponent) {
3720
3750
  },
3721
3751
  isDialog: function isDialog(el) {
3722
3752
  return el === _this2.dialogSurface_;
3753
+ },
3754
+ layoutFooterRipples: function layoutFooterRipples() {
3755
+ return _this2.footerBtnRipples_.forEach(function (ripple) {
3756
+ return ripple.layout();
3757
+ });
3723
3758
  }
3724
3759
  });
3725
3760
  }
@@ -3824,7 +3859,8 @@ var MDCDialogFoundation = function (_MDCFoundation) {
3824
3859
  isDialog: function isDialog() {
3825
3860
  return (/* el: Element */ /* boolean */false
3826
3861
  );
3827
- }
3862
+ },
3863
+ layoutFooterRipples: function layoutFooterRipples() {}
3828
3864
  };
3829
3865
  }
3830
3866
  }]);
@@ -3935,6 +3971,7 @@ var MDCDialogFoundation = function (_MDCFoundation) {
3935
3971
  this.adapter_.removeClass(MDCDialogFoundation.cssClasses.ANIMATING);
3936
3972
  if (this.isOpen_) {
3937
3973
  this.adapter_.trapFocusOnSurface();
3974
+ this.adapter_.layoutFooterRipples();
3938
3975
  } else {
3939
3976
  this.enableScroll_();
3940
3977
  };
@@ -5400,8 +5437,9 @@ var strings = {
5400
5437
  "use strict";
5401
5438
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
5402
5439
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFormField", function() { return MDCFormField; });
5403
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5440
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(2);
5404
5441
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(41);
5442
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_selection_control__ = __webpack_require__(3);
5405
5443
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFormFieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
5406
5444
  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; }; }();
5407
5445
 
@@ -5429,20 +5467,66 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
5429
5467
 
5430
5468
 
5431
5469
 
5470
+ /* eslint-disable no-unused-vars */
5471
+
5472
+ /* eslint-enable no-unused-vars */
5432
5473
 
5433
5474
 
5434
5475
 
5476
+ /**
5477
+ * @extends MDCComponent<!MDCFormFieldFoundation>
5478
+ */
5435
5479
  var MDCFormField = function (_MDCComponent) {
5436
5480
  _inherits(MDCFormField, _MDCComponent);
5437
5481
 
5482
+ _createClass(MDCFormField, [{
5483
+ key: 'input',
5484
+
5485
+
5486
+ /** @param {?MDCSelectionControl} input */
5487
+ set: function set(input) {
5488
+ this.input_ = input;
5489
+ }
5490
+
5491
+ /** @return {?MDCSelectionControl} */
5492
+ ,
5493
+ get: function get() {
5494
+ return this.input_;
5495
+ }
5496
+ }], [{
5497
+ key: 'attachTo',
5498
+ value: function attachTo(root) {
5499
+ return new MDCFormField(root);
5500
+ }
5501
+ }]);
5502
+
5438
5503
  function MDCFormField() {
5504
+ var _ref;
5505
+
5439
5506
  _classCallCheck(this, MDCFormField);
5440
5507
 
5441
- return _possibleConstructorReturn(this, (MDCFormField.__proto__ || Object.getPrototypeOf(MDCFormField)).apply(this, arguments));
5508
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
5509
+ args[_key] = arguments[_key];
5510
+ }
5511
+
5512
+ /** @private {?MDCSelectionControl} */
5513
+ var _this = _possibleConstructorReturn(this, (_ref = MDCFormField.__proto__ || Object.getPrototypeOf(MDCFormField)).call.apply(_ref, [this].concat(args)));
5514
+
5515
+ _this.input_;
5516
+ return _this;
5442
5517
  }
5443
5518
 
5519
+ /**
5520
+ * @return {!Element}
5521
+ * @private
5522
+ */
5523
+
5524
+
5444
5525
  _createClass(MDCFormField, [{
5445
5526
  key: 'getDefaultFoundation',
5527
+
5528
+
5529
+ /** @return {!MDCFormFieldFoundation} */
5446
5530
  value: function getDefaultFoundation() {
5447
5531
  var _this2 = this;
5448
5532
 
@@ -5465,36 +5549,27 @@ var MDCFormField = function (_MDCComponent) {
5465
5549
  }
5466
5550
  });
5467
5551
  }
5468
- }, {
5469
- key: 'input',
5470
- set: function set(input) {
5471
- this.input_ = input;
5472
- },
5473
- get: function get() {
5474
- return this.input_;
5475
- }
5476
5552
  }, {
5477
5553
  key: 'label_',
5478
5554
  get: function get() {
5479
- return this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.LABEL_SELECTOR);
5480
- }
5481
- }], [{
5482
- key: 'attachTo',
5483
- value: function attachTo(root) {
5484
- return new MDCFormField(root);
5555
+ var LABEL_SELECTOR = __WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.LABEL_SELECTOR;
5556
+
5557
+ return (/** @type {!Element} */this.root_.querySelector(LABEL_SELECTOR)
5558
+ );
5485
5559
  }
5486
5560
  }]);
5487
5561
 
5488
5562
  return MDCFormField;
5489
- }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
5563
+ }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
5490
5564
 
5491
5565
  /***/ }),
5492
5566
  /* 41 */
5493
5567
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5494
5568
 
5495
5569
  "use strict";
5496
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5497
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(42);
5570
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
5571
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__adapter__ = __webpack_require__(42);
5572
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(43);
5498
5573
  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; };
5499
5574
 
5500
5575
  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; }; }();
@@ -5524,19 +5599,32 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
5524
5599
 
5525
5600
 
5526
5601
 
5602
+
5603
+ /**
5604
+ * @extends {MDCFoundation<!MDCFormFieldAdapter>}
5605
+ */
5606
+
5527
5607
  var MDCFormFieldFoundation = function (_MDCFoundation) {
5528
5608
  _inherits(MDCFormFieldFoundation, _MDCFoundation);
5529
5609
 
5530
5610
  _createClass(MDCFormFieldFoundation, null, [{
5531
5611
  key: 'cssClasses',
5612
+
5613
+ /** @return enum {cssClasses} */
5532
5614
  get: function get() {
5533
- return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
5615
+ return __WEBPACK_IMPORTED_MODULE_2__constants__["a" /* cssClasses */];
5534
5616
  }
5617
+
5618
+ /** @return enum {strings} */
5619
+
5535
5620
  }, {
5536
5621
  key: 'strings',
5537
5622
  get: function get() {
5538
- return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */];
5623
+ return __WEBPACK_IMPORTED_MODULE_2__constants__["b" /* strings */];
5539
5624
  }
5625
+
5626
+ /** @return {!MDCFormFieldAdapter} */
5627
+
5540
5628
  }, {
5541
5629
  key: 'defaultAdapter',
5542
5630
  get: function get() {
@@ -5552,10 +5640,11 @@ var MDCFormFieldFoundation = function (_MDCFoundation) {
5552
5640
  function MDCFormFieldFoundation(adapter) {
5553
5641
  _classCallCheck(this, MDCFormFieldFoundation);
5554
5642
 
5643
+ /** @private {!EventListener} */
5555
5644
  var _this = _possibleConstructorReturn(this, (MDCFormFieldFoundation.__proto__ || Object.getPrototypeOf(MDCFormFieldFoundation)).call(this, _extends(MDCFormFieldFoundation.defaultAdapter, adapter)));
5556
5645
 
5557
- _this.clickHandler_ = function (evt) {
5558
- return _this.handleClick_(evt);
5646
+ _this.clickHandler_ = /** @type {!EventListener} */function () {
5647
+ return _this.handleClick_();
5559
5648
  };
5560
5649
  return _this;
5561
5650
  }
@@ -5570,6 +5659,9 @@ var MDCFormFieldFoundation = function (_MDCFoundation) {
5570
5659
  value: function destroy() {
5571
5660
  this.adapter_.deregisterInteractionHandler('click', this.clickHandler_);
5572
5661
  }
5662
+
5663
+ /** @private */
5664
+
5573
5665
  }, {
5574
5666
  key: 'handleClick_',
5575
5667
  value: function handleClick_() {
@@ -5583,7 +5675,7 @@ var MDCFormFieldFoundation = function (_MDCFoundation) {
5583
5675
  }]);
5584
5676
 
5585
5677
  return MDCFormFieldFoundation;
5586
- }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCFoundation"]);
5678
+ }(__WEBPACK_IMPORTED_MODULE_0__material_base_foundation__["a" /* default */]);
5587
5679
 
5588
5680
  /* harmony default export */ __webpack_exports__["a"] = (MDCFormFieldFoundation);
5589
5681
 
@@ -5591,6 +5683,83 @@ var MDCFormFieldFoundation = function (_MDCFoundation) {
5591
5683
  /* 42 */
5592
5684
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5593
5685
 
5686
+ "use strict";
5687
+ 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; }; }();
5688
+
5689
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5690
+
5691
+ /**
5692
+ * Copyright 2016 Google Inc. All Rights Reserved.
5693
+ *
5694
+ * Licensed under the Apache License, Version 2.0 (the "License");
5695
+ * you may not use this file except in compliance with the License.
5696
+ * You may obtain a copy of the License at
5697
+ *
5698
+ * http://www.apache.org/licenses/LICENSE-2.0
5699
+ *
5700
+ * Unless required by applicable law or agreed to in writing, software
5701
+ * distributed under the License is distributed on an "AS IS" BASIS,
5702
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5703
+ * See the License for the specific language governing permissions and
5704
+ * limitations under the License.
5705
+ */
5706
+
5707
+ /* eslint no-unused-vars: [2, {"args": "none"}] */
5708
+
5709
+ /**
5710
+ * Adapter for MDC Form Field. Provides an interface for managing
5711
+ * - event handlers
5712
+ * - ripple activation
5713
+ *
5714
+ * Additionally, provides type information for the adapter to the Closure
5715
+ * compiler.
5716
+ *
5717
+ * Implement this adapter for your framework of choice to delegate updates to
5718
+ * the component in your framework of choice. See architecture documentation
5719
+ * for more details.
5720
+ * https://github.com/material-components/material-components-web/blob/master/docs/architecture.md
5721
+ *
5722
+ * @record
5723
+ */
5724
+ var MDCFormFieldAdapter = function () {
5725
+ function MDCFormFieldAdapter() {
5726
+ _classCallCheck(this, MDCFormFieldAdapter);
5727
+ }
5728
+
5729
+ _createClass(MDCFormFieldAdapter, [{
5730
+ key: "registerInteractionHandler",
5731
+
5732
+ /**
5733
+ * @param {string} type
5734
+ * @param {!EventListener} handler
5735
+ */
5736
+ value: function registerInteractionHandler(type, handler) {}
5737
+
5738
+ /**
5739
+ * @param {string} type
5740
+ * @param {!EventListener} handler
5741
+ */
5742
+
5743
+ }, {
5744
+ key: "deregisterInteractionHandler",
5745
+ value: function deregisterInteractionHandler(type, handler) {}
5746
+ }, {
5747
+ key: "activateInputRipple",
5748
+ value: function activateInputRipple() {}
5749
+ }, {
5750
+ key: "deactivateInputRipple",
5751
+ value: function deactivateInputRipple() {}
5752
+ }]);
5753
+
5754
+ return MDCFormFieldAdapter;
5755
+ }();
5756
+
5757
+ /* unused harmony default export */ var _unused_webpack_default_export = (MDCFormFieldAdapter);
5758
+
5759
+ /***/ }),
5760
+ /* 43 */
5761
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
5762
+
5594
5763
  "use strict";
5595
5764
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cssClasses; });
5596
5765
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return strings; });
@@ -5610,23 +5779,25 @@ var MDCFormFieldFoundation = function (_MDCFoundation) {
5610
5779
  * limitations under the License.
5611
5780
  */
5612
5781
 
5782
+ /** @enum {string} */
5613
5783
  var cssClasses = {
5614
5784
  ROOT: 'mdc-form-field'
5615
5785
  };
5616
5786
 
5787
+ /** @enum {string} */
5617
5788
  var strings = {
5618
5789
  LABEL_SELECTOR: '.mdc-form-field > label'
5619
5790
  };
5620
5791
 
5621
5792
  /***/ }),
5622
- /* 43 */
5793
+ /* 44 */
5623
5794
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5624
5795
 
5625
5796
  "use strict";
5626
5797
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
5627
5798
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCGridList", function() { return MDCGridList; });
5628
5799
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5629
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(44);
5800
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(45);
5630
5801
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCGridListFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
5631
5802
  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; }; }();
5632
5803
 
@@ -5704,12 +5875,12 @@ var MDCGridList = function (_MDCComponent) {
5704
5875
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
5705
5876
 
5706
5877
  /***/ }),
5707
- /* 44 */
5878
+ /* 45 */
5708
5879
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5709
5880
 
5710
5881
  "use strict";
5711
5882
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5712
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(45);
5883
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(46);
5713
5884
  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; };
5714
5885
 
5715
5886
  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; }; }();
@@ -5825,7 +5996,7 @@ var MDCGridListFoundation = function (_MDCFoundation) {
5825
5996
  /* harmony default export */ __webpack_exports__["a"] = (MDCGridListFoundation);
5826
5997
 
5827
5998
  /***/ }),
5828
- /* 45 */
5999
+ /* 46 */
5829
6000
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5830
6001
 
5831
6002
  "use strict";
@@ -5851,14 +6022,14 @@ var strings = {
5851
6022
  };
5852
6023
 
5853
6024
  /***/ }),
5854
- /* 46 */
6025
+ /* 47 */
5855
6026
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5856
6027
 
5857
6028
  "use strict";
5858
6029
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
5859
6030
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCIconToggle", function() { return MDCIconToggle; });
5860
6031
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(2);
5861
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(47);
6032
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(48);
5862
6033
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_ripple_adapter__ = __webpack_require__(7);
5863
6034
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_ripple__ = __webpack_require__(4);
5864
6035
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCIconToggleFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
@@ -6073,14 +6244,14 @@ var MDCIconToggle = function (_MDCComponent) {
6073
6244
  }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
6074
6245
 
6075
6246
  /***/ }),
6076
- /* 47 */
6247
+ /* 48 */
6077
6248
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6078
6249
 
6079
6250
  "use strict";
6080
6251
  /* unused harmony export KeyboardKey */
6081
6252
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
6082
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__adapter__ = __webpack_require__(48);
6083
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(49);
6253
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__adapter__ = __webpack_require__(49);
6254
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(50);
6084
6255
  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; };
6085
6256
 
6086
6257
  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; }; }();
@@ -6390,7 +6561,7 @@ IconToggleState.prototype.content;
6390
6561
  IconToggleState.prototype.cssClass;
6391
6562
 
6392
6563
  /***/ }),
6393
- /* 48 */
6564
+ /* 49 */
6394
6565
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6395
6566
 
6396
6567
  "use strict";
@@ -6533,7 +6704,7 @@ var MDCIconToggleAdapter = function () {
6533
6704
  var IconToggleEvent = void 0;
6534
6705
 
6535
6706
  /***/ }),
6536
- /* 49 */
6707
+ /* 50 */
6537
6708
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6538
6709
 
6539
6710
  "use strict";
@@ -6572,14 +6743,14 @@ var strings = {
6572
6743
  };
6573
6744
 
6574
6745
  /***/ }),
6575
- /* 50 */
6746
+ /* 51 */
6576
6747
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6577
6748
 
6578
6749
  "use strict";
6579
6750
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
6580
6751
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCLinearProgress", function() { return MDCLinearProgress; });
6581
6752
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6582
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(51);
6753
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(52);
6583
6754
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCLinearProgressFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
6584
6755
  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; }; }();
6585
6756
 
@@ -6686,13 +6857,13 @@ var MDCLinearProgress = function (_MDCComponent) {
6686
6857
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
6687
6858
 
6688
6859
  /***/ }),
6689
- /* 51 */
6860
+ /* 52 */
6690
6861
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6691
6862
 
6692
6863
  "use strict";
6693
6864
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6694
6865
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_animation__ = __webpack_require__(5);
6695
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(52);
6866
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(53);
6696
6867
  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; };
6697
6868
 
6698
6869
  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; }; }();
@@ -6830,7 +7001,7 @@ var MDCLinearProgressFoundation = function (_MDCFoundation) {
6830
7001
  /* harmony default export */ __webpack_exports__["a"] = (MDCLinearProgressFoundation);
6831
7002
 
6832
7003
  /***/ }),
6833
- /* 52 */
7004
+ /* 53 */
6834
7005
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6835
7006
 
6836
7007
  "use strict";
@@ -6864,13 +7035,13 @@ var strings = {
6864
7035
  };
6865
7036
 
6866
7037
  /***/ }),
6867
- /* 53 */
7038
+ /* 54 */
6868
7039
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6869
7040
 
6870
7041
  "use strict";
6871
7042
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCSimpleMenu; });
6872
7043
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(2);
6873
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(54);
7044
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(55);
6874
7045
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(11);
6875
7046
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
6876
7047
  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; }; }();
@@ -7122,13 +7293,13 @@ var MDCSimpleMenu = function (_MDCComponent) {
7122
7293
  }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
7123
7294
 
7124
7295
  /***/ }),
7125
- /* 54 */
7296
+ /* 55 */
7126
7297
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7127
7298
 
7128
7299
  "use strict";
7129
7300
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
7130
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__adapter__ = __webpack_require__(55);
7131
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(56);
7301
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__adapter__ = __webpack_require__(56);
7302
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(57);
7132
7303
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(11);
7133
7304
  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; };
7134
7305
 
@@ -7755,7 +7926,7 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
7755
7926
  /* harmony default export */ __webpack_exports__["a"] = (MDCSimpleMenuFoundation);
7756
7927
 
7757
7928
  /***/ }),
7758
- /* 55 */
7929
+ /* 56 */
7759
7930
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7760
7931
 
7761
7932
  "use strict";
@@ -8019,7 +8190,7 @@ var MDCSimpleMenuAdapter = function () {
8019
8190
  /* unused harmony default export */ var _unused_webpack_default_export = (MDCSimpleMenuAdapter);
8020
8191
 
8021
8192
  /***/ }),
8022
- /* 56 */
8193
+ /* 57 */
8023
8194
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8024
8195
 
8025
8196
  "use strict";
@@ -8080,15 +8251,15 @@ var numbers = {
8080
8251
  };
8081
8252
 
8082
8253
  /***/ }),
8083
- /* 57 */
8254
+ /* 58 */
8084
8255
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8085
8256
 
8086
8257
  "use strict";
8087
8258
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
8088
8259
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRadio", function() { return MDCRadio; });
8089
8260
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(2);
8090
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_base_selection_control__ = __webpack_require__(3);
8091
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(58);
8261
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_selection_control__ = __webpack_require__(3);
8262
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(59);
8092
8263
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_ripple__ = __webpack_require__(4);
8093
8264
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRadioFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
8094
8265
  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; };
@@ -8130,6 +8301,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
8130
8301
 
8131
8302
  /**
8132
8303
  * @extends MDCComponent<!MDCRadioFoundation>
8304
+ * @implements {MDCSelectionControl}
8133
8305
  */
8134
8306
  var MDCRadio = function (_MDCComponent) {
8135
8307
  _inherits(MDCRadio, _MDCComponent);
@@ -8255,7 +8427,7 @@ var MDCRadio = function (_MDCComponent) {
8255
8427
 
8256
8428
  /**
8257
8429
  * Returns the state of the native control element, or null if the native control element is not present.
8258
- * @return {?SelectionControlState}
8430
+ * @return {?MDCSelectionControlState}
8259
8431
  * @private
8260
8432
  */
8261
8433
 
@@ -8290,7 +8462,7 @@ var MDCRadio = function (_MDCComponent) {
8290
8462
  get: function get() {
8291
8463
  var NATIVE_CONTROL_SELECTOR = __WEBPACK_IMPORTED_MODULE_2__foundation__["a" /* default */].strings.NATIVE_CONTROL_SELECTOR;
8292
8464
 
8293
- var el = /** @type {?SelectionControlState} */this.root_.querySelector(NATIVE_CONTROL_SELECTOR);
8465
+ var el = /** @type {?MDCSelectionControlState} */this.root_.querySelector(NATIVE_CONTROL_SELECTOR);
8294
8466
  return el;
8295
8467
  }
8296
8468
  }]);
@@ -8299,14 +8471,14 @@ var MDCRadio = function (_MDCComponent) {
8299
8471
  }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
8300
8472
 
8301
8473
  /***/ }),
8302
- /* 58 */
8474
+ /* 59 */
8303
8475
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8304
8476
 
8305
8477
  "use strict";
8306
8478
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
8307
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_base_selection_control__ = __webpack_require__(3);
8308
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__adapter__ = __webpack_require__(59);
8309
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constants__ = __webpack_require__(60);
8479
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_selection_control__ = __webpack_require__(3);
8480
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__adapter__ = __webpack_require__(60);
8481
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constants__ = __webpack_require__(61);
8310
8482
  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; }; }();
8311
8483
 
8312
8484
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -8408,7 +8580,7 @@ var MDCRadioFoundation = function (_MDCFoundation) {
8408
8580
  }
8409
8581
 
8410
8582
  /**
8411
- * @return {!SelectionControlState}
8583
+ * @return {!MDCSelectionControlState}
8412
8584
  * @private
8413
8585
  */
8414
8586
 
@@ -8445,7 +8617,7 @@ var MDCRadioFoundation = function (_MDCFoundation) {
8445
8617
  return (/** @type {!MDCRadioAdapter} */{
8446
8618
  addClass: function addClass() /* className: string */{},
8447
8619
  removeClass: function removeClass() /* className: string */{},
8448
- getNativeControl: function getNativeControl() /* !SelectionControlState */{}
8620
+ getNativeControl: function getNativeControl() /* !MDCSelectionControlState */{}
8449
8621
  }
8450
8622
  );
8451
8623
  }
@@ -8457,11 +8629,11 @@ var MDCRadioFoundation = function (_MDCFoundation) {
8457
8629
  /* harmony default export */ __webpack_exports__["a"] = (MDCRadioFoundation);
8458
8630
 
8459
8631
  /***/ }),
8460
- /* 59 */
8632
+ /* 60 */
8461
8633
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8462
8634
 
8463
8635
  "use strict";
8464
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_selection_control__ = __webpack_require__(3);
8636
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_selection_control__ = __webpack_require__(3);
8465
8637
  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; }; }();
8466
8638
 
8467
8639
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -8520,7 +8692,7 @@ var MDCRadioAdapter = function () {
8520
8692
  key: 'removeClass',
8521
8693
  value: function removeClass(className) {}
8522
8694
 
8523
- /** @return {!SelectionControlState} */
8695
+ /** @return {!MDCSelectionControlState} */
8524
8696
 
8525
8697
  }, {
8526
8698
  key: 'getNativeControl',
@@ -8533,7 +8705,7 @@ var MDCRadioAdapter = function () {
8533
8705
  /* unused harmony default export */ var _unused_webpack_default_export = (MDCRadioAdapter);
8534
8706
 
8535
8707
  /***/ }),
8536
- /* 60 */
8708
+ /* 61 */
8537
8709
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8538
8710
 
8539
8711
  "use strict";
@@ -8567,7 +8739,7 @@ var cssClasses = {
8567
8739
  };
8568
8740
 
8569
8741
  /***/ }),
8570
- /* 61 */
8742
+ /* 62 */
8571
8743
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8572
8744
 
8573
8745
  "use strict";
@@ -8575,7 +8747,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
8575
8747
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelect", function() { return MDCSelect; });
8576
8748
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
8577
8749
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_menu__ = __webpack_require__(10);
8578
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(62);
8750
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(63);
8579
8751
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelectFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
8580
8752
  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; }; }();
8581
8753
 
@@ -8797,12 +8969,12 @@ var MDCSelect = function (_MDCComponent) {
8797
8969
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
8798
8970
 
8799
8971
  /***/ }),
8800
- /* 62 */
8972
+ /* 63 */
8801
8973
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8802
8974
 
8803
8975
  "use strict";
8804
8976
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
8805
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(63);
8977
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(64);
8806
8978
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_menu__ = __webpack_require__(10);
8807
8979
  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; };
8808
8980
 
@@ -9132,7 +9304,7 @@ var MDCSelectFoundation = function (_MDCFoundation) {
9132
9304
  /* harmony default export */ __webpack_exports__["a"] = (MDCSelectFoundation);
9133
9305
 
9134
9306
  /***/ }),
9135
- /* 63 */
9307
+ /* 64 */
9136
9308
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9137
9309
 
9138
9310
  "use strict";
@@ -9164,7 +9336,7 @@ var strings = {
9164
9336
  };
9165
9337
 
9166
9338
  /***/ }),
9167
- /* 64 */
9339
+ /* 65 */
9168
9340
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9169
9341
 
9170
9342
  "use strict";
@@ -9172,7 +9344,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
9172
9344
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSlider", function() { return MDCSlider; });
9173
9345
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(2);
9174
9346
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(12);
9175
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(65);
9347
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(66);
9176
9348
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSliderFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
9177
9349
  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; }; }();
9178
9350
 
@@ -9396,7 +9568,7 @@ var MDCSlider = function (_MDCComponent) {
9396
9568
  }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
9397
9569
 
9398
9570
  /***/ }),
9399
- /* 65 */
9571
+ /* 66 */
9400
9572
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9401
9573
 
9402
9574
  "use strict";
@@ -9980,14 +10152,14 @@ var MDCSliderFoundation = function (_MDCFoundation) {
9980
10152
  /* harmony default export */ __webpack_exports__["a"] = (MDCSliderFoundation);
9981
10153
 
9982
10154
  /***/ }),
9983
- /* 66 */
10155
+ /* 67 */
9984
10156
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9985
10157
 
9986
10158
  "use strict";
9987
10159
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
9988
10160
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSnackbar", function() { return MDCSnackbar; });
9989
10161
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
9990
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(67);
10162
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(68);
9991
10163
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_animation__ = __webpack_require__(5);
9992
10164
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSnackbarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
9993
10165
  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; }; }();
@@ -10133,12 +10305,12 @@ var MDCSnackbar = function (_MDCComponent) {
10133
10305
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
10134
10306
 
10135
10307
  /***/ }),
10136
- /* 67 */
10308
+ /* 68 */
10137
10309
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10138
10310
 
10139
10311
  "use strict";
10140
10312
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
10141
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(68);
10313
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(69);
10142
10314
  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; };
10143
10315
 
10144
10316
  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; }; }();
@@ -10294,27 +10466,27 @@ var MDCSnackbarFoundation = function (_MDCFoundation) {
10294
10466
  value: function show(data) {
10295
10467
  var _this3 = this;
10296
10468
 
10297
- clearTimeout(this.timeoutId_);
10298
- this.snackbarData_ = data;
10299
- this.firstFocus_ = true;
10300
- this.adapter_.registerVisibilityChangeHandler(this.visibilitychangeHandler_);
10301
- this.adapter_.registerCapturedBlurHandler(this.blurHandler_);
10302
- ['touchstart', 'mousedown', 'focus'].forEach(function (evtType) {
10303
- _this3.adapter_.registerCapturedInteractionHandler(evtType, _this3.interactionHandler_);
10304
- });
10305
-
10306
- if (!this.snackbarData_) {
10469
+ if (!data) {
10307
10470
  throw new Error('Please provide a data object with at least a message to display.');
10308
10471
  }
10309
- if (!this.snackbarData_.message) {
10472
+ if (!data.message) {
10310
10473
  throw new Error('Please provide a message to be displayed.');
10311
10474
  }
10312
- if (this.snackbarData_.actionHandler && !this.snackbarData_.actionText) {
10475
+ if (data.actionHandler && !data.actionText) {
10313
10476
  throw new Error('Please provide action text with the handler.');
10314
10477
  }
10315
10478
  if (this.active) {
10316
- this.queue_.push(this.snackbarData_);
10479
+ this.queue_.push(data);
10480
+ return;
10317
10481
  }
10482
+ clearTimeout(this.timeoutId_);
10483
+ this.snackbarData_ = data;
10484
+ this.firstFocus_ = true;
10485
+ this.adapter_.registerVisibilityChangeHandler(this.visibilitychangeHandler_);
10486
+ this.adapter_.registerCapturedBlurHandler(this.blurHandler_);
10487
+ ['touchstart', 'mousedown', 'focus'].forEach(function (evtType) {
10488
+ _this3.adapter_.registerCapturedInteractionHandler(evtType, _this3.interactionHandler_);
10489
+ });
10318
10490
 
10319
10491
  var ACTIVE = __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */].ACTIVE,
10320
10492
  MULTILINE = __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */].MULTILINE,
@@ -10434,7 +10606,7 @@ var MDCSnackbarFoundation = function (_MDCFoundation) {
10434
10606
  /* harmony default export */ __webpack_exports__["a"] = (MDCSnackbarFoundation);
10435
10607
 
10436
10608
  /***/ }),
10437
- /* 68 */
10609
+ /* 69 */
10438
10610
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10439
10611
 
10440
10612
  "use strict";
@@ -10477,7 +10649,7 @@ var numbers = {
10477
10649
  };
10478
10650
 
10479
10651
  /***/ }),
10480
- /* 69 */
10652
+ /* 70 */
10481
10653
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10482
10654
 
10483
10655
  "use strict";
@@ -10488,7 +10660,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
10488
10660
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tab_bar__ = __webpack_require__(15);
10489
10661
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__tab_bar__["b"]; });
10490
10662
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBar", function() { return __WEBPACK_IMPORTED_MODULE_1__tab_bar__["a"]; });
10491
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__ = __webpack_require__(73);
10663
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__ = __webpack_require__(74);
10492
10664
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBarScrollerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__["b"]; });
10493
10665
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBarScroller", function() { return __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__["a"]; });
10494
10666
  /**
@@ -10512,7 +10684,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
10512
10684
 
10513
10685
 
10514
10686
  /***/ }),
10515
- /* 70 */
10687
+ /* 71 */
10516
10688
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10517
10689
 
10518
10690
  "use strict";
@@ -10669,13 +10841,13 @@ var MDCTabFoundation = function (_MDCFoundation) {
10669
10841
  /* harmony default export */ __webpack_exports__["a"] = (MDCTabFoundation);
10670
10842
 
10671
10843
  /***/ }),
10672
- /* 71 */
10844
+ /* 72 */
10673
10845
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10674
10846
 
10675
10847
  "use strict";
10676
10848
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
10677
10849
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_animation__ = __webpack_require__(5);
10678
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(72);
10850
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(73);
10679
10851
  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; };
10680
10852
 
10681
10853
  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; }; }();
@@ -10915,7 +11087,7 @@ var MDCTabBarFoundation = function (_MDCFoundation) {
10915
11087
  /* harmony default export */ __webpack_exports__["a"] = (MDCTabBarFoundation);
10916
11088
 
10917
11089
  /***/ }),
10918
- /* 72 */
11090
+ /* 73 */
10919
11091
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10920
11092
 
10921
11093
  "use strict";
@@ -10948,7 +11120,7 @@ var strings = {
10948
11120
  };
10949
11121
 
10950
11122
  /***/ }),
10951
- /* 73 */
11123
+ /* 74 */
10952
11124
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
10953
11125
 
10954
11126
  "use strict";
@@ -10956,7 +11128,7 @@ var strings = {
10956
11128
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_animation__ = __webpack_require__(5);
10957
11129
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_base_component__ = __webpack_require__(2);
10958
11130
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tab_bar__ = __webpack_require__(15);
10959
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(74);
11131
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(75);
10960
11132
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_3__foundation__["a"]; });
10961
11133
  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; }; }();
10962
11134
 
@@ -11119,12 +11291,12 @@ var MDCTabBarScroller = function (_MDCComponent) {
11119
11291
  }(__WEBPACK_IMPORTED_MODULE_1__material_base_component__["a" /* default */]);
11120
11292
 
11121
11293
  /***/ }),
11122
- /* 74 */
11294
+ /* 75 */
11123
11295
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
11124
11296
 
11125
11297
  "use strict";
11126
11298
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
11127
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(75);
11299
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(76);
11128
11300
  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; };
11129
11301
 
11130
11302
  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; }; }();
@@ -11472,7 +11644,7 @@ var MDCTabBarScrollerFoundation = function (_MDCFoundation) {
11472
11644
  /* harmony default export */ __webpack_exports__["a"] = (MDCTabBarScrollerFoundation);
11473
11645
 
11474
11646
  /***/ }),
11475
- /* 75 */
11647
+ /* 76 */
11476
11648
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
11477
11649
 
11478
11650
  "use strict";
@@ -11510,7 +11682,7 @@ var strings = {
11510
11682
  };
11511
11683
 
11512
11684
  /***/ }),
11513
- /* 76 */
11685
+ /* 77 */
11514
11686
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
11515
11687
 
11516
11688
  "use strict";
@@ -11519,7 +11691,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
11519
11691
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
11520
11692
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(4);
11521
11693
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(16);
11522
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(77);
11694
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(78);
11523
11695
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextfieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_3__foundation__["a"]; });
11524
11696
  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; };
11525
11697
 
@@ -11711,7 +11883,7 @@ var MDCTextfield = function (_MDCComponent) {
11711
11883
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
11712
11884
 
11713
11885
  /***/ }),
11714
- /* 77 */
11886
+ /* 78 */
11715
11887
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
11716
11888
 
11717
11889
  "use strict";
@@ -11958,15 +12130,15 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
11958
12130
  /* harmony default export */ __webpack_exports__["a"] = (MDCTextfieldFoundation);
11959
12131
 
11960
12132
  /***/ }),
11961
- /* 78 */
12133
+ /* 79 */
11962
12134
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
11963
12135
 
11964
12136
  "use strict";
11965
12137
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
11966
12138
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCToolbar", function() { return MDCToolbar; });
11967
12139
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
11968
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(79);
11969
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(81);
12140
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(80);
12141
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(82);
11970
12142
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCToolbarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
11971
12143
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_2__util__; });
11972
12144
  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; }; }();
@@ -12098,12 +12270,12 @@ var MDCToolbar = function (_MDCComponent) {
12098
12270
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
12099
12271
 
12100
12272
  /***/ }),
12101
- /* 79 */
12273
+ /* 80 */
12102
12274
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
12103
12275
 
12104
12276
  "use strict";
12105
12277
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
12106
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(80);
12278
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(81);
12107
12279
  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; };
12108
12280
 
12109
12281
  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; }; }();
@@ -12387,7 +12559,7 @@ var MDCToolbarFoundation = function (_MDCFoundation) {
12387
12559
  /* harmony default export */ __webpack_exports__["a"] = (MDCToolbarFoundation);
12388
12560
 
12389
12561
  /***/ }),
12390
- /* 80 */
12562
+ /* 81 */
12391
12563
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
12392
12564
 
12393
12565
  "use strict";
@@ -12435,7 +12607,7 @@ var numbers = {
12435
12607
  };
12436
12608
 
12437
12609
  /***/ }),
12438
- /* 81 */
12610
+ /* 82 */
12439
12611
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
12440
12612
 
12441
12613
  "use strict";