material_components_web-sass 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 20bef1ea5cf32a1b8d6b1ccca01e133694d6cdff
4
- data.tar.gz: baae82216cc96ea0c9200bdebf39d56427a02abc
3
+ metadata.gz: 261d26eba36148fea3965c02cd305641b85c7a8a
4
+ data.tar.gz: 3984d239e92679e1e9b11bcfaaa280d161a9883b
5
5
  SHA512:
6
- metadata.gz: 155d46e5dd2391cb8da544b57e87f45da1952f377bb53b6bb3772fc94424db672332475c3ce03f2c0f528ae29efa7db782fbfef707f3d64f89f7f1b4a1369bb7
7
- data.tar.gz: 85cecd2b5a4100785bdbbafca0ec45561a513e3e65a7c8cbcc9db6c16e4a41dd08037e622bcc9d9cdc35c08b1dfe0f8e6cbb4b6599c04cae8c6eef9121e06392
6
+ metadata.gz: d779bf5c8680e6912e9d09563d3d146f80372fc267abecd09baa64488a4c24b4038a8090f92d8b66711c231a3cc84f4b1f7d66b4aed8c3c58c375700ad6314e2
7
+ data.tar.gz: 3e7469ec8def52058f7ef823d27ef12eb722dbcfa9c37f939ff22316b898a0f46d3e91b947a0fbaef13f0f14bffe6bfdff1471a0e3bffc0aeb25aeaf47d26a87
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.13.0 (2017-06-15)
2
+
3
+ - Update assets to match upstream version
4
+
5
+ Library version:
6
+
7
+ - Material Components for the web v0.13.0
8
+ - Material Icons v3.0.0
9
+
1
10
  ## 0.12.1 (2017-06-02)
2
11
 
3
12
  - Update assets to match upstream version
data/README.md CHANGED
@@ -60,6 +60,7 @@ Individual Sass components can be included like this:
60
60
  @import "@material/radio/mdc-radio";
61
61
  @import "@material/ripple/mdc-ripple";
62
62
  @import "@material/select/mdc-select";
63
+ @import "@material/slider/mdc-slider";
63
64
  @import "@material/snackbar/mdc-snackbar";
64
65
  @import "@material/switch/mdc-switch";
65
66
  @import "@material/tabs/mdc-tabs";
@@ -1,5 +1,5 @@
1
1
  module MaterialComponentsWeb
2
2
  module Sass
3
- VERSION = '0.12.1'.freeze
3
+ VERSION = '0.13.0'.freeze
4
4
  end
5
5
  end
@@ -78,7 +78,7 @@ return /******/ (function(modules) { // webpackBootstrap
78
78
  /******/ __webpack_require__.p = "/assets/";
79
79
  /******/
80
80
  /******/ // Load entry module and return exports
81
- /******/ return __webpack_require__(__webpack_require__.s = 27);
81
+ /******/ return __webpack_require__(__webpack_require__.s = 29);
82
82
  /******/ })
83
83
  /************************************************************************/
84
84
  /******/ ([
@@ -87,7 +87,7 @@ return /******/ (function(modules) { // webpackBootstrap
87
87
 
88
88
  "use strict";
89
89
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
90
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation__ = __webpack_require__(2);
90
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation__ = __webpack_require__(1);
91
91
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__foundation__["a"]; });
92
92
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component__ = __webpack_require__(4);
93
93
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCComponent", function() { return __WEBPACK_IMPORTED_MODULE_1__component__["a"]; });
@@ -114,11 +114,114 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
114
114
  /* 1 */
115
115
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
116
116
 
117
+ "use strict";
118
+ 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; }; }();
119
+
120
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
121
+
122
+ /**
123
+ * Copyright 2016 Google Inc.
124
+ *
125
+ * Licensed under the Apache License, Version 2.0 (the "License");
126
+ * you may not use this file except in compliance with the License.
127
+ * You may obtain a copy of the License at
128
+ *
129
+ * http://www.apache.org/licenses/LICENSE-2.0
130
+ *
131
+ * Unless required by applicable law or agreed to in writing, software
132
+ * distributed under the License is distributed on an "AS IS" BASIS,
133
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134
+ * See the License for the specific language governing permissions and
135
+ * limitations under the License.
136
+ */
137
+
138
+ /**
139
+ * @template A
140
+ */
141
+ var MDCFoundation = function () {
142
+ _createClass(MDCFoundation, null, [{
143
+ key: "cssClasses",
144
+
145
+
146
+ /** @return enum{cssClasses} */
147
+ get: function get() {
148
+ // Classes extending MDCFoundation should implement this method to return an object which exports every
149
+ // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'}
150
+ return {};
151
+ }
152
+
153
+ /** @return enum{strings} */
154
+
155
+ }, {
156
+ key: "strings",
157
+ get: function get() {
158
+ // Classes extending MDCFoundation should implement this method to return an object which exports all
159
+ // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'}
160
+ return {};
161
+ }
162
+
163
+ /** @return enum{numbers} */
164
+
165
+ }, {
166
+ key: "numbers",
167
+ get: function get() {
168
+ // Classes extending MDCFoundation should implement this method to return an object which exports all
169
+ // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350}
170
+ return {};
171
+ }
172
+
173
+ /** @return {!Object} */
174
+
175
+ }, {
176
+ key: "defaultAdapter",
177
+ get: function get() {
178
+ // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient
179
+ // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter
180
+ // validation.
181
+ return {};
182
+ }
183
+
184
+ /**
185
+ * @param {!A} adapter
186
+ */
187
+
188
+ }]);
189
+
190
+ function MDCFoundation() {
191
+ var adapter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
192
+
193
+ _classCallCheck(this, MDCFoundation);
194
+
195
+ /** @private {!A} */
196
+ this.adapter_ = adapter;
197
+ }
198
+
199
+ _createClass(MDCFoundation, [{
200
+ key: "init",
201
+ value: function init() {
202
+ // Subclasses should override this method to perform initialization routines (registering events, etc.)
203
+ }
204
+ }, {
205
+ key: "destroy",
206
+ value: function destroy() {
207
+ // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)
208
+ }
209
+ }]);
210
+
211
+ return MDCFoundation;
212
+ }();
213
+
214
+ /* harmony default export */ __webpack_exports__["a"] = (MDCFoundation);
215
+
216
+ /***/ }),
217
+ /* 2 */
218
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
219
+
117
220
  "use strict";
118
221
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
119
222
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRipple", function() { return MDCRipple; });
120
223
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
121
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(55);
224
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(57);
122
225
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(8);
123
226
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRippleFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
124
227
  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; }; }();
@@ -261,109 +364,6 @@ var MDCRipple = function (_MDCComponent) {
261
364
  return MDCRipple;
262
365
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
263
366
 
264
- /***/ }),
265
- /* 2 */
266
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
267
-
268
- "use strict";
269
- 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; }; }();
270
-
271
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
272
-
273
- /**
274
- * Copyright 2016 Google Inc.
275
- *
276
- * Licensed under the Apache License, Version 2.0 (the "License");
277
- * you may not use this file except in compliance with the License.
278
- * You may obtain a copy of the License at
279
- *
280
- * http://www.apache.org/licenses/LICENSE-2.0
281
- *
282
- * Unless required by applicable law or agreed to in writing, software
283
- * distributed under the License is distributed on an "AS IS" BASIS,
284
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
285
- * See the License for the specific language governing permissions and
286
- * limitations under the License.
287
- */
288
-
289
- /**
290
- * @template A
291
- */
292
- var MDCFoundation = function () {
293
- _createClass(MDCFoundation, null, [{
294
- key: "cssClasses",
295
-
296
-
297
- /** @return enum{cssClasses} */
298
- get: function get() {
299
- // Classes extending MDCFoundation should implement this method to return an object which exports every
300
- // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'}
301
- return {};
302
- }
303
-
304
- /** @return enum{strings} */
305
-
306
- }, {
307
- key: "strings",
308
- get: function get() {
309
- // Classes extending MDCFoundation should implement this method to return an object which exports all
310
- // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'}
311
- return {};
312
- }
313
-
314
- /** @return enum{numbers} */
315
-
316
- }, {
317
- key: "numbers",
318
- get: function get() {
319
- // Classes extending MDCFoundation should implement this method to return an object which exports all
320
- // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350}
321
- return {};
322
- }
323
-
324
- /** @return {!Object} */
325
-
326
- }, {
327
- key: "defaultAdapter",
328
- get: function get() {
329
- // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient
330
- // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter
331
- // validation.
332
- return {};
333
- }
334
-
335
- /**
336
- * @param {!A} adapter
337
- */
338
-
339
- }]);
340
-
341
- function MDCFoundation() {
342
- var adapter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
343
-
344
- _classCallCheck(this, MDCFoundation);
345
-
346
- /** @private {!A} */
347
- this.adapter_ = adapter;
348
- }
349
-
350
- _createClass(MDCFoundation, [{
351
- key: "init",
352
- value: function init() {
353
- // Subclasses should override this method to perform initialization routines (registering events, etc.)
354
- }
355
- }, {
356
- key: "destroy",
357
- value: function destroy() {
358
- // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)
359
- }
360
- }]);
361
-
362
- return MDCFoundation;
363
- }();
364
-
365
- /* harmony default export */ __webpack_exports__["a"] = (MDCFoundation);
366
-
367
367
  /***/ }),
368
368
  /* 3 */
369
369
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -515,7 +515,7 @@ function getCorrectPropertyName(windowObj, eventType) {
515
515
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
516
516
 
517
517
  "use strict";
518
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation__ = __webpack_require__(2);
518
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation__ = __webpack_require__(1);
519
519
  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; }; }();
520
520
 
521
521
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -687,9 +687,9 @@ var MDCComponent = function () {
687
687
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
688
688
 
689
689
  "use strict";
690
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(36);
690
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(38);
691
691
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__constants__["a"]; });
692
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(37);
692
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(39);
693
693
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
694
694
  /**
695
695
  * Copyright 2016 Google Inc. All Rights Reserved.
@@ -716,7 +716,7 @@ var MDCComponent = function () {
716
716
 
717
717
  "use strict";
718
718
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
719
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__simple__ = __webpack_require__(51);
719
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__simple__ = __webpack_require__(53);
720
720
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenu", function() { return __WEBPACK_IMPORTED_MODULE_0__simple__["a"]; });
721
721
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenuFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__simple__["b"]; });
722
722
  /**
@@ -1080,11 +1080,60 @@ function solvePositionFromXValue_(xVal, x1, x2) {
1080
1080
  /* 10 */
1081
1081
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1082
1082
 
1083
+ "use strict";
1084
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return cssClasses; });
1085
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return strings; });
1086
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return numbers; });
1087
+ /**
1088
+ * Copyright 2017 Google Inc. All Rights Reserved.
1089
+ *
1090
+ * Licensed under the Apache License, Version 2.0 (the "License");
1091
+ * you may not use this file except in compliance with the License.
1092
+ * You may obtain a copy of the License at
1093
+ *
1094
+ * http://www.apache.org/licenses/LICENSE-2.0
1095
+ *
1096
+ * Unless required by applicable law or agreed to in writing, software
1097
+ * distributed under the License is distributed on an "AS IS" BASIS,
1098
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1099
+ * See the License for the specific language governing permissions and
1100
+ * limitations under the License.
1101
+ */
1102
+
1103
+ var cssClasses = {
1104
+ ACTIVE: 'mdc-slider--active',
1105
+ DISABLED: 'mdc-slider--disabled',
1106
+ DISCRETE: 'mdc-slider--discrete',
1107
+ FOCUS: 'mdc-slider--focus',
1108
+ IN_TRANSIT: 'mdc-slider--in-transit',
1109
+ OFF: 'mdc-slider--off'
1110
+ };
1111
+
1112
+ var strings = {
1113
+ TRACK_SELECTOR: '.mdc-slider__track',
1114
+ THUMB_CONTAINER_SELECTOR: '.mdc-slider__thumb-container',
1115
+ ARIA_VALUEMIN: 'aria-valuemin',
1116
+ ARIA_VALUEMAX: 'aria-valuemax',
1117
+ ARIA_VALUENOW: 'aria-valuenow',
1118
+ ARIA_DISABLED: 'aria-disabled',
1119
+ STEP_DATA_ATTR: 'data-step',
1120
+ CHANGE_EVENT: 'MDCSlider:change',
1121
+ INPUT_EVENT: 'MDCSlider:input'
1122
+ };
1123
+
1124
+ var numbers = {
1125
+ PAGE_FACTOR: 4
1126
+ };
1127
+
1128
+ /***/ }),
1129
+ /* 11 */
1130
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1131
+
1083
1132
  "use strict";
1084
1133
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return MDCTabBar; });
1085
1134
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(4);
1086
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tab__ = __webpack_require__(12);
1087
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(64);
1135
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tab__ = __webpack_require__(13);
1136
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(67);
1088
1137
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
1089
1138
  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; }; }();
1090
1139
 
@@ -1266,7 +1315,7 @@ var MDCTabBar = function (_MDCComponent) {
1266
1315
  }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
1267
1316
 
1268
1317
  /***/ }),
1269
- /* 11 */
1318
+ /* 12 */
1270
1319
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1271
1320
 
1272
1321
  "use strict";
@@ -1297,15 +1346,15 @@ var strings = {
1297
1346
  };
1298
1347
 
1299
1348
  /***/ }),
1300
- /* 12 */
1349
+ /* 13 */
1301
1350
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1302
1351
 
1303
1352
  "use strict";
1304
1353
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return MDCTab; });
1305
1354
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(4);
1306
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
1307
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(11);
1308
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(65);
1355
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
1356
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(12);
1357
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(68);
1309
1358
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_3__foundation__["a"]; });
1310
1359
  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); } };
1311
1360
 
@@ -1443,7 +1492,7 @@ var MDCTab = function (_MDCComponent) {
1443
1492
  }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
1444
1493
 
1445
1494
  /***/ }),
1446
- /* 13 */
1495
+ /* 14 */
1447
1496
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1448
1497
 
1449
1498
  "use strict";
@@ -1524,17 +1573,17 @@ mdcAutoInit.deregisterAll = function () {
1524
1573
  };
1525
1574
 
1526
1575
  /***/ }),
1527
- /* 14 */
1576
+ /* 15 */
1528
1577
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1529
1578
 
1530
1579
  "use strict";
1531
1580
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1532
1581
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckbox", function() { return MDCCheckbox; });
1533
1582
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1534
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
1583
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
1535
1584
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_ripple_util__ = __webpack_require__(8);
1536
1585
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_animation__ = __webpack_require__(3);
1537
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__foundation__ = __webpack_require__(29);
1586
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__foundation__ = __webpack_require__(31);
1538
1587
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckboxFoundation", function() { return __WEBPACK_IMPORTED_MODULE_4__foundation__["a"]; });
1539
1588
  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; };
1540
1589
 
@@ -1727,16 +1776,16 @@ var MDCCheckbox = function (_MDCComponent) {
1727
1776
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1728
1777
 
1729
1778
  /***/ }),
1730
- /* 15 */
1779
+ /* 16 */
1731
1780
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1732
1781
 
1733
1782
  "use strict";
1734
1783
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1735
1784
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCDialog", function() { return MDCDialog; });
1736
1785
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1737
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
1738
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(31);
1739
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(32);
1786
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
1787
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(33);
1788
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(34);
1740
1789
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCDialogFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
1741
1790
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_3__util__; });
1742
1791
  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; }; }();
@@ -1900,16 +1949,16 @@ var MDCDialog = function (_MDCComponent) {
1900
1949
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1901
1950
 
1902
1951
  /***/ }),
1903
- /* 16 */
1952
+ /* 17 */
1904
1953
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1905
1954
 
1906
1955
  "use strict";
