material_components_web-sass 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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";