1907
1956
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1908
1957
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(7);
1909
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__temporary__ = __webpack_require__(40);
1958
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__temporary__ = __webpack_require__(42);
1910
1959
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTemporaryDrawer", function() { return __WEBPACK_IMPORTED_MODULE_1__temporary__["a"]; });
1911
1960
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTemporaryDrawerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__temporary__["b"]; });
1912
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__persistent__ = __webpack_require__(35);
1961
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__persistent__ = __webpack_require__(37);
1913
1962
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCPersistentDrawer", function() { return __WEBPACK_IMPORTED_MODULE_2__persistent__["a"]; });
1914
1963
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCPersistentDrawerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__persistent__["b"]; });
1915
1964
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_0__util__; });
@@ -1935,14 +1984,14 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1935
1984
 
1936
1985
 
1937
1986
  /***/ }),
1938
- /* 17 */
1987
+ /* 18 */
1939
1988
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1940
1989
 
1941
1990
  "use strict";
1942
1991
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1943
1992
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFormField", function() { return MDCFormField; });
1944
1993
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1945
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(42);
1994
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(44);
1946
1995
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFormFieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
1947
1996
  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; }; }();
1948
1997
 
@@ -2030,14 +2079,14 @@ var MDCFormField = function (_MDCComponent) {
2030
2079
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2031
2080
 
2032
2081
  /***/ }),
2033
- /* 18 */
2082
+ /* 19 */
2034
2083
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2035
2084
 
2036
2085
  "use strict";
2037
2086
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2038
2087
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCGridList", function() { return MDCGridList; });
2039
2088
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2040
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(44);
2089
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(46);
2041
2090
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCGridListFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
2042
2091
  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; }; }();
2043
2092
 
@@ -2115,15 +2164,15 @@ var MDCGridList = function (_MDCComponent) {
2115
2164
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2116
2165
 
2117
2166
  /***/ }),
2118
- /* 19 */
2167
+ /* 20 */
2119
2168
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2120
2169
 
2121
2170
  "use strict";
2122
2171
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2123
2172
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCIconToggle", function() { return MDCIconToggle; });
2124
2173
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2125
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
2126
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(46);
2174
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
2175
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(48);
2127
2176
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCIconToggleFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
2128
2177
  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; };
2129
2178
 
@@ -2305,14 +2354,14 @@ var MDCIconToggle = function (_MDCComponent) {
2305
2354
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2306
2355
 
2307
2356
  /***/ }),
2308
- /* 20 */
2357
+ /* 21 */
2309
2358
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2310
2359
 
2311
2360
  "use strict";
2312
2361
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2313
2362
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCLinearProgress", function() { return MDCLinearProgress; });
2314
2363
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2315
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(48);
2364
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(50);
2316
2365
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCLinearProgressFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
2317
2366
  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; }; }();
2318
2367
 
@@ -2419,15 +2468,15 @@ var MDCLinearProgress = function (_MDCComponent) {
2419
2468
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2420
2469
 
2421
2470
  /***/ }),
2422
- /* 21 */
2471
+ /* 22 */
2423
2472
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2424
2473
 
2425
2474
  "use strict";
2426
2475
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2427
2476
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRadio", function() { return MDCRadio; });
2428
2477
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2429
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
2430
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(53);
2478
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(2);
2479
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(55);
2431
2480
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRadioFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
2432
2481
  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; };
2433
2482
 
@@ -2591,7 +2640,7 @@ var MDCRadio = function (_MDCComponent) {
2591
2640
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2592
2641
 
2593
2642
  /***/ }),
2594
- /* 22 */
2643
+ /* 23 */
2595
2644
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2596
2645
 
2597
2646
  "use strict";
@@ -2599,7 +2648,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2599
2648
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelect", function() { return MDCSelect; });
2600
2649
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2601
2650
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_menu__ = __webpack_require__(6);
2602
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(57);
2651
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(59);
2603
2652
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelectFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
2604
2653
  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; }; }();
2605
2654
 
@@ -2821,14 +2870,218 @@ var MDCSelect = function (_MDCComponent) {
2821
2870
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2822
2871
 
2823
2872
  /***/ }),
2824
- /* 23 */
2873
+ /* 24 */
2874
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2875
+
2876
+ "use strict";
2877
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2878
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSlider", function() { return MDCSlider; });
2879
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(4);
2880
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(10);
2881
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(60);
2882
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSliderFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
2883
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
2884
+
2885
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2886
+
2887
+ 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; }
2888
+
2889
+ 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; }
2890
+
2891
+ /**
2892
+ * Copyright 2017 Google Inc. All Rights Reserved.
2893
+ *
2894
+ * Licensed under the Apache License, Version 2.0 (the "License");
2895
+ * you may not use this file except in compliance with the License.
2896
+ * You may obtain a copy of the License at
2897
+ *
2898
+ * http://www.apache.org/licenses/LICENSE-2.0
2899
+ *
2900
+ * Unless required by applicable law or agreed to in writing, software
2901
+ * distributed under the License is distributed on an "AS IS" BASIS,
2902
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2903
+ * See the License for the specific language governing permissions and
2904
+ * limitations under the License.
2905
+ */
2906
+
2907
+
2908
+
2909
+
2910
+
2911
+
2912
+
2913
+
2914
+ var MDCSlider = function (_MDCComponent) {
2915
+ _inherits(MDCSlider, _MDCComponent);
2916
+
2917
+ function MDCSlider() {
2918
+ _classCallCheck(this, MDCSlider);
2919
+
2920
+ return _possibleConstructorReturn(this, (MDCSlider.__proto__ || Object.getPrototypeOf(MDCSlider)).apply(this, arguments));
2921
+ }
2922
+
2923
+ _createClass(MDCSlider, [{
2924
+ key: 'initialize',
2925
+ value: function initialize() {
2926
+ this.thumbContainer_ = this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */].THUMB_CONTAINER_SELECTOR);
2927
+ this.track_ = this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */].TRACK_SELECTOR);
2928
+ }
2929
+ }, {
2930
+ key: 'getDefaultFoundation',
2931
+ value: function getDefaultFoundation() {
2932
+ var _this2 = this;
2933
+
2934
+ return new __WEBPACK_IMPORTED_MODULE_2__foundation__["a" /* default */]({
2935
+ addClass: function addClass(className) {
2936
+ return _this2.root_.classList.add(className);
2937
+ },
2938
+ removeClass: function removeClass(className) {
2939
+ return _this2.root_.classList.remove(className);
2940
+ },
2941
+ getAttribute: function getAttribute(name) {
2942
+ return _this2.root_.getAttribute(name);
2943
+ },
2944
+ setAttribute: function setAttribute(name, value) {
2945
+ return _this2.root_.setAttribute(name, value);
2946
+ },
2947
+ removeAttribute: function removeAttribute(name) {
2948
+ return _this2.root_.removeAttribute(name);
2949
+ },
2950
+ computeBoundingRect: function computeBoundingRect() {
2951
+ return _this2.root_.getBoundingClientRect();
2952
+ },
2953
+ getTabIndex: function getTabIndex() {
2954
+ return _this2.root_.tabIndex;
2955
+ },
2956
+ registerInteractionHandler: function registerInteractionHandler(type, handler) {
2957
+ _this2.root_.addEventListener(type, handler);
2958
+ },
2959
+ deregisterInteractionHandler: function deregisterInteractionHandler(type, handler) {
2960
+ _this2.root_.removeEventListener(type, handler);
2961
+ },
2962
+ registerThumbContainerInteractionHandler: function registerThumbContainerInteractionHandler(type, handler) {
2963
+ _this2.thumbContainer_.addEventListener(type, handler);
2964
+ },
2965
+ deregisterThumbContainerInteractionHandler: function deregisterThumbContainerInteractionHandler(type, handler) {
2966
+ _this2.thumbContainer_.removeEventListener(type, handler);
2967
+ },
2968
+ registerBodyInteractionHandler: function registerBodyInteractionHandler(type, handler) {
2969
+ document.body.addEventListener(type, handler);
2970
+ },
2971
+ deregisterBodyInteractionHandler: function deregisterBodyInteractionHandler(type, handler) {
2972
+ document.body.removeEventListener(type, handler);
2973
+ },
2974
+ registerResizeHandler: function registerResizeHandler(handler) {
2975
+ window.addEventListener('resize', handler);
2976
+ },
2977
+ deregisterResizeHandler: function deregisterResizeHandler(handler) {
2978
+ window.removeEventListener('resize', handler);
2979
+ },
2980
+ notifyInput: function notifyInput() {
2981
+ _this2.emit(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */].INPUT_EVENT, _this2);
2982
+ },
2983
+ notifyChange: function notifyChange() {
2984
+ _this2.emit(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */].CHANGE_EVENT, _this2);
2985
+ },
2986
+ setThumbContainerStyleProperty: function setThumbContainerStyleProperty(propertyName, value) {
2987
+ _this2.thumbContainer_.style.setProperty(propertyName, value);
2988
+ },
2989
+ setTrackStyleProperty: function setTrackStyleProperty(propertyName, value) {
2990
+ _this2.track_.style.setProperty(propertyName, value);
2991
+ },
2992
+ isRTL: function isRTL() {
2993
+ return getComputedStyle(_this2.root_).direction === 'rtl';
2994
+ }
2995
+ });
2996
+ }
2997
+ }, {
2998
+ key: 'initialSyncWithDOM',
2999
+ value: function initialSyncWithDOM() {
3000
+ var origValueNow = parseFloat(this.root_.getAttribute(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */].ARIA_VALUENOW));
3001
+ this.min = parseFloat(this.root_.getAttribute(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */].ARIA_VALUEMIN)) || this.min;
3002
+ this.max = parseFloat(this.root_.getAttribute(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */].ARIA_VALUEMAX)) || this.max;
3003
+ this.step = parseFloat(this.root_.getAttribute(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */].STEP_DATA_ATTR)) || this.step;
3004
+ this.value = origValueNow || this.value;
3005
+ this.disabled = this.root_.hasAttribute(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */].ARIA_DISABLED) && this.root_.getAttribute(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* strings */].ARIA_DISABLED) !== 'false';
3006
+ }
3007
+ }, {
3008
+ key: 'layout',
3009
+ value: function layout() {
3010
+ this.foundation_.layout();
3011
+ }
3012
+ }, {
3013
+ key: 'stepUp',
3014
+ value: function stepUp() {
3015
+ var amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.step || 1;
3016
+
3017
+ this.value += amount;
3018
+ }
3019
+ }, {
3020
+ key: 'stepDown',
3021
+ value: function stepDown() {
3022
+ var amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.step || 1;
3023
+
3024
+ this.value -= amount;
3025
+ }
3026
+ }, {
3027
+ key: 'value',
3028
+ get: function get() {
3029
+ return this.foundation_.getValue();
3030
+ },
3031
+ set: function set(value) {
3032
+ this.foundation_.setValue(value);
3033
+ }
3034
+ }, {
3035
+ key: 'min',
3036
+ get: function get() {
3037
+ return this.foundation_.getMin();
3038
+ },
3039
+ set: function set(min) {
3040
+ this.foundation_.setMin(min);
3041
+ }
3042
+ }, {
3043
+ key: 'max',
3044
+ get: function get() {
3045
+ return this.foundation_.getMax();
3046
+ },
3047
+ set: function set(max) {
3048
+ this.foundation_.setMax(max);
3049
+ }
3050
+ }, {
3051
+ key: 'step',
3052
+ get: function get() {
3053
+ return this.foundation_.getStep();
3054
+ },
3055
+ set: function set(step) {
3056
+ this.foundation_.setStep(step);
3057
+ }
3058
+ }, {
3059
+ key: 'disabled',
3060
+ get: function get() {
3061
+ return this.foundation_.isDisabled();
3062
+ },
3063
+ set: function set(disabled) {
3064
+ this.foundation_.setDisabled(disabled);
3065
+ }
3066
+ }], [{
3067
+ key: 'attachTo',
3068
+ value: function attachTo(root) {
3069
+ return new MDCSlider(root);
3070
+ }
3071
+ }]);
3072
+
3073
+ return MDCSlider;
3074
+ }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
3075
+
3076
+ /***/ }),
3077
+ /* 25 */
2825
3078
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2826
3079
 
2827
3080
  "use strict";
2828
3081
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2829
3082
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSnackbar", function() { return MDCSnackbar; });
2830
3083
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2831
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(59);
3084
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(62);
2832
3085
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_animation__ = __webpack_require__(3);
2833
3086
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSnackbarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
2834
3087
  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; }; }();
@@ -2950,18 +3203,18 @@ var MDCSnackbar = function (_MDCComponent) {
2950
3203
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2951
3204
 
2952
3205
  /***/ }),
2953
- /* 24 */
3206
+ /* 26 */
2954
3207
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2955
3208
 
2956
3209
  "use strict";
2957
3210
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2958
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tab__ = __webpack_require__(12);
3211
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__tab__ = __webpack_require__(13);
2959
3212
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__tab__["a"]; });
2960
3213
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTab", function() { return __WEBPACK_IMPORTED_MODULE_0__tab__["b"]; });
2961
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tab_bar__ = __webpack_require__(10);
3214
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__tab_bar__ = __webpack_require__(11);
2962
3215
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__tab_bar__["a"]; });
2963
3216
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBar", function() { return __WEBPACK_IMPORTED_MODULE_1__tab_bar__["b"]; });
2964
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__ = __webpack_require__(62);
3217
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__ = __webpack_require__(65);
2965
3218
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBarScrollerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__["a"]; });
2966
3219
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTabBarScroller", function() { return __WEBPACK_IMPORTED_MODULE_2__tab_bar_scroller__["b"]; });
2967
3220
  /**
@@ -2985,14 +3238,14 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2985
3238
 
2986
3239
 
2987
3240
  /***/ }),
2988
- /* 25 */
3241
+ /* 27 */
2989
3242
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2990
3243
 
2991
3244
  "use strict";
2992
3245
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2993
3246
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextfield", function() { return MDCTextfield; });
2994
3247
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2995
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(67);
3248
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(70);
2996
3249
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextfieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
2997
3250
  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; };
2998
3251
 
@@ -3176,15 +3429,15 @@ var MDCTextfield = function (_MDCComponent) {
3176
3429
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
3177
3430
 
3178
3431
  /***/ }),
3179
- /* 26 */
3432
+ /* 28 */
3180
3433
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3181
3434
 
3182
3435
  "use strict";
3183
3436
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3184
3437
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCToolbar", function() { return MDCToolbar; });
3185
3438
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3186
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(69);
3187
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(70);
3439
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(72);
3440
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(73);
3188
3441
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCToolbarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
3189
3442
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_2__util__; });
3190
3443
  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; }; }();
@@ -3264,8 +3517,8 @@ var MDCToolbar = function (_MDCComponent) {
3264
3517
  getOffsetHeight: function getOffsetHeight() {
3265
3518
  return _this2.root_.offsetHeight;
3266
3519
  },
3267
- getFlexibleRowElementOffsetHeight: function getFlexibleRowElementOffsetHeight() {
3268
- return _this2.flexibleRowElement_.offsetHeight;
3520
+ getFirstRowElementOffsetHeight: function getFirstRowElementOffsetHeight() {
3521
+ return _this2.firstRowElement_.offsetHeight;
3269
3522
  },
3270
3523
  notifyChange: function notifyChange(evtData) {
3271
3524
  return _this2.emit(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.CHANGE_EVENT, evtData);
@@ -3277,7 +3530,7 @@ var MDCToolbar = function (_MDCComponent) {
3277
3530
  return _this2.titleElement_.style.setProperty(property, value);
3278
3531
  },
3279
3532
  setStyleForFlexibleRowElement: function setStyleForFlexibleRowElement(property, value) {
3280
- return _this2.flexibleRowElement_.style.setProperty(property, value);
3533
+ return _this2.firstRowElement_.style.setProperty(property, value);
3281
3534
  },
3282
3535
  setStyleForFixedAdjustElement: function setStyleForFixedAdjustElement(property, value) {
3283
3536
  if (_this2.fixedAdjustElement) {
@@ -3287,9 +3540,9 @@ var MDCToolbar = function (_MDCComponent) {
3287
3540
  });
3288
3541
  }
3289
3542
  }, {
3290
- key: 'flexibleRowElement_',
3543
+ key: 'firstRowElement_',
3291
3544
  get: function get() {
3292
- return this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.FLEXIBLE_ROW_SELECTOR);
3545
+ return this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.FIRST_ROW_SELECTOR);
3293
3546
  }
3294
3547
  }, {
3295
3548
  key: 'titleElement_',
@@ -3316,28 +3569,29 @@ var MDCToolbar = function (_MDCComponent) {
3316
3569
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
3317
3570
 
3318
3571
  /***/ }),
3319
- /* 27 */
3572
+ /* 29 */
3320
3573
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3321
3574
 
3322
3575
  "use strict";
3323
3576
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3324
3577
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3325
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_checkbox__ = __webpack_require__(14);
3326
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_form_field__ = __webpack_require__(17);
3327
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_grid_list__ = __webpack_require__(18);
3328
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__material_icon_toggle__ = __webpack_require__(19);
3329
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__material_radio__ = __webpack_require__(21);
3330
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__material_ripple__ = __webpack_require__(1);
3331
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__material_dialog__ = __webpack_require__(15);
3332
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__material_drawer__ = __webpack_require__(16);
3333
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__material_textfield__ = __webpack_require__(25);
3334
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__material_snackbar__ = __webpack_require__(23);
3335
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__material_linear_progress__ = __webpack_require__(20);
3578
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_checkbox__ = __webpack_require__(15);
3579
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_form_field__ = __webpack_require__(18);
3580
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_grid_list__ = __webpack_require__(19);
3581
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__material_icon_toggle__ = __webpack_require__(20);
3582
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__material_radio__ = __webpack_require__(22);
3583
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__material_ripple__ = __webpack_require__(2);
3584
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__material_dialog__ = __webpack_require__(16);
3585
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__material_drawer__ = __webpack_require__(17);
3586
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__material_textfield__ = __webpack_require__(27);
3587
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__material_snackbar__ = __webpack_require__(25);
3588
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__material_linear_progress__ = __webpack_require__(21);
3336
3589
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__material_menu__ = __webpack_require__(6);
3337
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__material_select__ = __webpack_require__(22);
3338
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__material_tabs__ = __webpack_require__(24);
3339
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__material_toolbar__ = __webpack_require__(26);
3340
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__material_auto_init__ = __webpack_require__(13);
3590
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__material_select__ = __webpack_require__(23);
3591
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__material_slider__ = __webpack_require__(24);
3592
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__material_tabs__ = __webpack_require__(26);
3593
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__material_toolbar__ = __webpack_require__(28);
3594
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__material_auto_init__ = __webpack_require__(14);
3341
3595
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "base", function() { return __WEBPACK_IMPORTED_MODULE_0__material_base__; });
3342
3596
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "checkbox", function() { return __WEBPACK_IMPORTED_MODULE_1__material_checkbox__; });
3343
3597
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "dialog", function() { return __WEBPACK_IMPORTED_MODULE_7__material_dialog__; });
@@ -3349,12 +3603,13 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3349
3603
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "radio", function() { return __WEBPACK_IMPORTED_MODULE_5__material_radio__; });
3350
3604
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "ripple", function() { return __WEBPACK_IMPORTED_MODULE_6__material_ripple__; });
3351
3605
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "snackbar", function() { return __WEBPACK_IMPORTED_MODULE_10__material_snackbar__; });
3352
- /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "tabs", function() { return __WEBPACK_IMPORTED_MODULE_14__material_tabs__; });
3606
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "tabs", function() { return __WEBPACK_IMPORTED_MODULE_15__material_tabs__; });
3353
3607
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "textfield", function() { return __WEBPACK_IMPORTED_MODULE_9__material_textfield__; });
3354
3608
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "menu", function() { return __WEBPACK_IMPORTED_MODULE_12__material_menu__; });
3355
3609
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "select", function() { return __WEBPACK_IMPORTED_MODULE_13__material_select__; });
3356
- /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "toolbar", function() { return __WEBPACK_IMPORTED_MODULE_15__material_toolbar__; });
3357
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "autoInit", function() { return __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a"]; });
3610
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "slider", function() { return __WEBPACK_IMPORTED_MODULE_14__material_slider__; });
3611
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "toolbar", function() { return __WEBPACK_IMPORTED_MODULE_16__material_toolbar__; });
3612
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "autoInit", function() { return __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a"]; });
3358
3613
  /**
3359
3614
  * Copyright 2016 Google Inc. All Rights Reserved.
3360
3615
  *
@@ -3389,29 +3644,31 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3389
3644
 
3390
3645
 
3391
3646
 
3647
+
3392
3648
  // Register all components
3393
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCCheckbox', __WEBPACK_IMPORTED_MODULE_1__material_checkbox__["MDCCheckbox"]);
3394
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCDialog', __WEBPACK_IMPORTED_MODULE_7__material_dialog__["MDCDialog"]);
3395
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCPersistentDrawer', __WEBPACK_IMPORTED_MODULE_8__material_drawer__["MDCPersistentDrawer"]);
3396
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCTemporaryDrawer', __WEBPACK_IMPORTED_MODULE_8__material_drawer__["MDCTemporaryDrawer"]);
3397
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCRipple', __WEBPACK_IMPORTED_MODULE_6__material_ripple__["MDCRipple"]);
3398
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCGridList', __WEBPACK_IMPORTED_MODULE_3__material_grid_list__["MDCGridList"]);
3399
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCIconToggle', __WEBPACK_IMPORTED_MODULE_4__material_icon_toggle__["MDCIconToggle"]);
3400
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCLinearProgress', __WEBPACK_IMPORTED_MODULE_11__material_linear_progress__["MDCLinearProgress"]);
3401
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCRadio', __WEBPACK_IMPORTED_MODULE_5__material_radio__["MDCRadio"]);
3402
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCSnackbar', __WEBPACK_IMPORTED_MODULE_10__material_snackbar__["MDCSnackbar"]);
3403
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCTab', __WEBPACK_IMPORTED_MODULE_14__material_tabs__["MDCTab"]);
3404
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCTabBar', __WEBPACK_IMPORTED_MODULE_14__material_tabs__["MDCTabBar"]);
3405
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCTextfield', __WEBPACK_IMPORTED_MODULE_9__material_textfield__["MDCTextfield"]);
3406
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCSimpleMenu', __WEBPACK_IMPORTED_MODULE_12__material_menu__["MDCSimpleMenu"]);
3407
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCSelect', __WEBPACK_IMPORTED_MODULE_13__material_select__["MDCSelect"]);
3408
- __WEBPACK_IMPORTED_MODULE_16__material_auto_init__["a" /* default */].register('MDCToolbar', __WEBPACK_IMPORTED_MODULE_15__material_toolbar__["MDCToolbar"]);
3649
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCCheckbox', __WEBPACK_IMPORTED_MODULE_1__material_checkbox__["MDCCheckbox"]);
3650
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCDialog', __WEBPACK_IMPORTED_MODULE_7__material_dialog__["MDCDialog"]);
3651
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCPersistentDrawer', __WEBPACK_IMPORTED_MODULE_8__material_drawer__["MDCPersistentDrawer"]);
3652
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCTemporaryDrawer', __WEBPACK_IMPORTED_MODULE_8__material_drawer__["MDCTemporaryDrawer"]);
3653
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCRipple', __WEBPACK_IMPORTED_MODULE_6__material_ripple__["MDCRipple"]);
3654
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCGridList', __WEBPACK_IMPORTED_MODULE_3__material_grid_list__["MDCGridList"]);
3655
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCIconToggle', __WEBPACK_IMPORTED_MODULE_4__material_icon_toggle__["MDCIconToggle"]);
3656
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCLinearProgress', __WEBPACK_IMPORTED_MODULE_11__material_linear_progress__["MDCLinearProgress"]);
3657
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCRadio', __WEBPACK_IMPORTED_MODULE_5__material_radio__["MDCRadio"]);
3658
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCSnackbar', __WEBPACK_IMPORTED_MODULE_10__material_snackbar__["MDCSnackbar"]);
3659
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCTab', __WEBPACK_IMPORTED_MODULE_15__material_tabs__["MDCTab"]);
3660
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCTabBar', __WEBPACK_IMPORTED_MODULE_15__material_tabs__["MDCTabBar"]);
3661
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCTextfield', __WEBPACK_IMPORTED_MODULE_9__material_textfield__["MDCTextfield"]);
3662
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCSimpleMenu', __WEBPACK_IMPORTED_MODULE_12__material_menu__["MDCSimpleMenu"]);
3663
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCSelect', __WEBPACK_IMPORTED_MODULE_13__material_select__["MDCSelect"]);
3664
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCSlider', __WEBPACK_IMPORTED_MODULE_14__material_slider__["MDCSlider"]);
3665
+ __WEBPACK_IMPORTED_MODULE_17__material_auto_init__["a" /* default */].register('MDCToolbar', __WEBPACK_IMPORTED_MODULE_16__material_toolbar__["MDCToolbar"]);
3409
3666
 
3410
3667
  // Export all components.
3411
3668
 
3412
3669
 
3413
3670
  /***/ }),
3414
- /* 28 */
3671
+ /* 30 */
3415
3672
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3416
3673
 
3417
3674
  "use strict";
@@ -3441,6 +3698,7 @@ var cssClasses = {
3441
3698
  UPGRADED: 'mdc-checkbox--upgraded',
3442
3699
  CHECKED: 'mdc-checkbox--checked',
3443
3700
  INDETERMINATE: 'mdc-checkbox--indeterminate',
3701
+ DISABLED: 'mdc-checkbox--disabled',
3444
3702
  ANIM_UNCHECKED_CHECKED: 'mdc-checkbox--anim-unchecked-checked',
3445
3703
  ANIM_UNCHECKED_INDETERMINATE: 'mdc-checkbox--anim-unchecked-indeterminate',
3446
3704
  ANIM_CHECKED_UNCHECKED: 'mdc-checkbox--anim-checked-unchecked',
@@ -3462,12 +3720,12 @@ var numbers = {
3462
3720
  };
3463
3721
 
3464
3722
  /***/ }),
3465
- /* 29 */
3723
+ /* 31 */
3466
3724
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3467
3725
 
3468
3726
  "use strict";
3469
3727
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3470
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(28);
3728
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(30);
3471
3729
  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; };
3472
3730
 
3473
3731
  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; }; }();
@@ -3597,6 +3855,11 @@ var MDCCheckboxFoundation = function (_MDCFoundation) {
3597
3855
  key: 'setDisabled',
3598
3856
  value: function setDisabled(disabled) {
3599
3857
  this.getNativeControl_().disabled = disabled;
3858
+ if (disabled) {
3859
+ this.adapter_.addClass(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */].DISABLED);
3860
+ } else {
3861
+ this.adapter_.removeClass(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */].DISABLED);
3862
+ }
3600
3863
  }
3601
3864
  }, {
3602
3865
  key: 'getValue',
@@ -3743,7 +4006,7 @@ function validDescriptor(inputPropDesc) {
3743
4006
  }
3744
4007
 
3745
4008
  /***/ }),
3746
- /* 30 */
4009
+ /* 32 */
3747
4010
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3748
4011
 
3749
4012
  "use strict";
@@ -3784,12 +4047,12 @@ var strings = {
3784
4047
  };
3785
4048
 
3786
4049
  /***/ }),
3787
- /* 31 */
4050
+ /* 33 */
3788
4051
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3789
4052
 
3790
4053
  "use strict";
3791
4054
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3792
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(30);
4055
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(32);
3793
4056
  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; };
3794
4057
 
3795
4058
  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; }; }();
@@ -3992,13 +4255,13 @@ var MDCDialogFoundation = function (_MDCFoundation) {
3992
4255
  /* harmony default export */ __webpack_exports__["a"] = (MDCDialogFoundation);
3993
4256
 
3994
4257
  /***/ }),
3995
- /* 32 */
4258
+ /* 34 */
3996
4259
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3997
4260
 
3998
4261
  "use strict";
3999
4262
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
4000
4263
  /* harmony export (immutable) */ __webpack_exports__["createFocusTrapInstance"] = createFocusTrapInstance;
4001
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_focus_trap__ = __webpack_require__(71);
4264
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_focus_trap__ = __webpack_require__(74);
4002
4265
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_focus_trap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_focus_trap__);
4003
4266
  /**
4004
4267
  * Copyright 2016 Google Inc. All Rights Reserved.
@@ -4028,7 +4291,7 @@ function createFocusTrapInstance(surfaceEl, acceptButtonEl) {
4028
4291
  }
4029
4292
 
4030
4293
  /***/ }),
4031
- /* 33 */
4294
+ /* 35 */
4032
4295
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4033
4296
 
4034
4297
  "use strict";
@@ -4067,12 +4330,12 @@ var strings = {
4067
4330
  };
4068
4331
 
4069
4332
  /***/ }),
4070
- /* 34 */
4333
+ /* 36 */
4071
4334
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4072
4335
 
4073
4336
  "use strict";
4074
4337
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__slidable__ = __webpack_require__(5);
4075
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(33);
4338
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(35);
4076
4339
  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; };
4077
4340
 
4078
4341
  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; }; }();
@@ -4145,13 +4408,13 @@ var MDCPersistentDrawerFoundation = function (_MDCSlidableDrawerFou) {
4145
4408
  /* harmony default export */ __webpack_exports__["a"] = (MDCPersistentDrawerFoundation);
4146
4409
 
4147
4410
  /***/ }),
4148
- /* 35 */
4411
+ /* 37 */
4149
4412
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4150
4413
 
4151
4414
  "use strict";
4152
4415
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCPersistentDrawer; });
4153
4416
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
4154
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(34);
4417
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(36);
4155
4418
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(7);
4156
4419
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
4157
4420
  /* unused harmony reexport util */
@@ -4303,7 +4566,7 @@ var MDCPersistentDrawer = function (_MDCComponent) {
4303
4566
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
4304
4567
 
4305
4568
  /***/ }),
4306
- /* 36 */
4569
+ /* 38 */
4307
4570
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4308
4571
 
4309
4572
  "use strict";
@@ -4327,7 +4590,7 @@ var MDCPersistentDrawer = function (_MDCComponent) {
4327
4590
  var FOCUSABLE_ELEMENTS = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), ' + 'button:not([disabled]), iframe, object, embed, [tabindex], [contenteditable]';
4328
4591
 
4329
4592
  /***/ }),
4330
- /* 37 */
4593
+ /* 39 */
4331
4594
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4332
4595
 
4333
4596
  "use strict";
@@ -4411,11 +4674,8 @@ var MDCSlidableDrawerFoundation = function (_MDCFoundation) {
4411
4674
  _this.animatingCssClass_ = animatingCssClass;
4412
4675
  _this.openCssClass_ = openCssClass;
4413
4676
 
4414
- _this.transitionEndHandler_ = function (ev) {
4415
- if (_this.isRootTransitioningEventTarget_(ev.target)) {
4416
- _this.adapter_.removeClass(_this.animatingCssClass_);
4417
- _this.adapter_.deregisterTransitionEndHandler(_this.transitionEndHandler_);
4418
- }
4677
+ _this.transitionEndHandler_ = function (evt) {
4678
+ return _this.handleTransitionEnd_(evt);
4419
4679
  };
4420
4680
 
4421
4681
  _this.inert_ = false;
@@ -4614,6 +4874,14 @@ var MDCSlidableDrawerFoundation = function (_MDCFoundation) {
4614
4874
  // if the event target is the root event target currently transitioning.
4615
4875
  return false;
4616
4876
  }
4877
+ }, {
4878
+ key: 'handleTransitionEnd_',
4879
+ value: function handleTransitionEnd_(evt) {
4880
+ if (this.isRootTransitioningEventTarget_(evt.target)) {
4881
+ this.adapter_.removeClass(this.animatingCssClass_);
4882
+ this.adapter_.deregisterTransitionEndHandler(this.transitionEndHandler_);
4883
+ }
4884
+ }
4617
4885
  }, {
4618
4886
  key: 'newPosition_',
4619
4887
  get: function get() {
@@ -4633,7 +4901,7 @@ var MDCSlidableDrawerFoundation = function (_MDCFoundation) {
4633
4901
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCFoundation"]);
4634
4902
 
4635
4903
  /***/ }),
4636
- /* 38 */
4904
+ /* 40 */
4637
4905
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4638
4906
 
4639
4907
  "use strict";
@@ -4661,7 +4929,8 @@ var MDCSlidableDrawerFoundation = function (_MDCFoundation) {
4661
4929
  var cssClasses = {
4662
4930
  ROOT: 'mdc-temporary-drawer',
4663
4931
  OPEN: 'mdc-temporary-drawer--open',
4664
- ANIMATING: 'mdc-temporary-drawer--animating'
4932
+ ANIMATING: 'mdc-temporary-drawer--animating',
4933
+ SCROLL_LOCK: 'mdc-drawer-scroll-lock'
4665
4934
  };
4666
4935
 
4667
4936
  var strings = {
@@ -4673,12 +4942,12 @@ var strings = {
4673
4942
  };
4674
4943
 
4675
4944
  /***/ }),
4676
- /* 39 */
4945
+ /* 41 */
4677
4946
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4678
4947
 
4679
4948
  "use strict";
4680
4949
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__slidable__ = __webpack_require__(5);
4681
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(38);
4950
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(40);
4682
4951
  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; };
4683
4952
 
4684
4953
  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); } };
@@ -4727,6 +4996,8 @@ var MDCTemporaryDrawerFoundation = function (_MDCSlidableDrawerFou) {
4727
4996
  key: 'defaultAdapter',
4728
4997
  get: function get() {
4729
4998
  return _extends(__WEBPACK_IMPORTED_MODULE_0__slidable__["a" /* MDCSlidableDrawerFoundation */].defaultAdapter, {
4999
+ addBodyClass: function addBodyClass() /* className: string */{},
5000
+ removeBodyClass: function removeBodyClass() /* className: string */{},
4730
5001
  isDrawer: function isDrawer() {
4731
5002
  return false;
4732
5003
  },
@@ -4762,10 +5033,12 @@ var MDCTemporaryDrawerFoundation = function (_MDCSlidableDrawerFou) {
4762
5033
  _get(MDCTemporaryDrawerFoundation.prototype.__proto__ || Object.getPrototypeOf(MDCTemporaryDrawerFoundation.prototype), 'destroy', this).call(this);
4763
5034
 
4764
5035
  this.adapter_.deregisterInteractionHandler('click', this.componentClickHandler_);
5036
+ this.enableScroll_();
4765
5037
  }
4766
5038
  }, {
4767
5039
  key: 'open',
4768
5040
  value: function open() {
5041
+ this.disableScroll_();
4769
5042
  // Make sure custom property values are cleared before starting.
4770
5043
  this.adapter_.updateCssVariable('');
4771
5044
 
@@ -4799,6 +5072,24 @@ var MDCTemporaryDrawerFoundation = function (_MDCSlidableDrawerFou) {
4799
5072
  value: function isRootTransitioningEventTarget_(el) {
4800
5073
  return this.adapter_.isDrawer(el);
4801
5074
  }
5075
+ }, {
5076
+ key: 'handleTransitionEnd_',
5077
+ value: function handleTransitionEnd_(evt) {
5078
+ _get(MDCTemporaryDrawerFoundation.prototype.__proto__ || Object.getPrototypeOf(MDCTemporaryDrawerFoundation.prototype), 'handleTransitionEnd_', this).call(this, evt);
5079
+ if (!this.isOpen_) {
5080
+ this.enableScroll_();
5081
+ }
5082
+ }
5083
+ }, {
5084
+ key: 'disableScroll_',
5085
+ value: function disableScroll_() {
5086
+ this.adapter_.addBodyClass(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */].SCROLL_LOCK);
5087
+ }
5088
+ }, {
5089
+ key: 'enableScroll_',
5090
+ value: function enableScroll_() {
5091
+ this.adapter_.removeBodyClass(__WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */].SCROLL_LOCK);
5092
+ }
4802
5093
  }]);
4803
5094
 
4804
5095
  return MDCTemporaryDrawerFoundation;
@@ -4807,13 +5098,13 @@ var MDCTemporaryDrawerFoundation = function (_MDCSlidableDrawerFou) {
4807
5098
  /* harmony default export */ __webpack_exports__["a"] = (MDCTemporaryDrawerFoundation);
4808
5099
 
4809
5100
  /***/ }),
4810
- /* 40 */
5101
+ /* 42 */
4811
5102
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4812
5103
 
4813
5104
  "use strict";
4814
5105
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCTemporaryDrawer; });
4815
5106
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
4816
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(39);
5107
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(41);
4817
5108
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(7);
4818
5109
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
4819
5110
  /* unused harmony reexport util */
@@ -4877,6 +5168,12 @@ var MDCTemporaryDrawer = function (_MDCComponent) {
4877
5168
  hasClass: function hasClass(className) {
4878
5169
  return _this2.root_.classList.contains(className);
4879
5170
  },
5171
+ addBodyClass: function addBodyClass(className) {
5172
+ return document.body.classList.add(className);
5173
+ },
5174
+ removeBodyClass: function removeBodyClass(className) {
5175
+ return document.body.classList.remove(className);
5176
+ },
4880
5177
  hasNecessaryDom: function hasNecessaryDom() {
4881
5178
  return Boolean(_this2.drawer);
4882
5179
  },
@@ -4972,7 +5269,7 @@ var MDCTemporaryDrawer = function (_MDCComponent) {
4972
5269
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
4973
5270
 
4974
5271
  /***/ }),
4975
- /* 41 */
5272
+ /* 43 */
4976
5273
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4977
5274
 
4978
5275
  "use strict";
@@ -5003,12 +5300,12 @@ var strings = {
5003
5300
  };
5004
5301
 
5005
5302
  /***/ }),
5006
- /* 42 */
5303
+ /* 44 */
5007
5304
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5008
5305
 
5009
5306
  "use strict";
5010
5307
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5011
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(41);
5308
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(43);
5012
5309
  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; };
5013
5310
 
5014
5311
  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; }; }();
@@ -5102,7 +5399,7 @@ var MDCFormFieldFoundation = function (_MDCFoundation) {
5102
5399
  /* harmony default export */ __webpack_exports__["a"] = (MDCFormFieldFoundation);
5103
5400
 
5104
5401
  /***/ }),
5105
- /* 43 */
5402
+ /* 45 */
5106
5403
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5107
5404
 
5108
5405
  "use strict";
@@ -5128,12 +5425,12 @@ var strings = {
5128
5425
  };
5129
5426
 
5130
5427
  /***/ }),
5131
- /* 44 */
5428
+ /* 46 */
5132
5429
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5133
5430
 
5134
5431
  "use strict";
5135
5432
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5136
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(43);
5433
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(45);
5137
5434
  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; };
5138
5435
 
5139
5436
  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; }; }();
@@ -5249,7 +5546,7 @@ var MDCGridListFoundation = function (_MDCFoundation) {
5249
5546
  /* harmony default export */ __webpack_exports__["a"] = (MDCGridListFoundation);
5250
5547
 
5251
5548
  /***/ }),
5252
- /* 45 */
5549
+ /* 47 */
5253
5550
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5254
5551
 
5255
5552
  "use strict";
@@ -5285,12 +5582,12 @@ var strings = {
5285
5582
  };
5286
5583
 
5287
5584
  /***/ }),
5288
- /* 46 */
5585
+ /* 48 */
5289
5586
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5290
5587
 
5291
5588
  "use strict";
5292
5589
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5293
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(45);
5590
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(47);
5294
5591
  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; };
5295
5592
 
5296
5593
  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; }; }();
@@ -5518,7 +5815,7 @@ function isSpace(_ref3) {
5518
5815
  }
5519
5816
 
5520
5817
  /***/ }),
5521
- /* 47 */
5818
+ /* 49 */
5522
5819
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5523
5820
 
5524
5821
  "use strict";
@@ -5552,13 +5849,13 @@ var strings = {
5552
5849
  };
5553
5850
 
5554
5851
  /***/ }),
5555
- /* 48 */
5852
+ /* 50 */
5556
5853
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5557
5854
 
5558
5855
  "use strict";
5559
5856
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5560
5857
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_animation__ = __webpack_require__(3);
5561
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(47);
5858
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(49);
5562
5859
  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; };
5563
5860
 
5564
5861
  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; }; }();
@@ -5696,7 +5993,7 @@ var MDCLinearProgressFoundation = function (_MDCFoundation) {
5696
5993
  /* harmony default export */ __webpack_exports__["a"] = (MDCLinearProgressFoundation);
5697
5994
 
5698
5995
  /***/ }),
5699
- /* 49 */
5996
+ /* 51 */
5700
5997
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5701
5998
 
5702
5999
  "use strict";
@@ -5730,7 +6027,8 @@ var cssClasses = {
5730
6027
  var strings = {
5731
6028
  ITEMS_SELECTOR: '.mdc-simple-menu__items',
5732
6029
  SELECTED_EVENT: 'MDCSimpleMenu:selected',
5733
- CANCEL_EVENT: 'MDCSimpleMenu:cancel'
6030
+ CANCEL_EVENT: 'MDCSimpleMenu:cancel',
6031
+ ARIA_DISABLED_ATTR: 'aria-disabled'
5734
6032
  };
5735
6033
 
5736
6034
  var numbers = {
@@ -5752,12 +6050,12 @@ var numbers = {
5752
6050
  };
5753
6051
 
5754
6052
  /***/ }),
5755
- /* 50 */
6053
+ /* 52 */
5756
6054
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5757
6055
 
5758
6056
  "use strict";
5759
6057
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5760
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(49);
6058
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(51);
5761
6059
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(9);
5762
6060
  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; };
5763
6061
 
@@ -5820,6 +6118,7 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
5820
6118
  return (/* boolean */false
5821
6119
  );
5822
6120
  },
6121
+ getAttributeForEventTarget: function getAttributeForEventTarget() /* target: EventTarget, attributeName: string */{},
5823
6122
  getInnerDimensions: function getInnerDimensions() {
5824
6123
  return (/* { width: number, height: number } */{}
5825
6124
  );
@@ -5845,8 +6144,8 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
5845
6144
  },
5846
6145
  registerInteractionHandler: function registerInteractionHandler() /* type: string, handler: EventListener */{},
5847
6146
  deregisterInteractionHandler: function deregisterInteractionHandler() /* type: string, handler: EventListener */{},
5848
- registerDocumentClickHandler: function registerDocumentClickHandler() /* handler: EventListener */{},
5849
- deregisterDocumentClickHandler: function deregisterDocumentClickHandler() /* handler: EventListener */{},
6147
+ registerBodyClickHandler: function registerBodyClickHandler() /* handler: EventListener */{},
6148
+ deregisterBodyClickHandler: function deregisterBodyClickHandler() /* handler: EventListener */{},
5850
6149
  getYParamsForItemAtIndex: function getYParamsForItemAtIndex() {
5851
6150
  return (/* index: number */ /* {top: number, height: number} */{}
5852
6151
  );
@@ -5898,9 +6197,9 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
5898
6197
  _this.keyupHandler_ = function (evt) {
5899
6198
  return _this.handleKeyboardUp_(evt);
5900
6199
  };
5901
- _this.documentClickHandler_ = function () {
6200
+ _this.documentClickHandler_ = function (evt) {
5902
6201
  _this.adapter_.notifyCancel();
5903
- _this.close();
6202
+ _this.close(evt);
5904
6203
  };
5905
6204
  _this.isOpen_ = false;
5906
6205
  _this.startScaleX_ = 0;
@@ -5947,7 +6246,7 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
5947
6246
  this.adapter_.deregisterInteractionHandler('click', this.clickHandler_);
5948
6247
  this.adapter_.deregisterInteractionHandler('keyup', this.keyupHandler_);
5949
6248
  this.adapter_.deregisterInteractionHandler('keydown', this.keydownHandler_);
5950
- this.adapter_.deregisterDocumentClickHandler(this.documentClickHandler_);
6249
+ this.adapter_.deregisterBodyClickHandler(this.documentClickHandler_);
5951
6250
  }
5952
6251
 
5953
6252
  // Calculate transition delays for individual menu items, so that they fade in one at a time.
@@ -6178,6 +6477,9 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6178
6477
  value: function handlePossibleSelected_(evt) {
6179
6478
  var _this4 = this;
6180
6479
 
6480
+ if (this.adapter_.getAttributeForEventTarget(evt.target, __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */].ARIA_DISABLED_ATTR) === 'true') {
6481
+ return;
6482
+ }
6181
6483
  var targetIndex = this.adapter_.getIndexForEventTarget(evt.target);
6182
6484
  if (targetIndex < 0) {
6183
6485
  return;
@@ -6259,7 +6561,7 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6259
6561
  _this5.animateMenu_();
6260
6562
  _this5.adapter_.addClass(MDCSimpleMenuFoundation.cssClasses.OPEN);
6261
6563
  _this5.focusOnOpen_(focusIndex);
6262
- _this5.adapter_.registerDocumentClickHandler(_this5.documentClickHandler_);
6564
+ _this5.adapter_.registerBodyClickHandler(_this5.documentClickHandler_);
6263
6565
  });
6264
6566
  this.isOpen_ = true;
6265
6567
  }
@@ -6271,7 +6573,15 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6271
6573
  value: function close() {
6272
6574
  var _this6 = this;
6273
6575
 
6274
- this.adapter_.deregisterDocumentClickHandler(this.documentClickHandler_);
6576
+ var evt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
6577
+
6578
+ var targetIsDisabled = evt ? this.adapter_.getAttributeForEventTarget(evt.target, __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */].ARIA_DISABLED_ATTR) === 'true' : false;
6579
+
6580
+ if (targetIsDisabled) {
6581
+ return;
6582
+ }
6583
+
6584
+ this.adapter_.deregisterBodyClickHandler(this.documentClickHandler_);
6275
6585
  this.adapter_.addClass(MDCSimpleMenuFoundation.cssClasses.ANIMATING);
6276
6586
  requestAnimationFrame(function () {
6277
6587
  _this6.removeTransitionDelays_();
@@ -6294,13 +6604,13 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
6294
6604
  /* harmony default export */ __webpack_exports__["a"] = (MDCSimpleMenuFoundation);
6295
6605
 
6296
6606
  /***/ }),
6297
- /* 51 */
6607
+ /* 53 */
6298
6608
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6299
6609
 
6300
6610
  "use strict";
6301
6611
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCSimpleMenu; });
6302
6612
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6303
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(50);
6613
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(52);
6304
6614
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(9);
6305
6615
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
6306
6616
  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; }; }();
@@ -6377,6 +6687,9 @@ var MDCSimpleMenu = function (_MDCComponent) {
6377
6687
  hasNecessaryDom: function hasNecessaryDom() {
6378
6688
  return Boolean(_this2.itemsContainer_);
6379
6689
  },
6690
+ getAttributeForEventTarget: function getAttributeForEventTarget(target, attributeName) {
6691
+ return target.getAttribute(attributeName);
6692
+ },
6380
6693
  getInnerDimensions: function getInnerDimensions() {
6381
6694
  var itemsContainer = _this2.itemsContainer_;
6382
6695
 
@@ -6406,11 +6719,11 @@ var MDCSimpleMenu = function (_MDCComponent) {
6406
6719
  deregisterInteractionHandler: function deregisterInteractionHandler(type, handler) {
6407
6720
  return _this2.root_.removeEventListener(type, handler);
6408
6721
  },
6409
- registerDocumentClickHandler: function registerDocumentClickHandler(handler) {
6410
- return document.addEventListener('click', handler);
6722
+ registerBodyClickHandler: function registerBodyClickHandler(handler) {
6723
+ return document.body.addEventListener('click', handler);
6411
6724
  },
6412
- deregisterDocumentClickHandler: function deregisterDocumentClickHandler(handler) {
6413
- return document.removeEventListener('click', handler);
6725
+ deregisterBodyClickHandler: function deregisterBodyClickHandler(handler) {
6726
+ return document.body.removeEventListener('click', handler);
6414
6727
  },
6415
6728
  getYParamsForItemAtIndex: function getYParamsForItemAtIndex(index) {
6416
6729
  var _items$index = _this2.items[index],
@@ -6512,7 +6825,7 @@ var MDCSimpleMenu = function (_MDCComponent) {
6512
6825
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
6513
6826
 
6514
6827
  /***/ }),
6515
- /* 52 */
6828
+ /* 54 */
6516
6829
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6517
6830
 
6518
6831
  "use strict";
@@ -6543,12 +6856,12 @@ var cssClasses = {
6543
6856
  };
6544
6857
 
6545
6858
  /***/ }),
6546
- /* 53 */
6859
+ /* 55 */
6547
6860
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6548
6861
 
6549
6862
  "use strict";
6550
6863
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6551
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(52);
6864
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(54);
6552
6865
  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; }; }();
6553
6866
 
6554
6867
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -6658,7 +6971,7 @@ var MDCRadioFoundation = function (_MDCFoundation) {
6658
6971
  /* harmony default export */ __webpack_exports__["a"] = (MDCRadioFoundation);
6659
6972
 
6660
6973
  /***/ }),
6661
- /* 54 */
6974
+ /* 56 */
6662
6975
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6663
6976
 
6664
6977
  "use strict";
@@ -6711,12 +7024,12 @@ var numbers = {
6711
7024
  };
6712
7025
 
6713
7026
  /***/ }),
6714
- /* 55 */
7027
+ /* 57 */
6715
7028
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6716
7029
 
6717
7030
  "use strict";
6718
7031
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6719
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(54);
7032
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(56);
6720
7033
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(8);
6721
7034
  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; };
6722
7035
 
@@ -7214,7 +7527,7 @@ var MDCRippleFoundation = function (_MDCFoundation) {
7214
7527
  /* harmony default export */ __webpack_exports__["a"] = (MDCRippleFoundation);
7215
7528
 
7216
7529
  /***/ }),
7217
- /* 56 */
7530
+ /* 58 */
7218
7531
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7219
7532
 
7220
7533
  "use strict";
@@ -7246,12 +7559,12 @@ var strings = {
7246
7559
  };
7247
7560
 
7248
7561
  /***/ }),
7249
- /* 57 */
7562
+ /* 59 */
7250
7563
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7251
7564
 
7252
7565
  "use strict";
7253
7566
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
7254
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(56);
7567
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(58);
7255
7568
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_menu__ = __webpack_require__(6);
7256
7569
  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; };
7257
7570
 
@@ -7385,72 +7698,459 @@ var MDCSelectFoundation = function (_MDCFoundation) {
7385
7698
  _this.open_();
7386
7699
  }
7387
7700
  };
7388
- _this.displayViaKeyboardHandler_ = function (evt) {
7389
- return _this.handleDisplayViaKeyboard_(evt);
7701
+ _this.displayViaKeyboardHandler_ = function (evt) {
7702
+ return _this.handleDisplayViaKeyboard_(evt);
7703
+ };
7704
+ _this.selectionHandler_ = function (_ref) {
7705
+ var detail = _ref.detail;
7706
+ var index = detail.index;
7707
+
7708
+ _this.close_();
7709
+ if (index !== _this.selectedIndex_) {
7710
+ _this.setSelectedIndex(index);
7711
+ _this.adapter_.notifyChange();
7712
+ }
7713
+ };
7714
+ _this.cancelHandler_ = function () {
7715
+ _this.close_();
7716
+ };
7717
+ return _this;
7718
+ }
7719
+
7720
+ _createClass(MDCSelectFoundation, [{
7721
+ key: 'init',
7722
+ value: function init() {
7723
+ this.ctx_ = this.adapter_.create2dRenderingContext();
7724
+ this.adapter_.registerInteractionHandler('click', this.displayHandler_);
7725
+ this.adapter_.registerInteractionHandler('keydown', this.displayViaKeyboardHandler_);
7726
+ this.adapter_.registerInteractionHandler('keyup', this.displayViaKeyboardHandler_);
7727
+ this.adapter_.registerMenuInteractionHandler(__WEBPACK_IMPORTED_MODULE_2__material_menu__["MDCSimpleMenuFoundation"].strings.SELECTED_EVENT, this.selectionHandler_);
7728
+ this.adapter_.registerMenuInteractionHandler(__WEBPACK_IMPORTED_MODULE_2__material_menu__["MDCSimpleMenuFoundation"].strings.CANCEL_EVENT, this.cancelHandler_);
7729
+ this.resize();
7730
+ }
7731
+ }, {
7732
+ key: 'destroy',
7733
+ value: function destroy() {
7734
+ // Drop reference to context object to prevent potential leaks
7735
+ this.ctx_ = null;
7736
+ this.adapter_.deregisterInteractionHandler('click', this.displayHandler_);
7737
+ this.adapter_.deregisterInteractionHandler('keydown', this.displayViaKeyboardHandler_);
7738
+ this.adapter_.deregisterInteractionHandler('keyup', this.displayViaKeyboardHandler_);
7739
+ this.adapter_.deregisterMenuInteractionHandler(__WEBPACK_IMPORTED_MODULE_2__material_menu__["MDCSimpleMenuFoundation"].strings.SELECTED_EVENT, this.selectionHandler_);
7740
+ this.adapter_.deregisterMenuInteractionHandler(__WEBPACK_IMPORTED_MODULE_2__material_menu__["MDCSimpleMenuFoundation"].strings.CANCEL_EVENT, this.cancelHandler_);
7741
+ }
7742
+ }, {
7743
+ key: 'getValue',
7744
+ value: function getValue() {
7745
+ return this.selectedIndex_ >= 0 ? this.adapter_.getValueForOptionAtIndex(this.selectedIndex_) : '';
7746
+ }
7747
+ }, {
7748
+ key: 'getSelectedIndex',
7749
+ value: function getSelectedIndex() {
7750
+ return this.selectedIndex_;
7751
+ }
7752
+ }, {
7753
+ key: 'setSelectedIndex',
7754
+ value: function setSelectedIndex(index) {
7755
+ var prevSelectedIndex = this.selectedIndex_;
7756
+ if (prevSelectedIndex >= 0) {
7757
+ this.adapter_.rmAttrForOptionAtIndex(this.selectedIndex_, 'aria-selected');
7758
+ }
7759
+
7760
+ this.selectedIndex_ = index >= 0 && index < this.adapter_.getNumberOfOptions() ? index : -1;
7761
+ var selectedTextContent = '';
7762
+ if (this.selectedIndex_ >= 0) {
7763
+ selectedTextContent = this.adapter_.getTextForOptionAtIndex(this.selectedIndex_).trim();
7764
+ this.adapter_.setAttrForOptionAtIndex(this.selectedIndex_, 'aria-selected', 'true');
7765
+ }
7766
+ this.adapter_.setSelectedTextContent(selectedTextContent);
7767
+ }
7768
+ }, {
7769
+ key: 'isDisabled',
7770
+ value: function isDisabled() {
7771
+ return this.disabled_;
7772
+ }
7773
+ }, {
7774
+ key: 'setDisabled',
7775
+ value: function setDisabled(disabled) {
7776
+ var DISABLED = MDCSelectFoundation.cssClasses.DISABLED;
7777
+
7778
+ this.disabled_ = disabled;
7779
+ if (this.disabled_) {
7780
+ this.adapter_.addClass(DISABLED);
7781
+ this.adapter_.setAttr('aria-disabled', 'true');
7782
+ this.adapter_.makeUntabbable();
7783
+ } else {
7784
+ this.adapter_.removeClass(DISABLED);
7785
+ this.adapter_.rmAttr('aria-disabled');
7786
+ this.adapter_.makeTabbable();
7787
+ }
7788
+ }
7789
+ }, {
7790
+ key: 'resize',
7791
+ value: function resize() {
7792
+ var font = this.adapter_.getComputedStyleValue('font');
7793
+ var letterSpacing = parseFloat(this.adapter_.getComputedStyleValue('letter-spacing'));
7794
+ if (font) {
7795
+ this.ctx_.font = font;
7796
+ } else {
7797
+ var primaryFontFamily = this.adapter_.getComputedStyleValue('font-family').split(',')[0];
7798
+ var fontSize = this.adapter_.getComputedStyleValue('font-size');
7799
+ this.ctx_.font = fontSize + ' ' + primaryFontFamily;
7800
+ }
7801
+
7802
+ var maxTextLength = 0;
7803
+ for (var i = 0, l = this.adapter_.getNumberOfOptions(); i < l; i++) {
7804
+ var txt = this.adapter_.getTextForOptionAtIndex(i).trim();
7805
+
7806
+ var _ctx_$measureText = this.ctx_.measureText(txt),
7807
+ width = _ctx_$measureText.width;
7808
+
7809
+ var addedSpace = letterSpacing * txt.length;
7810
+ maxTextLength = Math.max(maxTextLength, Math.ceil(width + addedSpace));
7811
+ }
7812
+ this.adapter_.setStyle('width', maxTextLength + 'px');
7813
+ }
7814
+ }, {
7815
+ key: 'open_',
7816
+ value: function open_() {
7817
+ var OPEN = MDCSelectFoundation.cssClasses.OPEN;
7818
+
7819
+ var focusIndex = this.selectedIndex_ < 0 ? 0 : this.selectedIndex_;
7820
+
7821
+ var _computeMenuStylesFor = this.computeMenuStylesForOpenAtIndex_(focusIndex),
7822
+ left = _computeMenuStylesFor.left,
7823
+ top = _computeMenuStylesFor.top,
7824
+ transformOrigin = _computeMenuStylesFor.transformOrigin;
7825
+
7826
+ this.adapter_.setMenuElStyle('left', left);
7827
+ this.adapter_.setMenuElStyle('top', top);
7828
+ this.adapter_.setMenuElStyle('transform-origin', transformOrigin);
7829
+ this.adapter_.addClass(OPEN);
7830
+ this.adapter_.openMenu(focusIndex);
7831
+ }
7832
+ }, {
7833
+ key: 'computeMenuStylesForOpenAtIndex_',
7834
+ value: function computeMenuStylesForOpenAtIndex_(index) {
7835
+ var innerHeight = this.adapter_.getWindowInnerHeight();
7836
+
7837
+ var _adapter_$computeBoun = this.adapter_.computeBoundingRect(),
7838
+ left = _adapter_$computeBoun.left,
7839
+ top = _adapter_$computeBoun.top;
7840
+
7841
+ this.adapter_.setMenuElAttr('aria-hidden', 'true');
7842
+ this.adapter_.setMenuElStyle('display', 'block');
7843
+ var menuHeight = this.adapter_.getMenuElOffsetHeight();
7844
+ var itemOffsetTop = this.adapter_.getOffsetTopForOptionAtIndex(index);
7845
+ this.adapter_.setMenuElStyle('display', '');
7846
+ this.adapter_.rmMenuElAttr('aria-hidden');
7847
+
7848
+ var adjustedTop = top - itemOffsetTop;
7849
+ var adjustedHeight = menuHeight - itemOffsetTop;
7850
+ var overflowsTop = adjustedTop < 0;
7851
+ var overflowsBottom = adjustedTop + adjustedHeight > innerHeight;
7852
+ if (overflowsTop) {
7853
+ adjustedTop = 0;
7854
+ } else if (overflowsBottom) {
7855
+ adjustedTop = Math.max(0, adjustedTop - adjustedHeight);
7856
+ }
7857
+
7858
+ return {
7859
+ left: left + 'px',
7860
+ top: adjustedTop + 'px',
7861
+ transformOrigin: 'center ' + itemOffsetTop + 'px'
7862
+ };
7863
+ }
7864
+ }, {
7865
+ key: 'close_',
7866
+ value: function close_() {
7867
+ var OPEN = MDCSelectFoundation.cssClasses.OPEN;
7868
+
7869
+ this.adapter_.removeClass(OPEN);
7870
+ this.adapter_.focus();
7871
+ }
7872
+ }, {
7873
+ key: 'handleDisplayViaKeyboard_',
7874
+ value: function handleDisplayViaKeyboard_(evt) {
7875
+ // We use a hard-coded 2 instead of Event.AT_TARGET to avoid having to reference a browser
7876
+ // global.
7877
+ var EVENT_PHASE_AT_TARGET = 2;
7878
+ if (evt.eventPhase !== EVENT_PHASE_AT_TARGET) {
7879
+ return;
7880
+ }
7881
+
7882
+ // Prevent pressing space down from scrolling the page
7883
+ var isSpaceDown = evt.type === 'keydown' && (evt.key === 'Space' || evt.keyCode === 32);
7884
+ if (isSpaceDown) {
7885
+ evt.preventDefault();
7886
+ }
7887
+
7888
+ var isOpenerKey = OPENER_KEYS.some(function (_ref2) {
7889
+ var key = _ref2.key,
7890
+ keyCode = _ref2.keyCode,
7891
+ forType = _ref2.forType;
7892
+
7893
+ return evt.type === forType && (evt.key === key || evt.keyCode === keyCode);
7894
+ });
7895
+ if (isOpenerKey) {
7896
+ this.displayHandler_(evt);
7897
+ }
7898
+ }
7899
+ }]);
7900
+
7901
+ return MDCSelectFoundation;
7902
+ }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCFoundation"]);
7903
+
7904
+ /* harmony default export */ __webpack_exports__["a"] = (MDCSelectFoundation);
7905
+
7906
+ /***/ }),
7907
+ /* 60 */
7908
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7909
+
7910
+ "use strict";
7911
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(10);
7912
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_animation__ = __webpack_require__(3);
7913
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_base_foundation__ = __webpack_require__(1);
7914
+ 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; };
7915
+
7916
+ 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; }; }();
7917
+
7918
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7919
+
7920
+ 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; }
7921
+
7922
+ 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; }
7923
+
7924
+ /**
7925
+ * Copyright 2017 Google Inc. All Rights Reserved.
7926
+ *
7927
+ * Licensed under the Apache License, Version 2.0 (the "License");
7928
+ *you may not use this file except in compliance with the License.
7929
+ * You may obtain a copy of the License at
7930
+ *
7931
+ * http://www.apache.org/licenses/LICENSE-2.0
7932
+ *
7933
+ * Unless required by applicable law or agreed to in writing, software
7934
+ * distributed under the License is distributed on an "AS IS" BASIS,
7935
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
7936
+ * See the License for the specific language governing permissions and
7937
+ * limitations under the License.
7938
+ */
7939
+
7940
+
7941
+
7942
+
7943
+
7944
+
7945
+ var KEY_IDS = {
7946
+ ARROW_LEFT: 'ArrowLeft',
7947
+ ARROW_RIGHT: 'ArrowRight',
7948
+ ARROW_UP: 'ArrowUp',
7949
+ ARROW_DOWN: 'ArrowDown',
7950
+ HOME: 'Home',
7951
+ END: 'End',
7952
+ PAGE_UP: 'PageUp',
7953
+ PAGE_DOWN: 'PageDown'
7954
+ };
7955
+
7956
+ var MDCSliderFoundation = function (_MDCFoundation) {
7957
+ _inherits(MDCSliderFoundation, _MDCFoundation);
7958
+
7959
+ _createClass(MDCSliderFoundation, null, [{
7960
+ key: 'cssClasses',
7961
+ get: function get() {
7962
+ return __WEBPACK_IMPORTED_MODULE_0__constants__["b" /* cssClasses */];
7963
+ }
7964
+ }, {
7965
+ key: 'strings',
7966
+ get: function get() {
7967
+ return __WEBPACK_IMPORTED_MODULE_0__constants__["a" /* strings */];
7968
+ }
7969
+ }, {
7970
+ key: 'numbers',
7971
+ get: function get() {
7972
+ return __WEBPACK_IMPORTED_MODULE_0__constants__["c" /* numbers */];
7973
+ }
7974
+ }, {
7975
+ key: 'defaultAdapter',
7976
+ get: function get() {
7977
+ return {
7978
+ addClass: function addClass() /* className: string */{},
7979
+ removeClass: function removeClass() /* className: string */{},
7980
+ getAttribute: function getAttribute() {
7981
+ return (/* name: string */ /* string|null */null
7982
+ );
7983
+ },
7984
+ setAttribute: function setAttribute() /* name: string, value: string */{},
7985
+ removeAttribute: function removeAttribute() /* name: string */{},
7986
+ computeBoundingRect: function computeBoundingRect() {
7987
+ return (/* ClientRect */{
7988
+ top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0
7989
+ }
7990
+ );
7991
+ },
7992
+ getTabIndex: function getTabIndex() {
7993
+ return (/* number */0
7994
+ );
7995
+ },
7996
+ registerInteractionHandler: function registerInteractionHandler() /* type: string, handler: EventListener */{},
7997
+ deregisterInteractionHandler: function deregisterInteractionHandler() /* type: string, handler: EventListener */{},
7998
+ registerThumbContainerInteractionHandler: function registerThumbContainerInteractionHandler() /* type: string, handler: EventListener */{},
7999
+ deregisterThumbContainerInteractionHandler: function deregisterThumbContainerInteractionHandler() /* type: string, handler: EventListener */{},
8000
+ registerBodyInteractionHandler: function registerBodyInteractionHandler() /* type: string, handler: EventListener */{},
8001
+ deregisterBodyInteractionHandler: function deregisterBodyInteractionHandler() /* type: string, handler: EventListener */{},
8002
+ registerResizeHandler: function registerResizeHandler() /* handler: EventListener */{},
8003
+ deregisterResizeHandler: function deregisterResizeHandler() /* handler: EventListener */{},
8004
+ notifyInput: function notifyInput() {},
8005
+ notifyChange: function notifyChange() {},
8006
+ setThumbContainerStyleProperty: function setThumbContainerStyleProperty() /* propertyName: string, value: string */{},
8007
+ setTrackStyleProperty: function setTrackStyleProperty() /* propertyName: string, value: string */{},
8008
+ isRTL: function isRTL() {
8009
+ return (/* boolean */false
8010
+ );
8011
+ }
8012
+ };
8013
+ }
8014
+ }]);
8015
+
8016
+ function MDCSliderFoundation() {
8017
+ var adapter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8018
+
8019
+ _classCallCheck(this, MDCSliderFoundation);
8020
+
8021
+ var _this = _possibleConstructorReturn(this, (MDCSliderFoundation.__proto__ || Object.getPrototypeOf(MDCSliderFoundation)).call(this, _extends(MDCSliderFoundation.defaultAdapter, adapter)));
8022
+
8023
+ _this.rect_ = null;
8024
+ // We set this to NaN since we want it to be a number, but we can't use '0' or '-1'
8025
+ // because those could be valid tabindices set by the client code.
8026
+ _this.savedTabIndex_ = NaN;
8027
+ _this.off_ = false;
8028
+ _this.active_ = false;
8029
+ _this.inTransit_ = false;
8030
+ _this.handlingThumbTargetEvt_ = false;
8031
+ _this.min_ = 0;
8032
+ _this.max_ = 100;
8033
+ _this.step_ = 0;
8034
+ _this.value_ = 0;
8035
+ _this.disabled_ = false;
8036
+ _this.preventFocusState_ = false;
8037
+ _this.updateUIFrame_ = 0;
8038
+ _this.thumbContainerPointerHandler_ = function () {
8039
+ _this.handlingThumbTargetEvt_ = true;
8040
+ };
8041
+ _this.mousedownHandler_ = _this.createDownHandler_('mousemove', 'mouseup');
8042
+ _this.pointerdownHandler_ = _this.createDownHandler_('pointermove', 'pointerup');
8043
+ _this.touchstartHandler_ = _this.createDownHandler_('touchmove', 'touchend', function (_ref) {
8044
+ var targetTouches = _ref.targetTouches;
8045
+ return targetTouches[0].pageX;
8046
+ });
8047
+ _this.keydownHandler_ = function (evt) {
8048
+ return _this.handleKeydown_(evt);
7390
8049
  };
7391
- _this.selectionHandler_ = function (_ref) {
7392
- var detail = _ref.detail;
7393
- var index = detail.index;
7394
-
7395
- _this.close_();
7396
- if (index !== _this.selectedIndex_) {
7397
- _this.setSelectedIndex(index);
7398
- _this.adapter_.notifyChange();
7399
- }
8050
+ _this.focusHandler_ = function () {
8051
+ return _this.handleFocus_();
7400
8052
  };
7401
- _this.cancelHandler_ = function () {
7402
- _this.close_();
8053
+ _this.blurHandler_ = function () {
8054
+ return _this.handleBlur_();
8055
+ };
8056
+ _this.resizeHandler_ = function () {
8057
+ return _this.layout();
7403
8058
  };
7404
8059
  return _this;
7405
8060
  }
7406
8061
 
7407
- _createClass(MDCSelectFoundation, [{
8062
+ _createClass(MDCSliderFoundation, [{
7408
8063
  key: 'init',
7409
8064
  value: function init() {
7410
- this.ctx_ = this.adapter_.create2dRenderingContext();
7411
- this.adapter_.registerInteractionHandler('click', this.displayHandler_);
7412
- this.adapter_.registerInteractionHandler('keydown', this.displayViaKeyboardHandler_);
7413
- this.adapter_.registerInteractionHandler('keyup', this.displayViaKeyboardHandler_);
7414
- this.adapter_.registerMenuInteractionHandler(__WEBPACK_IMPORTED_MODULE_2__material_menu__["MDCSimpleMenuFoundation"].strings.SELECTED_EVENT, this.selectionHandler_);
7415
- this.adapter_.registerMenuInteractionHandler(__WEBPACK_IMPORTED_MODULE_2__material_menu__["MDCSimpleMenuFoundation"].strings.CANCEL_EVENT, this.cancelHandler_);
7416
- this.resize();
8065
+ var _this2 = this;
8066
+
8067
+ this.adapter_.registerInteractionHandler('mousedown', this.mousedownHandler_);
8068
+ this.adapter_.registerInteractionHandler('pointerdown', this.pointerdownHandler_);
8069
+ this.adapter_.registerInteractionHandler('touchstart', this.touchstartHandler_);
8070
+ this.adapter_.registerInteractionHandler('keydown', this.keydownHandler_);
8071
+ this.adapter_.registerInteractionHandler('focus', this.focusHandler_);
8072
+ this.adapter_.registerInteractionHandler('blur', this.blurHandler_);
8073
+ ['mousedown', 'pointerdown', 'touchstart'].forEach(function (evtName) {
8074
+ _this2.adapter_.registerThumbContainerInteractionHandler(evtName, _this2.thumbContainerPointerHandler_);
8075
+ });
8076
+ this.adapter_.registerResizeHandler(this.resizeHandler_);
8077
+ this.layout();
7417
8078
  }
7418
8079
  }, {
7419
8080
  key: 'destroy',
7420
8081
  value: function destroy() {
7421
- // Drop reference to context object to prevent potential leaks
7422
- this.ctx_ = null;
7423
- this.adapter_.deregisterInteractionHandler('click', this.displayHandler_);
7424
- this.adapter_.deregisterInteractionHandler('keydown', this.displayViaKeyboardHandler_);
7425
- this.adapter_.deregisterInteractionHandler('keyup', this.displayViaKeyboardHandler_);
7426
- this.adapter_.deregisterMenuInteractionHandler(__WEBPACK_IMPORTED_MODULE_2__material_menu__["MDCSimpleMenuFoundation"].strings.SELECTED_EVENT, this.selectionHandler_);
7427
- this.adapter_.deregisterMenuInteractionHandler(__WEBPACK_IMPORTED_MODULE_2__material_menu__["MDCSimpleMenuFoundation"].strings.CANCEL_EVENT, this.cancelHandler_);
8082
+ var _this3 = this;
8083
+
8084
+ this.adapter_.deregisterInteractionHandler('mousedown', this.mousedownHandler_);
8085
+ this.adapter_.deregisterInteractionHandler('pointerdown', this.mousedownHandler_);
8086
+ this.adapter_.deregisterInteractionHandler('touchstart', this.mousedownHandler_);
8087
+ this.adapter_.deregisterInteractionHandler('keydown', this.keydownHandler_);
8088
+ this.adapter_.deregisterInteractionHandler('focus', this.focusHandler_);
8089
+ this.adapter_.deregisterInteractionHandler('blur', this.blurHandler_);
8090
+ ['mousedown', 'pointerdown', 'touchstart'].forEach(function (evtName) {
8091
+ _this3.adapter_.deregisterThumbContainerInteractionHandler(evtName, _this3.thumbContainerPointerHandler_);
8092
+ });
8093
+ this.adapter_.deregisterResizeHandler(this.resizeHandler_);
8094
+ }
8095
+ }, {
8096
+ key: 'layout',
8097
+ value: function layout() {
8098
+ this.rect_ = this.adapter_.computeBoundingRect();
8099
+ this.updateUIForCurrentValue_();
7428
8100
  }
7429
8101
  }, {
7430
8102
  key: 'getValue',
7431
8103
  value: function getValue() {
7432
- return this.selectedIndex_ >= 0 ? this.adapter_.getValueForOptionAtIndex(this.selectedIndex_) : '';
8104
+ return this.value_;
7433
8105
  }
7434
8106
  }, {
7435
- key: 'getSelectedIndex',
7436
- value: function getSelectedIndex() {
7437
- return this.selectedIndex_;
8107
+ key: 'setValue',
8108
+ value: function setValue(value) {
8109
+ this.setValue_(value, false);
7438
8110
  }
7439
8111
  }, {
7440
- key: 'setSelectedIndex',
7441
- value: function setSelectedIndex(index) {
7442
- var prevSelectedIndex = this.selectedIndex_;
7443
- if (prevSelectedIndex >= 0) {
7444
- this.adapter_.rmAttrForOptionAtIndex(this.selectedIndex_, 'aria-selected');
8112
+ key: 'getMax',
8113
+ value: function getMax() {
8114
+ return this.max_;
8115
+ }
8116
+ }, {
8117
+ key: 'setMax',
8118
+ value: function setMax(max) {
8119
+ if (max < this.min_) {
8120
+ throw new Error('Cannot set max to be less than the slider\'s minimum value');
7445
8121
  }
7446
-
7447
- this.selectedIndex_ = index >= 0 && index < this.adapter_.getNumberOfOptions() ? index : -1;
7448
- var selectedTextContent = '';
7449
- if (this.selectedIndex_ >= 0) {
7450
- selectedTextContent = this.adapter_.getTextForOptionAtIndex(this.selectedIndex_).trim();
7451
- this.adapter_.setAttrForOptionAtIndex(this.selectedIndex_, 'aria-selected', 'true');
8122
+ this.max_ = max;
8123
+ this.setValue_(this.value_, false, true);
8124
+ this.adapter_.setAttribute(__WEBPACK_IMPORTED_MODULE_0__constants__["a" /* strings */].ARIA_VALUEMAX, String(this.max_));
8125
+ }
8126
+ }, {
8127
+ key: 'getMin',
8128
+ value: function getMin() {
8129
+ return this.min_;
8130
+ }
8131
+ }, {
8132
+ key: 'setMin',
8133
+ value: function setMin(min) {
8134
+ if (min > this.max_) {
8135
+ throw new Error('Cannot set min to be greater than the slider\'s maximum value');
7452
8136
  }
7453
- this.adapter_.setSelectedTextContent(selectedTextContent);
8137
+ this.min_ = min;
8138
+ this.setValue_(this.value_, false, true);
8139
+ this.adapter_.setAttribute(__WEBPACK_IMPORTED_MODULE_0__constants__["a" /* strings */].ARIA_VALUEMIN, String(this.min_));
8140
+ }
8141
+ }, {
8142
+ key: 'getStep',
8143
+ value: function getStep() {
8144
+ return this.step_;
8145
+ }
8146
+ }, {
8147
+ key: 'setStep',
8148
+ value: function setStep(step) {
8149
+ if (step < 0) {
8150
+ throw new Error('Step cannot be set to a negative number');
8151
+ }
8152
+ this.step_ = step;
8153
+ this.setValue_(this.value_, false, true);
7454
8154
  }
7455
8155
  }, {
7456
8156
  key: 'isDisabled',
@@ -7460,138 +8160,283 @@ var MDCSelectFoundation = function (_MDCFoundation) {
7460
8160
  }, {
7461
8161
  key: 'setDisabled',
7462
8162
  value: function setDisabled(disabled) {
7463
- var DISABLED = MDCSelectFoundation.cssClasses.DISABLED;
7464
-
7465
8163
  this.disabled_ = disabled;
8164
+ this.toggleClass_(__WEBPACK_IMPORTED_MODULE_0__constants__["b" /* cssClasses */].DISABLED, this.disabled_);
7466
8165
  if (this.disabled_) {
7467
- this.adapter_.addClass(DISABLED);
7468
- this.adapter_.setAttr('aria-disabled', 'true');
7469
- this.adapter_.makeUntabbable();
8166
+ this.savedTabIndex_ = this.adapter_.getTabIndex();
8167
+ this.adapter_.setAttribute(__WEBPACK_IMPORTED_MODULE_0__constants__["a" /* strings */].ARIA_DISABLED, 'true');
8168
+ this.adapter_.removeAttribute('tabindex');
7470
8169
  } else {
7471
- this.adapter_.removeClass(DISABLED);
7472
- this.adapter_.rmAttr('aria-disabled');
7473
- this.adapter_.makeTabbable();
8170
+ this.adapter_.removeAttribute(__WEBPACK_IMPORTED_MODULE_0__constants__["a" /* strings */].ARIA_DISABLED);
8171
+ if (!isNaN(this.savedTabIndex_)) {
8172
+ this.adapter_.setAttribute('tabindex', String(this.savedTabIndex_));
8173
+ }
7474
8174
  }
7475
8175
  }
7476
8176
  }, {
7477
- key: 'resize',
7478
- value: function resize() {
7479
- var font = this.adapter_.getComputedStyleValue('font');
7480
- var letterSpacing = parseFloat(this.adapter_.getComputedStyleValue('letter-spacing'));
7481
- if (font) {
7482
- this.ctx_.font = font;
7483
- } else {
7484
- var primaryFontFamily = this.adapter_.getComputedStyleValue('font-family').split(',')[0];
7485
- var fontSize = this.adapter_.getComputedStyleValue('font-size');
7486
- this.ctx_.font = fontSize + ' ' + primaryFontFamily;
7487
- }
8177
+ key: 'createDownHandler_',
8178
+ value: function createDownHandler_(moveEvt, upEvt) {
8179
+ var _this4 = this;
7488
8180
 
7489
- var maxTextLength = 0;
7490
- for (var i = 0, l = this.adapter_.getNumberOfOptions(); i < l; i++) {
7491
- var txt = this.adapter_.getTextForOptionAtIndex(i).trim();
8181
+ var getPageX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (_ref2) {
8182
+ var pageX = _ref2.pageX;
8183
+ return pageX;
8184
+ };
7492
8185
 
7493
- var _ctx_$measureText = this.ctx_.measureText(txt),
7494
- width = _ctx_$measureText.width;
8186
+ var moveHandler = function moveHandler(evt) {
8187
+ evt.preventDefault();
8188
+ _this4.setValueFromEvt_(evt, getPageX);
8189
+ };
7495
8190
 
7496
- var addedSpace = letterSpacing * txt.length;
7497
- maxTextLength = Math.max(maxTextLength, Math.ceil(width + addedSpace));
7498
- }
7499
- this.adapter_.setStyle('width', maxTextLength + 'px');
8191
+ var upHandler = function upHandler() {
8192
+ _this4.setActive_(false);
8193
+ _this4.adapter_.deregisterBodyInteractionHandler(moveEvt, moveHandler);
8194
+ _this4.adapter_.deregisterBodyInteractionHandler(upEvt, upHandler);
8195
+ _this4.adapter_.notifyChange();
8196
+ };
8197
+
8198
+ var downHandler = function downHandler(evt) {
8199
+ if (_this4.disabled_) {
8200
+ return;
8201
+ }
8202
+
8203
+ _this4.preventFocusState_ = true;
8204
+ _this4.setInTransit_(!_this4.handlingThumbTargetEvt_);
8205
+ _this4.handlingThumbTargetEvt_ = false;
8206
+
8207
+ _this4.setActive_(true);
8208
+
8209
+ _this4.adapter_.registerBodyInteractionHandler(moveEvt, moveHandler);
8210
+ _this4.adapter_.registerBodyInteractionHandler(upEvt, upHandler);
8211
+ _this4.setValueFromEvt_(evt, getPageX);
8212
+ };
8213
+
8214
+ return downHandler;
7500
8215
  }
7501
8216
  }, {
7502
- key: 'open_',
7503
- value: function open_() {
7504
- var OPEN = MDCSelectFoundation.cssClasses.OPEN;
7505
-
7506
- var focusIndex = this.selectedIndex_ < 0 ? 0 : this.selectedIndex_;
8217
+ key: 'setValueFromEvt_',
8218
+ value: function setValueFromEvt_(evt, getPageX) {
8219
+ var pageX = getPageX(evt);
8220
+ var value = this.computeValueFromPageX_(pageX);
8221
+ this.setValue_(value, true);
8222
+ }
8223
+ }, {
8224
+ key: 'computeValueFromPageX_',
8225
+ value: function computeValueFromPageX_(pageX) {
8226
+ var max = this.max_,
8227
+ min = this.min_;
7507
8228
 
7508
- var _computeMenuStylesFor = this.computeMenuStylesForOpenAtIndex_(focusIndex),
7509
- left = _computeMenuStylesFor.left,
7510
- top = _computeMenuStylesFor.top,
7511
- transformOrigin = _computeMenuStylesFor.transformOrigin;
8229
+ var xPos = pageX - this.rect_.left;
8230
+ var pctComplete = xPos / this.rect_.width;
8231
+ if (this.adapter_.isRTL()) {
8232
+ pctComplete = 1 - pctComplete;
8233
+ }
8234
+ // Fit the percentage complete between the range [min,max]
8235
+ // by remapping from [0, 1] to [min, min+(max-min)].
8236
+ return min + pctComplete * (max - min);
8237
+ }
8238
+ }, {
8239
+ key: 'handleKeydown_',
8240
+ value: function handleKeydown_(evt) {
8241
+ var keyId = this.getKeyId_(evt);
8242
+ var value = this.getValueForKeyId_(keyId);
8243
+ if (isNaN(value)) {
8244
+ return;
8245
+ }
7512
8246
 
7513
- this.adapter_.setMenuElStyle('left', left);
7514
- this.adapter_.setMenuElStyle('top', top);
7515
- this.adapter_.setMenuElStyle('transform-origin', transformOrigin);
7516
- this.adapter_.addClass(OPEN);
7517
- this.adapter_.openMenu(focusIndex);
8247
+ // Prevent page from scrolling due to key presses that would normally scroll the page
8248
+ evt.preventDefault();
8249
+ this.adapter_.addClass(__WEBPACK_IMPORTED_MODULE_0__constants__["b" /* cssClasses */].FOCUS);
8250
+ this.setValue_(value, true);
8251
+ this.adapter_.notifyChange();
8252
+ }
8253
+ }, {
8254
+ key: 'getKeyId_',
8255
+ value: function getKeyId_(kbdEvt) {
8256
+ switch (kbdEvt.key || kbdEvt.keyCode) {
8257
+ case KEY_IDS.ARROW_LEFT:
8258
+ case 37:
8259
+ return KEY_IDS.ARROW_LEFT;
8260
+ case KEY_IDS.ARROW_RIGHT:
8261
+ case 39:
8262
+ return KEY_IDS.ARROW_RIGHT;
8263
+ case KEY_IDS.ARROW_UP:
8264
+ case 38:
8265
+ return KEY_IDS.ARROW_UP;
8266
+ case KEY_IDS.ARROW_DOWN:
8267
+ case 40:
8268
+ return KEY_IDS.ARROW_DOWN;
8269
+ case KEY_IDS.HOME:
8270
+ case 36:
8271
+ return KEY_IDS.HOME;
8272
+ case KEY_IDS.END:
8273
+ case 35:
8274
+ return KEY_IDS.END;
8275
+ case KEY_IDS.PAGE_UP:
8276
+ case 33:
8277
+ return KEY_IDS.PAGE_UP;
8278
+ case KEY_IDS.PAGE_DOWN:
8279
+ case 34:
8280
+ return KEY_IDS.PAGE_DOWN;
8281
+ default:
8282
+ // Doesn't matter
8283
+ return '';
8284
+ }
8285
+ }
8286
+ }, {
8287
+ key: 'getValueForKeyId_',
8288
+ value: function getValueForKeyId_(keyId) {
8289
+ var max = this.max_,
8290
+ min = this.min_,
8291
+ step = this.step_;
8292
+
8293
+ var delta = step || (max - min) / 100;
8294
+ var valueNeedsToBeFlipped = this.adapter_.isRTL() && (keyId === KEY_IDS.ARROW_LEFT || keyId === KEY_IDS.ARROW_RIGHT);
8295
+ if (valueNeedsToBeFlipped) {
8296
+ delta = -delta;
8297
+ }
8298
+
8299
+ switch (keyId) {
8300
+ case KEY_IDS.ARROW_LEFT:
8301
+ case KEY_IDS.ARROW_DOWN:
8302
+ return this.value_ - delta;
8303
+ case KEY_IDS.ARROW_RIGHT:
8304
+ case KEY_IDS.ARROW_UP:
8305
+ return this.value_ + delta;
8306
+ case KEY_IDS.HOME:
8307
+ return this.min_;
8308
+ case KEY_IDS.END:
8309
+ return this.max_;
8310
+ case KEY_IDS.PAGE_UP:
8311
+ return this.value_ + delta * __WEBPACK_IMPORTED_MODULE_0__constants__["c" /* numbers */].PAGE_FACTOR;
8312
+ case KEY_IDS.PAGE_DOWN:
8313
+ return this.value_ - delta * __WEBPACK_IMPORTED_MODULE_0__constants__["c" /* numbers */].PAGE_FACTOR;
8314
+ default:
8315
+ return NaN;
8316
+ }
7518
8317
  }
7519
8318
  }, {
7520
- key: 'computeMenuStylesForOpenAtIndex_',
7521
- value: function computeMenuStylesForOpenAtIndex_(index) {
7522
- var innerHeight = this.adapter_.getWindowInnerHeight();
8319
+ key: 'handleFocus_',
8320
+ value: function handleFocus_() {
8321
+ if (this.preventFocusState_) {
8322
+ return;
8323
+ }
8324
+ this.adapter_.addClass(__WEBPACK_IMPORTED_MODULE_0__constants__["b" /* cssClasses */].FOCUS);
8325
+ }
8326
+ }, {
8327
+ key: 'handleBlur_',
8328
+ value: function handleBlur_() {
8329
+ this.preventFocusState_ = false;
8330
+ this.adapter_.removeClass(__WEBPACK_IMPORTED_MODULE_0__constants__["b" /* cssClasses */].FOCUS);
8331
+ }
8332
+ }, {
8333
+ key: 'setValue_',
8334
+ value: function setValue_(value, shouldFireInput) {
8335
+ var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
7523
8336
 
7524
- var _adapter_$computeBoun = this.adapter_.computeBoundingRect(),
7525
- left = _adapter_$computeBoun.left,
7526
- top = _adapter_$computeBoun.top;
8337
+ if (value === this.value_ && !force) {
8338
+ return;
8339
+ }
7527
8340
 
7528
- this.adapter_.setMenuElAttr('aria-hidden', 'true');
7529
- this.adapter_.setMenuElStyle('display', 'block');
7530
- var menuHeight = this.adapter_.getMenuElOffsetHeight();
7531
- var itemOffsetTop = this.adapter_.getOffsetTopForOptionAtIndex(index);
7532
- this.adapter_.setMenuElStyle('display', '');
7533
- this.adapter_.rmMenuElAttr('aria-hidden');
8341
+ var min = this.min_,
8342
+ max = this.max_;
7534
8343
 
7535
- var adjustedTop = top - itemOffsetTop;
7536
- var adjustedHeight = menuHeight - itemOffsetTop;
7537
- var overflowsTop = adjustedTop < 0;
7538
- var overflowsBottom = adjustedTop + adjustedHeight > innerHeight;
7539
- if (overflowsTop) {
7540
- adjustedTop = 0;
7541
- } else if (overflowsBottom) {
7542
- adjustedTop = Math.max(0, adjustedTop - adjustedHeight);
8344
+ var valueSetToBoundary = value === min || value === max;
8345
+ if (this.step_ && !valueSetToBoundary) {
8346
+ value = this.quantize_(value);
8347
+ }
8348
+ if (value < min) {
8349
+ value = min;
8350
+ } else if (value > max) {
8351
+ value = max;
7543
8352
  }
8353
+ this.value_ = value;
8354
+ this.adapter_.setAttribute(__WEBPACK_IMPORTED_MODULE_0__constants__["a" /* strings */].ARIA_VALUENOW, String(this.value_));
8355
+ this.updateUIForCurrentValue_();
7544
8356
 
7545
- return {
7546
- left: left + 'px',
7547
- top: adjustedTop + 'px',
7548
- transformOrigin: 'center ' + itemOffsetTop + 'px'
7549
- };
8357
+ if (shouldFireInput) {
8358
+ this.adapter_.notifyInput();
8359
+ }
7550
8360
  }
7551
8361
  }, {
7552
- key: 'close_',
7553
- value: function close_() {
7554
- var OPEN = MDCSelectFoundation.cssClasses.OPEN;
7555
-
7556
- this.adapter_.removeClass(OPEN);
7557
- this.adapter_.focus();
8362
+ key: 'quantize_',
8363
+ value: function quantize_(value) {
8364
+ var numSteps = Math.round(value / this.step_);
8365
+ var quantizedVal = numSteps * this.step_;
8366
+ return quantizedVal;
7558
8367
  }
7559
8368
  }, {
7560
- key: 'handleDisplayViaKeyboard_',
7561
- value: function handleDisplayViaKeyboard_(evt) {
7562
- // We use a hard-coded 2 instead of Event.AT_TARGET to avoid having to reference a browser
7563
- // global.
7564
- var EVENT_PHASE_AT_TARGET = 2;
7565
- if (evt.eventPhase !== EVENT_PHASE_AT_TARGET) {
7566
- return;
7567
- }
8369
+ key: 'updateUIForCurrentValue_',
8370
+ value: function updateUIForCurrentValue_() {
8371
+ var _this5 = this;
7568
8372
 
7569
- // Prevent pressing space down from scrolling the page
7570
- var isSpaceDown = evt.type === 'keydown' && (evt.key === 'Space' || evt.keyCode === 32);
7571
- if (isSpaceDown) {
7572
- evt.preventDefault();
8373
+ var max = this.max_,
8374
+ min = this.min_,
8375
+ value = this.value_;
8376
+
8377
+ var pctComplete = (value - min) / (max - min);
8378
+ var translatePx = pctComplete * this.rect_.width;
8379
+ if (this.adapter_.isRTL()) {
8380
+ translatePx = this.rect_.width - translatePx;
7573
8381
  }
7574
8382
 
7575
- var isOpenerKey = OPENER_KEYS.some(function (_ref2) {
7576
- var key = _ref2.key,
7577
- keyCode = _ref2.keyCode,
7578
- forType = _ref2.forType;
8383
+ var transformProp = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__material_animation__["a" /* getCorrectPropertyName */])(window, 'transform');
8384
+ var transitionendEvtName = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__material_animation__["b" /* getCorrectEventName */])(window, 'transitionend');
7579
8385
 
7580
- return evt.type === forType && (evt.key === key || evt.keyCode === keyCode);
8386
+ if (this.inTransit_) {
8387
+ var onTransitionEnd = function onTransitionEnd() {
8388
+ _this5.setInTransit_(false);
8389
+ _this5.adapter_.deregisterThumbContainerInteractionHandler(transitionendEvtName, onTransitionEnd);
8390
+ };
8391
+ this.adapter_.registerThumbContainerInteractionHandler(transitionendEvtName, onTransitionEnd);
8392
+ }
8393
+
8394
+ this.updateUIFrame_ = requestAnimationFrame(function () {
8395
+ _this5.setOff_(pctComplete === 0);
8396
+ // NOTE(traviskaufman): It would be nice to use calc() here,
8397
+ // but IE cannot handle calcs in transforms correctly.
8398
+ // See: https://goo.gl/NC2itk
8399
+ // Also note that the -50% offset is used to center the slider thumb.
8400
+ _this5.adapter_.setThumbContainerStyleProperty(transformProp, 'translateX(' + translatePx + 'px) translateX(-50%)');
8401
+ _this5.adapter_.setTrackStyleProperty(transformProp, 'scaleX(' + pctComplete + ')');
7581
8402
  });
7582
- if (isOpenerKey) {
7583
- this.displayHandler_(evt);
8403
+ }
8404
+ }, {
8405
+ key: 'setOff_',
8406
+ value: function setOff_(off) {
8407
+ this.off_ = off;
8408
+ this.toggleClass_(__WEBPACK_IMPORTED_MODULE_0__constants__["b" /* cssClasses */].OFF, this.off_);
8409
+ }
8410
+ }, {
8411
+ key: 'setActive_',
8412
+ value: function setActive_(active) {
8413
+ this.active_ = active;
8414
+ this.toggleClass_(__WEBPACK_IMPORTED_MODULE_0__constants__["b" /* cssClasses */].ACTIVE, this.active_);
8415
+ }
8416
+ }, {
8417
+ key: 'setInTransit_',
8418
+ value: function setInTransit_(inTransit) {
8419
+ this.inTransit_ = inTransit;
8420
+ this.toggleClass_(__WEBPACK_IMPORTED_MODULE_0__constants__["b" /* cssClasses */].IN_TRANSIT, this.inTransit_);
8421
+ }
8422
+ }, {
8423
+ key: 'toggleClass_',
8424
+ value: function toggleClass_(className, shouldBePresent) {
8425
+ if (shouldBePresent) {
8426
+ this.adapter_.addClass(className);
8427
+ } else {
8428
+ this.adapter_.removeClass(className);
7584
8429
  }
7585
8430
  }
7586
8431
  }]);
7587
8432
 
7588
- return MDCSelectFoundation;
7589
- }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCFoundation"]);
8433
+ return MDCSliderFoundation;
8434
+ }(__WEBPACK_IMPORTED_MODULE_2__material_base_foundation__["a" /* default */]);
7590
8435
 
7591
- /* harmony default export */ __webpack_exports__["a"] = (MDCSelectFoundation);
8436
+ /* harmony default export */ __webpack_exports__["a"] = (MDCSliderFoundation);
7592
8437
 
7593
8438
  /***/ }),
7594
- /* 58 */
8439
+ /* 61 */
7595
8440
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7596
8441
 
7597
8442
  "use strict";
@@ -7634,12 +8479,12 @@ var numbers = {
7634
8479
  };
7635
8480
 
7636
8481
  /***/ }),
7637
- /* 59 */
8482
+ /* 62 */
7638
8483
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7639
8484
 
7640
8485
  "use strict";
7641
8486
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
7642
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(58);
8487
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(61);
7643
8488
  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; };
7644
8489
 
7645
8490
  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; }; }();
@@ -7860,7 +8705,7 @@ var MDCSnackbarFoundation = function (_MDCFoundation) {
7860
8705
  /* harmony default export */ __webpack_exports__["a"] = (MDCSnackbarFoundation);
7861
8706
 
7862
8707
  /***/ }),
7863
- /* 60 */
8708
+ /* 63 */
7864
8709
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7865
8710
 
7866
8711
  "use strict";
@@ -7898,12 +8743,12 @@ var strings = {
7898
8743
  };
7899
8744
 
7900
8745
  /***/ }),
7901
- /* 61 */
8746
+ /* 64 */
7902
8747
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
7903
8748
 
7904
8749
  "use strict";
7905
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(2);
7906
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(60);
8750
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
8751
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(63);
7907
8752
  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; };
7908
8753
 
7909
8754
  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; }; }();
@@ -8251,15 +9096,15 @@ var MDCTabBarScrollerFoundation = function (_MDCFoundation) {
8251
9096
  /* harmony default export */ __webpack_exports__["a"] = (MDCTabBarScrollerFoundation);
8252
9097
 
8253
9098
  /***/ }),
8254
- /* 62 */
9099
+ /* 65 */
8255
9100
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8256
9101
 
8257
9102
  "use strict";
8258
9103
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return MDCTabBarScroller; });
8259
9104
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_animation__ = __webpack_require__(3);
8260
9105
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_base_component__ = __webpack_require__(4);
8261
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tab_bar__ = __webpack_require__(10);
8262
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(61);
9106
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__tab_bar__ = __webpack_require__(11);
9107
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__foundation__ = __webpack_require__(64);
8263
9108
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_3__foundation__["a"]; });
8264
9109
  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; }; }();
8265
9110
 
@@ -8422,7 +9267,7 @@ var MDCTabBarScroller = function (_MDCComponent) {
8422
9267
  }(__WEBPACK_IMPORTED_MODULE_1__material_base_component__["a" /* default */]);
8423
9268
 
8424
9269
  /***/ }),
8425
- /* 63 */
9270
+ /* 66 */
8426
9271
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8427
9272
 
8428
9273
  "use strict";
@@ -8455,13 +9300,13 @@ var strings = {
8455
9300
  };
8456
9301
 
8457
9302
  /***/ }),
8458
- /* 64 */
9303
+ /* 67 */
8459
9304
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8460
9305
 
8461
9306
  "use strict";
8462
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(2);
9307
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
8463
9308
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_animation__ = __webpack_require__(3);
8464
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(63);
9309
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(66);
8465
9310
  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; };
8466
9311
 
8467
9312
  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; }; }();
@@ -8701,12 +9546,12 @@ var MDCTabBarFoundation = function (_MDCFoundation) {
8701
9546
  /* harmony default export */ __webpack_exports__["a"] = (MDCTabBarFoundation);
8702
9547
 
8703
9548
  /***/ }),
8704
- /* 65 */
9549
+ /* 68 */
8705
9550
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8706
9551
 
8707
9552
  "use strict";
8708
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(2);
8709
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(11);
9553
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
9554
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(12);
8710
9555
  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; };
8711
9556
 
8712
9557
  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; }; }();
@@ -8858,7 +9703,7 @@ var MDCTabFoundation = function (_MDCFoundation) {
8858
9703
  /* harmony default export */ __webpack_exports__["a"] = (MDCTabFoundation);
8859
9704
 
8860
9705
  /***/ }),
8861
- /* 66 */
9706
+ /* 69 */
8862
9707
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8863
9708
 
8864
9709
  "use strict";
@@ -8898,12 +9743,12 @@ var cssClasses = {
8898
9743
  };
8899
9744
 
8900
9745
  /***/ }),
8901
- /* 67 */
9746
+ /* 70 */
8902
9747
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
8903
9748
 
8904
9749
  "use strict";
8905
9750
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
8906
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(66);
9751
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(69);
8907
9752
  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; };
8908
9753
 
8909
9754
  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; }; }();
@@ -9145,7 +9990,7 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
9145
9990
  /* harmony default export */ __webpack_exports__["a"] = (MDCTextfieldFoundation);
9146
9991
 
9147
9992
  /***/ }),
9148
- /* 68 */
9993
+ /* 71 */
9149
9994
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9150
9995
 
9151
9996
  "use strict";
@@ -9180,7 +10025,7 @@ var cssClasses = {
9180
10025
 
9181
10026
  var strings = {
9182
10027
  TITLE_SELECTOR: '.mdc-toolbar__title',
9183
- FLEXIBLE_ROW_SELECTOR: '.mdc-toolbar__row:first-child',
10028
+ FIRST_ROW_SELECTOR: '.mdc-toolbar__row:first-child',
9184
10029
  CHANGE_EVENT: 'MDCToolbar:change'
9185
10030
  };
9186
10031
 
@@ -9189,16 +10034,16 @@ var numbers = {
9189
10034
  MIN_TITLE_SIZE: 1.25,
9190
10035
  TOOLBAR_ROW_HEIGHT: 64,
9191
10036
  TOOLBAR_ROW_MOBILE_HEIGHT: 56,
9192
- TOOLBAR_MOBILE_BREAKPOINT: 599
10037
+ TOOLBAR_MOBILE_BREAKPOINT: 600
9193
10038
  };
9194
10039
 
9195
10040
  /***/ }),
9196
- /* 69 */
10041
+ /* 72 */
9197
10042
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9198
10043
 
9199
10044
  "use strict";
9200
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(2);
9201
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(68);
10045
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_foundation__ = __webpack_require__(1);
10046
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(71);
9202
10047
  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; };
9203
10048
 
9204
10049
  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; }; }();
@@ -9271,7 +10116,7 @@ var MDCToolbarFoundation = function (_MDCFoundation) {
9271
10116
  return (/* number */0
9272
10117
  );
9273
10118
  },
9274
- getFlexibleRowElementOffsetHeight: function getFlexibleRowElementOffsetHeight() {
10119
+ getFirstRowElementOffsetHeight: function getFirstRowElementOffsetHeight() {
9275
10120
  return (/* number */0
9276
10121
  );
9277
10122
  },
@@ -9305,12 +10150,12 @@ var MDCToolbarFoundation = function (_MDCFoundation) {
9305
10150
  toolbarRatio: 0, // The ratio of toolbar height to row height
9306
10151
  flexibleExpansionRatio: 0, // The ratio of flexible space height to row height
9307
10152
  maxTranslateYRatio: 0, // The ratio of max toolbar move up distance to row height
9308
- scrollThesholdRatio: 0, // The ratio of max scrollTop that we should listen to to row height
10153
+ scrollThresholdRatio: 0, // The ratio of max scrollTop that we should listen to to row height
9309
10154
  // Derived Heights based on the above key ratios.
9310
10155
  toolbarHeight: 0,
9311
10156
  flexibleExpansionHeight: 0, // Flexible row minus toolbar height (derived)
9312
10157
  maxTranslateYDistance: 0, // When toolbar only fix last row (derived)
9313
- scrollTheshold: 0
10158
+ scrollThreshold: 0
9314
10159
  };
9315
10160
  // Toolbar fixed behavior
9316
10161
  // If toolbar is fixed
@@ -9378,7 +10223,7 @@ var MDCToolbarFoundation = function (_MDCFoundation) {
9378
10223
  this.calculations_.toolbarHeight = this.calculations_.toolbarRatio * this.calculations_.toolbarRowHeight;
9379
10224
  this.calculations_.flexibleExpansionHeight = this.calculations_.flexibleExpansionRatio * this.calculations_.toolbarRowHeight;
9380
10225
  this.calculations_.maxTranslateYDistance = this.calculations_.maxTranslateYRatio * this.calculations_.toolbarRowHeight;
9381
- this.calculations_.scrollTheshold = this.calculations_.scrollThesholdRatio * this.calculations_.toolbarRowHeight;
10226
+ this.calculations_.scrollThreshold = this.calculations_.scrollThresholdRatio * this.calculations_.toolbarRowHeight;
9382
10227
  this.updateAdjustElementStyles();
9383
10228
  this.updateToolbarStyles_();
9384
10229
  }
@@ -9391,13 +10236,14 @@ var MDCToolbarFoundation = function (_MDCFoundation) {
9391
10236
  cancelAnimationFrame(this.scrollFrame_);
9392
10237
  this.scrollFrame_ = requestAnimationFrame(function () {
9393
10238
  var scrollTop = _this3.adapter_.getViewportScrollY();
9394
- var hasScrolledOutOfTheshold = _this3.scrolledOutOfTheshold_(scrollTop);
10239
+ var hasScrolledOutOfThreshold = _this3.scrolledOutOfThreshold_(scrollTop);
9395
10240
 
9396
- if (hasScrolledOutOfTheshold && _this3.executedLastChange_) {
10241
+ if (hasScrolledOutOfThreshold && _this3.executedLastChange_) {
9397
10242
  return;
9398
10243
  }
9399
10244
 
9400
10245
  var flexibleExpansionRatio = _this3.getFlexibleExpansionRatio_(scrollTop);
10246
+
9401
10247
  _this3.updateToolbarFlexibleState_(flexibleExpansionRatio);
9402
10248
  if (_this3.fixedLastrow_) {
9403
10249
  _this3.updateToolbarFixedState_(scrollTop);
@@ -9405,30 +10251,30 @@ var MDCToolbarFoundation = function (_MDCFoundation) {
9405
10251
  if (_this3.hasFlexibleRow_) {
9406
10252
  _this3.updateFlexibleRowElementStyles_(flexibleExpansionRatio);
9407
10253
  }
9408
- _this3.executedLastChange_ = hasScrolledOutOfTheshold;
10254
+ _this3.executedLastChange_ = hasScrolledOutOfThreshold;
9409
10255
  _this3.adapter_.notifyChange({ flexibleExpansionRatio: flexibleExpansionRatio });
9410
10256
  });
9411
10257
  }
9412
10258
  }, {
9413
- key: 'scrolledOutOfTheshold_',
9414
- value: function scrolledOutOfTheshold_(scrollTop) {
9415
- return scrollTop > this.calculations_.scrollTheshold;
10259
+ key: 'scrolledOutOfThreshold_',
10260
+ value: function scrolledOutOfThreshold_(scrollTop) {
10261
+ return scrollTop > this.calculations_.scrollThreshold;
9416
10262
  }
9417
10263
  }, {
9418
10264
  key: 'initKeyRatio_',
9419
10265
  value: function initKeyRatio_() {
9420
10266
  var toolbarRowHeight = this.getRowHeight_();
9421
- var flexibleRowMaxRatio = this.adapter_.getFlexibleRowElementOffsetHeight() / toolbarRowHeight;
10267
+ var firstRowMaxRatio = this.adapter_.getFirstRowElementOffsetHeight() / toolbarRowHeight;
9422
10268
  this.calculations_.toolbarRatio = this.adapter_.getOffsetHeight() / toolbarRowHeight;
9423
- this.calculations_.flexibleExpansionRatio = flexibleRowMaxRatio - 1;
9424
- this.calculations_.maxTranslateYRatio = this.fixedLastrow_ ? this.calculations_.toolbarRatio - flexibleRowMaxRatio : 0;
9425
- this.calculations_.scrollThesholdRatio = (this.fixedLastrow_ ? this.calculations_.toolbarRatio : flexibleRowMaxRatio) - 1;
10269
+ this.calculations_.flexibleExpansionRatio = firstRowMaxRatio - 1;
10270
+ this.calculations_.maxTranslateYRatio = this.fixedLastrow_ ? this.calculations_.toolbarRatio - firstRowMaxRatio : 0;
10271
+ this.calculations_.scrollThresholdRatio = (this.fixedLastrow_ ? this.calculations_.toolbarRatio : firstRowMaxRatio) - 1;
9426
10272
  }
9427
10273
  }, {
9428
10274
  key: 'getRowHeight_',
9429
10275
  value: function getRowHeight_() {
9430
10276
  var breakpoint = MDCToolbarFoundation.numbers.TOOLBAR_MOBILE_BREAKPOINT;
9431
- return this.adapter_.getViewportWidth() <= breakpoint ? MDCToolbarFoundation.numbers.TOOLBAR_ROW_MOBILE_HEIGHT : MDCToolbarFoundation.numbers.TOOLBAR_ROW_HEIGHT;
10277
+ return this.adapter_.getViewportWidth() < breakpoint ? MDCToolbarFoundation.numbers.TOOLBAR_ROW_MOBILE_HEIGHT : MDCToolbarFoundation.numbers.TOOLBAR_ROW_HEIGHT;
9432
10278
  }
9433
10279
  }, {
9434
10280
  key: 'updateToolbarFlexibleState_',
@@ -9446,6 +10292,7 @@ var MDCToolbarFoundation = function (_MDCFoundation) {
9446
10292
  value: function updateToolbarFixedState_(scrollTop) {
9447
10293
  var translateDistance = Math.max(0, Math.min(scrollTop - this.calculations_.flexibleExpansionHeight, this.calculations_.maxTranslateYDistance));
9448
10294
  this.adapter_.setStyle('transform', 'translateY(' + -translateDistance + 'px)');
10295
+
9449
10296
  if (translateDistance === this.calculations_.maxTranslateYDistance) {
9450
10297
  this.adapter_.addClass(MDCToolbarFoundation.cssClasses.FIXED_AT_LAST_ROW);
9451
10298
  } else {
@@ -9469,10 +10316,7 @@ var MDCToolbarFoundation = function (_MDCFoundation) {
9469
10316
  var maxTitleSize = MDCToolbarFoundation.numbers.MAX_TITLE_SIZE;
9470
10317
  var minTitleSize = MDCToolbarFoundation.numbers.MIN_TITLE_SIZE;
9471
10318
  var currentTitleSize = (maxTitleSize - minTitleSize) * flexibleExpansionRatio + minTitleSize;
9472
- if (this.fixed_) {
9473
- var height = this.calculations_.flexibleExpansionHeight * flexibleExpansionRatio;
9474
- this.adapter_.setStyleForTitleElement('transform', 'translateY(' + height + 'px)');
9475
- }
10319
+
9476
10320
  this.adapter_.setStyleForTitleElement('font-size', currentTitleSize + 'rem');
9477
10321
  }
9478
10322
  }]);
@@ -9483,7 +10327,7 @@ var MDCToolbarFoundation = function (_MDCFoundation) {
9483
10327
  /* harmony default export */ __webpack_exports__["a"] = (MDCToolbarFoundation);
9484
10328
 
9485
10329
  /***/ }),
9486
- /* 70 */
10330
+ /* 73 */
9487
10331
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
9488
10332
 
9489
10333
  "use strict";
@@ -9527,10 +10371,10 @@ function applyPassive() {
9527
10371
  }
9528
10372
 
9529
10373
  /***/ }),
9530
- /* 71 */
10374
+ /* 74 */
9531
10375
  /***/ (function(module, exports, __webpack_require__) {
9532
10376
 
9533
- var tabbable = __webpack_require__(72);
10377
+ var tabbable = __webpack_require__(75);
9534
10378
 
9535
10379
  var listeningFocusTrap = null;
9536
10380
 
@@ -9768,7 +10612,7 @@ module.exports = focusTrap;
9768
10612
 
9769
10613
 
9770
10614
  /***/ }),
9771
- /* 72 */
10615
+ /* 75 */
9772
10616
  /***/ (function(module, exports) {
9773
10617
 
9774
10618
  module.exports = function(el) {