material_components_web-sass 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/lib/material_components_web/sass/version.rb +1 -1
  4. data/vendor/assets/javascripts/material-components-web.js +1359 -580
  5. data/vendor/assets/stylesheets/@material/animation/_functions.scss +15 -15
  6. data/vendor/assets/stylesheets/@material/animation/_mixins.scss +15 -15
  7. data/vendor/assets/stylesheets/@material/animation/_variables.scss +15 -15
  8. data/vendor/assets/stylesheets/@material/animation/mdc-animation.scss +15 -15
  9. data/vendor/assets/stylesheets/@material/checkbox/_keyframes.scss +15 -15
  10. data/vendor/assets/stylesheets/@material/checkbox/_variables.scss +15 -15
  11. data/vendor/assets/stylesheets/@material/checkbox/mdc-checkbox.scss +6 -0
  12. data/vendor/assets/stylesheets/@material/dialog/mdc-dialog.scss +2 -0
  13. data/vendor/assets/stylesheets/@material/drawer/_mixins.scss +15 -15
  14. data/vendor/assets/stylesheets/@material/drawer/mdc-drawer.scss +16 -15
  15. data/vendor/assets/stylesheets/@material/drawer/permanent/mdc-permanent-drawer.scss +22 -16
  16. data/vendor/assets/stylesheets/@material/drawer/persistent/mdc-persistent-drawer.scss +87 -0
  17. data/vendor/assets/stylesheets/@material/drawer/slidable/_mixins.scss +33 -0
  18. data/vendor/assets/stylesheets/@material/drawer/slidable/_variables.scss +20 -0
  19. data/vendor/assets/stylesheets/@material/drawer/temporary/mdc-temporary-drawer.scss +27 -28
  20. data/vendor/assets/stylesheets/@material/elevation/_mixins.scss +15 -15
  21. data/vendor/assets/stylesheets/@material/elevation/_variables.scss +15 -15
  22. data/vendor/assets/stylesheets/@material/elevation/mdc-elevation.scss +15 -15
  23. data/vendor/assets/stylesheets/@material/form-field/mdc-form-field.scss +15 -15
  24. data/vendor/assets/stylesheets/@material/grid-list/mdc-grid-list.scss +1 -1
  25. data/vendor/assets/stylesheets/@material/icon-toggle/mdc-icon-toggle.scss +15 -15
  26. data/vendor/assets/stylesheets/@material/list/mdc-list.scss +1 -1
  27. data/vendor/assets/stylesheets/@material/menu/mdc-menu.scss +15 -15
  28. data/vendor/assets/stylesheets/@material/menu/simple/mdc-simple-menu.scss +15 -15
  29. data/vendor/assets/stylesheets/@material/radio/mdc-radio.scss +2 -0
  30. data/vendor/assets/stylesheets/@material/ripple/_keyframes.scss +15 -15
  31. data/vendor/assets/stylesheets/@material/rtl/_mixins.scss +15 -15
  32. data/vendor/assets/stylesheets/@material/select/mdc-select.scss +21 -23
  33. data/vendor/assets/stylesheets/@material/snackbar/_variables.scss +15 -15
  34. data/vendor/assets/stylesheets/@material/snackbar/mdc-snackbar.scss +15 -15
  35. data/vendor/assets/stylesheets/@material/textfield/mdc-textfield.scss +15 -15
  36. data/vendor/assets/stylesheets/@material/theme/_constants.scss +15 -15
  37. data/vendor/assets/stylesheets/@material/theme/_functions.scss +15 -15
  38. data/vendor/assets/stylesheets/@material/theme/_mixins.scss +15 -15
  39. data/vendor/assets/stylesheets/@material/theme/_variables.scss +15 -15
  40. data/vendor/assets/stylesheets/@material/theme/mdc-theme.scss +15 -15
  41. data/vendor/assets/stylesheets/@material/toolbar/mdc-toolbar.scss +23 -15
  42. data/vendor/assets/stylesheets/@material/typography/_mixins.scss +15 -15
  43. data/vendor/assets/stylesheets/@material/typography/_variables.scss +16 -15
  44. data/vendor/assets/stylesheets/@material/typography/mdc-typography.scss +15 -15
  45. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c3b476f32c246b494cef0f517373c09ac905319c
4
- data.tar.gz: ead66d23500779885a624dec7ae65fd79db17a4d
3
+ metadata.gz: 7ed509c6648f43d6194cd7c39ad4c0ac2412c926
4
+ data.tar.gz: 3fa822745e4d7bc8108609ec28d1ff6b77ce89d4
5
5
  SHA512:
6
- metadata.gz: b4ad1f27694cccbf9597fe831429830e5b72a7b627edd6714a0bee85de544ed852552275565522dd7d070e3d48c2bc779ef07498e6705c5d393bafbc76b3afd9
7
- data.tar.gz: 988e2804e837a7a72edbabe02b84c39b63d320c2d43c4bcc7d81235049b87973585b8c541c155de4f7df79b3c0850ae946f819d4070770c7175cfc987fd97fd3
6
+ metadata.gz: 121e3f21d2225be3c71cb51f0ea1c2ee7fde0eabef03eb9e3faa2e3a752cc43797a1db6d2fdbc6e12e6fab99f8428cbd658054af800c9dd08d044f45dae620ba
7
+ data.tar.gz: 627171e3087263a60a532b59cb776a80b2c1b472132211ec2c15fbf378bd56d385df9b3b40ef4435953e368499f9e1968ab7f491b2b5c39e48374038d59f28a4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.9.0 (2017-05-09)
2
+
3
+ - Update assets to match upstream version
4
+
5
+ Library version:
6
+
7
+ - Material Components for the web v0.9.0
8
+ - Material Icons v3.0.0
9
+
1
10
  ## 0.8.0 (2017-04-03)
2
11
 
3
12
  - Update assets to match upstream version
@@ -1,5 +1,5 @@
1
1
  module MaterialComponentsWeb
2
2
  module Sass
3
- VERSION = '0.8.0'.freeze
3
+ VERSION = '0.9.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 = 43);
81
+ /******/ return __webpack_require__(__webpack_require__.s = 55);
82
82
  /******/ })
83
83
  /************************************************************************/
84
84
  /******/ ([
@@ -87,9 +87,9 @@ 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__(5);
90
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation__ = __webpack_require__(7);
91
91
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__foundation__["a"]; });
92
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component__ = __webpack_require__(19);
92
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__component__ = __webpack_require__(20);
93
93
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCComponent", function() { return __WEBPACK_IMPORTED_MODULE_1__component__["a"]; });
94
94
  /**
95
95
  * Copyright 2016 Google Inc.
@@ -117,8 +117,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
117
117
  "use strict";
118
118
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
119
119
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
120
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(38);
121
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);
120
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(46);
121
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(4);
122
122
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRippleFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
123
123
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRipple", function() { return MDCRipple; });
124
124
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -262,6 +262,153 @@ var MDCRipple = function (_MDCComponent) {
262
262
  /* 2 */
263
263
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
264
264
 
265
+ "use strict";
266
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(29);
267
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__constants__["a"]; });
268
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(30);
269
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
270
+ /**
271
+ * Copyright 2016 Google Inc. All Rights Reserved.
272
+ *
273
+ * Licensed under the Apache License, Version 2.0 (the "License");
274
+ * you may not use this file except in compliance with the License.
275
+ * You may obtain a copy of the License at
276
+ *
277
+ * http://www.apache.org/licenses/LICENSE-2.0
278
+ *
279
+ * Unless required by applicable law or agreed to in writing, software
280
+ * distributed under the License is distributed on an "AS IS" BASIS,
281
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
282
+ * See the License for the specific language governing permissions and
283
+ * limitations under the License.
284
+ */
285
+
286
+
287
+
288
+
289
+ /***/ }),
290
+ /* 3 */
291
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
292
+
293
+ "use strict";
294
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
295
+ /* harmony export (immutable) */ __webpack_exports__["remapEvent"] = remapEvent;
296
+ /* harmony export (immutable) */ __webpack_exports__["getTransformPropertyName"] = getTransformPropertyName;
297
+ /* harmony export (immutable) */ __webpack_exports__["supportsCssCustomProperties"] = supportsCssCustomProperties;
298
+ /* harmony export (immutable) */ __webpack_exports__["applyPassive"] = applyPassive;
299
+ /* harmony export (immutable) */ __webpack_exports__["saveElementTabState"] = saveElementTabState;
300
+ /* harmony export (immutable) */ __webpack_exports__["restoreElementTabState"] = restoreElementTabState;
301
+ /**
302
+ * Copyright 2016 Google Inc. All Rights Reserved.
303
+ *
304
+ * Licensed under the Apache License, Version 2.0 (the "License");
305
+ * you may not use this file except in compliance with the License.
306
+ * You may obtain a copy of the License at
307
+ *
308
+ * http://www.apache.org/licenses/LICENSE-2.0
309
+ *
310
+ * Unless required by applicable law or agreed to in writing, software
311
+ * distributed under the License is distributed on an "AS IS" BASIS,
312
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
313
+ * See the License for the specific language governing permissions and
314
+ * limitations under the License.
315
+ */
316
+
317
+ var TAB_DATA = 'data-mdc-tabindex';
318
+ var TAB_DATA_HANDLED = 'data-mdc-tabindex-handled';
319
+
320
+ var storedTransformPropertyName_ = void 0;
321
+ var supportsPassive_ = void 0;
322
+
323
+ // Remap touch events to pointer events, if the browser doesn't support touch events.
324
+ function remapEvent(eventName) {
325
+ var globalObj = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
326
+
327
+ if (!('ontouchstart' in globalObj.document)) {
328
+ switch (eventName) {
329
+ case 'touchstart':
330
+ return 'pointerdown';
331
+ case 'touchmove':
332
+ return 'pointermove';
333
+ case 'touchend':
334
+ return 'pointerup';
335
+ default:
336
+ return eventName;
337
+ }
338
+ }
339
+
340
+ return eventName;
341
+ }
342
+
343
+ // Choose the correct transform property to use on the current browser.
344
+ function getTransformPropertyName() {
345
+ var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
346
+ var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
347
+
348
+ if (storedTransformPropertyName_ === undefined || forceRefresh) {
349
+ var el = globalObj.document.createElement('div');
350
+ var transformPropertyName = 'transform' in el.style ? 'transform' : '-webkit-transform';
351
+ storedTransformPropertyName_ = transformPropertyName;
352
+ }
353
+
354
+ return storedTransformPropertyName_;
355
+ }
356
+
357
+ // Determine whether the current browser supports CSS properties.
358
+ function supportsCssCustomProperties() {
359
+ var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
360
+
361
+ if ('CSS' in globalObj) {
362
+ return globalObj.CSS.supports('(--color: red)');
363
+ }
364
+ return false;
365
+ }
366
+
367
+ // Determine whether the current browser supports passive event listeners, and if so, use them.
368
+ function applyPassive() {
369
+ var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
370
+ var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
371
+
372
+ if (supportsPassive_ === undefined || forceRefresh) {
373
+ var isSupported = false;
374
+ try {
375
+ globalObj.document.addEventListener('test', null, { get passive() {
376
+ isSupported = true;
377
+ } });
378
+ } catch (e) {}
379
+
380
+ supportsPassive_ = isSupported;
381
+ }
382
+
383
+ return supportsPassive_ ? { passive: true } : false;
384
+ }
385
+
386
+ // Save the tab state for an element.
387
+ function saveElementTabState(el) {
388
+ if (el.hasAttribute('tabindex')) {
389
+ el.setAttribute(TAB_DATA, el.getAttribute('tabindex'));
390
+ }
391
+ el.setAttribute(TAB_DATA_HANDLED, true);
392
+ }
393
+
394
+ // Restore the tab state for an element, if it was saved.
395
+ function restoreElementTabState(el) {
396
+ // Only modify elements we've already handled, in case anything was dynamically added since we saved state.
397
+ if (el.hasAttribute(TAB_DATA_HANDLED)) {
398
+ if (el.hasAttribute(TAB_DATA)) {
399
+ el.setAttribute('tabindex', el.getAttribute(TAB_DATA));
400
+ el.removeAttribute(TAB_DATA);
401
+ } else {
402
+ el.removeAttribute('tabindex');
403
+ }
404
+ el.removeAttribute(TAB_DATA_HANDLED);
405
+ }
406
+ }
407
+
408
+ /***/ }),
409
+ /* 4 */
410
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
411
+
265
412
  "use strict";
266
413
  /* harmony export (immutable) */ __webpack_exports__["b"] = supportsCssVariables;
267
414
  /* harmony export (immutable) */ __webpack_exports__["a"] = getMatchesProperty;
@@ -323,12 +470,12 @@ function getNormalizedEventCoords(ev, pageOffset, clientRect) {
323
470
  }
324
471
 
325
472
  /***/ }),
326
- /* 3 */
473
+ /* 5 */
327
474
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
328
475
 
329
476
  "use strict";
330
477
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
331
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__simple__ = __webpack_require__(35);
478
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__simple__ = __webpack_require__(42);
332
479
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenu", function() { return __WEBPACK_IMPORTED_MODULE_0__simple__["a"]; });
333
480
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSimpleMenuFoundation", function() { return __WEBPACK_IMPORTED_MODULE_0__simple__["b"]; });
334
481
  /**
@@ -350,7 +497,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
350
497
 
351
498
 
352
499
  /***/ }),
353
- /* 4 */
500
+ /* 6 */
354
501
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
355
502
 
356
503
  "use strict";
@@ -478,7 +625,7 @@ function getCorrectPropertyName(windowObj, eventType) {
478
625
  }
479
626
 
480
627
  /***/ }),
481
- /* 5 */
628
+ /* 7 */
482
629
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
483
630
 
484
631
  "use strict";
@@ -560,17 +707,13 @@ var MDCFoundation = function () {
560
707
  /* harmony default export */ __webpack_exports__["a"] = MDCFoundation;
561
708
 
562
709
  /***/ }),
563
- /* 6 */
710
+ /* 8 */
564
711
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
565
712
 
566
713
  "use strict";
567
- Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
568
- /* harmony export (immutable) */ __webpack_exports__["remapEvent"] = remapEvent;
569
- /* harmony export (immutable) */ __webpack_exports__["getTransformPropertyName"] = getTransformPropertyName;
570
- /* harmony export (immutable) */ __webpack_exports__["supportsCssCustomProperties"] = supportsCssCustomProperties;
571
- /* harmony export (immutable) */ __webpack_exports__["applyPassive"] = applyPassive;
572
- /* harmony export (immutable) */ __webpack_exports__["saveElementTabState"] = saveElementTabState;
573
- /* harmony export (immutable) */ __webpack_exports__["restoreElementTabState"] = restoreElementTabState;
714
+ /* harmony export (immutable) */ __webpack_exports__["a"] = getTransformPropertyName;
715
+ /* harmony export (immutable) */ __webpack_exports__["b"] = clamp;
716
+ /* harmony export (immutable) */ __webpack_exports__["c"] = bezierProgress;
574
717
  /**
575
718
  * Copyright 2016 Google Inc. All Rights Reserved.
576
719
  *
@@ -587,177 +730,62 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
587
730
  * limitations under the License.
588
731
  */
589
732
 
590
- var TAB_DATA = 'data-mdc-tabindex';
591
- var TAB_DATA_HANDLED = 'data-mdc-tabindex-handled';
592
-
593
733
  var storedTransformPropertyName_ = void 0;
594
- var supportsPassive_ = void 0;
595
-
596
- // Remap touch events to pointer events, if the browser doesn't support touch events.
597
- function remapEvent(eventName) {
598
- var globalObj = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
599
-
600
- if (!('ontouchstart' in globalObj.document)) {
601
- switch (eventName) {
602
- case 'touchstart':
603
- return 'pointerdown';
604
- case 'touchmove':
605
- return 'pointermove';
606
- case 'touchend':
607
- return 'pointerup';
608
- default:
609
- return eventName;
610
- }
611
- }
612
-
613
- return eventName;
614
- }
615
734
 
616
- // Choose the correct transform property to use on the current browser.
617
- function getTransformPropertyName() {
618
- var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
735
+ // Returns the name of the correct transform property to use on the current browser.
736
+ function getTransformPropertyName(globalObj) {
619
737
  var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
620
738
 
621
739
  if (storedTransformPropertyName_ === undefined || forceRefresh) {
622
740
  var el = globalObj.document.createElement('div');
623
- var transformPropertyName = 'transform' in el.style ? 'transform' : '-webkit-transform';
741
+ var transformPropertyName = 'transform' in el.style ? 'transform' : 'webkitTransform';
624
742
  storedTransformPropertyName_ = transformPropertyName;
625
743
  }
626
744
 
627
745
  return storedTransformPropertyName_;
628
746
  }
629
747
 
630
- // Determine whether the current browser supports CSS properties.
631
- function supportsCssCustomProperties() {
632
- var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
748
+ // Clamps a value between the minimum and the maximum, returning the clamped value.
749
+ function clamp(value) {
750
+ var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
751
+ var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
633
752
 
634
- if ('CSS' in globalObj) {
635
- return globalObj.CSS.supports('(--color: red)');
636
- }
637
- return false;
753
+ return Math.min(max, Math.max(min, value));
638
754
  }
639
755
 
640
- // Determine whether the current browser supports passive event listeners, and if so, use them.
641
- function applyPassive() {
642
- var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
643
- var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
644
-
645
- if (supportsPassive_ === undefined || forceRefresh) {
646
- var isSupported = false;
647
- try {
648
- globalObj.document.addEventListener('test', null, { get passive() {
649
- isSupported = true;
650
- } });
651
- } catch (e) {}
756
+ // Returns the easing value to apply at time t, for a given cubic bezier curve.
757
+ // Control points P0 and P3 are assumed to be (0,0) and (1,1), respectively.
758
+ // Paramters are as follows:
759
+ // - time: The current time in the animation, scaled between 0 and 1.
760
+ // - x1: The x value of control point P1.
761
+ // - y1: The y value of control point P1.
762
+ // - x2: The x value of control point P2.
763
+ // - y2: The y value of control point P2.
764
+ function bezierProgress(time, x1, y1, x2, y2) {
765
+ return getBezierCoordinate_(solvePositionFromXValue_(time, x1, x2), y1, y2);
766
+ }
652
767
 
653
- supportsPassive_ = isSupported;
768
+ // Compute a single coordinate at a position point between 0 and 1.
769
+ // c1 and c2 are the matching coordinate on control points P1 and P2, respectively.
770
+ // Control points P0 and P3 are assumed to be (0,0) and (1,1), respectively.
771
+ // Adapted from https://github.com/google/closure-library/blob/master/closure/goog/math/bezier.js.
772
+ function getBezierCoordinate_(t, c1, c2) {
773
+ // Special case start and end.
774
+ if (t === 0 || t === 1) {
775
+ return t;
654
776
  }
655
777
 
656
- return supportsPassive_ ? { passive: true } : false;
657
- }
778
+ // Step one - from 4 points to 3
779
+ var ic0 = t * c1;
780
+ var ic1 = c1 + t * (c2 - c1);
781
+ var ic2 = c2 + t * (1 - c2);
658
782
 
659
- // Save the tab state for an element.
660
- function saveElementTabState(el) {
661
- if (el.hasAttribute('tabindex')) {
662
- el.setAttribute(TAB_DATA, el.getAttribute('tabindex'));
663
- }
664
- el.setAttribute(TAB_DATA_HANDLED, true);
665
- }
666
-
667
- // Restore the tab state for an element, if it was saved.
668
- function restoreElementTabState(el) {
669
- // Only modify elements we've already handled, in case anything was dynamically added since we saved state.
670
- if (el.hasAttribute(TAB_DATA_HANDLED)) {
671
- if (el.hasAttribute(TAB_DATA)) {
672
- el.setAttribute('tabindex', el.getAttribute(TAB_DATA));
673
- el.removeAttribute(TAB_DATA);
674
- } else {
675
- el.removeAttribute('tabindex');
676
- }
677
- el.removeAttribute(TAB_DATA_HANDLED);
678
- }
679
- }
680
-
681
- /***/ }),
682
- /* 7 */
683
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
684
-
685
- "use strict";
686
- /* harmony export (immutable) */ __webpack_exports__["a"] = getTransformPropertyName;
687
- /* harmony export (immutable) */ __webpack_exports__["b"] = clamp;
688
- /* harmony export (immutable) */ __webpack_exports__["c"] = bezierProgress;
689
- /**
690
- * Copyright 2016 Google Inc. All Rights Reserved.
691
- *
692
- * Licensed under the Apache License, Version 2.0 (the "License");
693
- * you may not use this file except in compliance with the License.
694
- * You may obtain a copy of the License at
695
- *
696
- * http://www.apache.org/licenses/LICENSE-2.0
697
- *
698
- * Unless required by applicable law or agreed to in writing, software
699
- * distributed under the License is distributed on an "AS IS" BASIS,
700
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
701
- * See the License for the specific language governing permissions and
702
- * limitations under the License.
703
- */
704
-
705
- var storedTransformPropertyName_ = void 0;
706
-
707
- // Returns the name of the correct transform property to use on the current browser.
708
- function getTransformPropertyName(globalObj) {
709
- var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
710
-
711
- if (storedTransformPropertyName_ === undefined || forceRefresh) {
712
- var el = globalObj.document.createElement('div');
713
- var transformPropertyName = 'transform' in el.style ? 'transform' : 'webkitTransform';
714
- storedTransformPropertyName_ = transformPropertyName;
715
- }
716
-
717
- return storedTransformPropertyName_;
718
- }
719
-
720
- // Clamps a value between the minimum and the maximum, returning the clamped value.
721
- function clamp(value) {
722
- var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
723
- var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
724
-
725
- return Math.min(max, Math.max(min, value));
726
- }
727
-
728
- // Returns the easing value to apply at time t, for a given cubic bezier curve.
729
- // Control points P0 and P3 are assumed to be (0,0) and (1,1), respectively.
730
- // Paramters are as follows:
731
- // - time: The current time in the animation, scaled between 0 and 1.
732
- // - x1: The x value of control point P1.
733
- // - y1: The y value of control point P1.
734
- // - x2: The x value of control point P2.
735
- // - y2: The y value of control point P2.
736
- function bezierProgress(time, x1, y1, x2, y2) {
737
- return getBezierCoordinate_(solvePositionFromXValue_(time, x1, x2), y1, y2);
738
- }
739
-
740
- // Compute a single coordinate at a position point between 0 and 1.
741
- // c1 and c2 are the matching coordinate on control points P1 and P2, respectively.
742
- // Control points P0 and P3 are assumed to be (0,0) and (1,1), respectively.
743
- // Adapted from https://github.com/google/closure-library/blob/master/closure/goog/math/bezier.js.
744
- function getBezierCoordinate_(t, c1, c2) {
745
- // Special case start and end.
746
- if (t === 0 || t === 1) {
747
- return t;
748
- }
749
-
750
- // Step one - from 4 points to 3
751
- var ic0 = t * c1;
752
- var ic1 = c1 + t * (c2 - c1);
753
- var ic2 = c2 + t * (1 - c2);
754
-
755
- // Step two - from 3 points to 2
756
- ic0 += t * (ic1 - ic0);
757
- ic1 += t * (ic2 - ic1);
758
-
759
- // Final step - last point
760
- return ic0 + t * (ic1 - ic0);
783
+ // Step two - from 3 points to 2
784
+ ic0 += t * (ic1 - ic0);
785
+ ic1 += t * (ic2 - ic1);
786
+
787
+ // Final step - last point
788
+ return ic0 + t * (ic1 - ic0);
761
789
  }
762
790
 
763
791
  // Project a point onto the Bezier curve, from a given X. Calculates the position t along the curve.
@@ -813,7 +841,7 @@ function solvePositionFromXValue_(xVal, x1, x2) {
813
841
  }
814
842
 
815
843
  /***/ }),
816
- /* 8 */
844
+ /* 9 */
817
845
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
818
846
 
819
847
  "use strict";
@@ -894,16 +922,16 @@ mdcAutoInit.deregisterAll = function () {
894
922
  };
895
923
 
896
924
  /***/ }),
897
- /* 9 */
925
+ /* 10 */
898
926
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
899
927
 
900
928
  "use strict";
901
929
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
902
930
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
903
931
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
904
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_ripple_util__ = __webpack_require__(2);
905
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_animation__ = __webpack_require__(4);
906
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__foundation__ = __webpack_require__(21);
932
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_ripple_util__ = __webpack_require__(4);
933
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_animation__ = __webpack_require__(6);
934
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__foundation__ = __webpack_require__(22);
907
935
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckboxFoundation", function() { return __WEBPACK_IMPORTED_MODULE_4__foundation__["a"]; });
908
936
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckbox", function() { return MDCCheckbox; });
909
937
  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; };
@@ -1083,26 +1111,36 @@ var MDCCheckbox = function (_MDCComponent) {
1083
1111
  set: function set(disabled) {
1084
1112
  this.foundation_.setDisabled(disabled);
1085
1113
  }
1114
+ }, {
1115
+ key: 'value',
1116
+ get: function get() {
1117
+ return this.foundation_.getValue();
1118
+ },
1119
+ set: function set(value) {
1120
+ this.foundation_.setValue(value);
1121
+ }
1086
1122
  }]);
1087
1123
 
1088
1124
  return MDCCheckbox;
1089
1125
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1090
1126
 
1091
1127
  /***/ }),
1092
- /* 10 */
1128
+ /* 11 */
1093
1129
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1094
1130
 
1095
1131
  "use strict";
1096
1132
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1097
1133
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1098
1134
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
1099
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(23);
1100
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(24);
1135
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(24);
1136
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(25);
1101
1137
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCDialogFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
1102
1138
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_3__util__; });
1103
1139
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCDialog", function() { return MDCDialog; });
1104
1140
  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; }; }();
1105
1141
 
1142
+ 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); } };
1143
+
1106
1144
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1107
1145
 
1108
1146
  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; }
@@ -1146,7 +1184,7 @@ var MDCDialog = function (_MDCComponent) {
1146
1184
  _createClass(MDCDialog, [{
1147
1185
  key: 'initialize',
1148
1186
  value: function initialize() {
1149
- this.lastFocusedTarget = null;
1187
+ this.focusTrap_ = __WEBPACK_IMPORTED_MODULE_3__util__["createFocusTrapInstance"](this.dialogSurface_, this.acceptButton_);
1150
1188
  this.footerBtnRipples_ = [];
1151
1189
 
1152
1190
  var footerBtns = this.root_.querySelectorAll('.mdc-dialog__footer__button');
@@ -1160,6 +1198,7 @@ var MDCDialog = function (_MDCComponent) {
1160
1198
  this.footerBtnRipples_.forEach(function (ripple) {
1161
1199
  return ripple.destroy();
1162
1200
  });
1201
+ _get(MDCDialog.prototype.__proto__ || Object.getPrototypeOf(MDCDialog.prototype), 'destroy', this).call(this);
1163
1202
  }
1164
1203
  }, {
1165
1204
  key: 'show',
@@ -1176,21 +1215,15 @@ var MDCDialog = function (_MDCComponent) {
1176
1215
  value: function getDefaultFoundation() {
1177
1216
  var _this2 = this;
1178
1217
 
1179
- var FOCUSABLE_ELEMENTS = __WEBPACK_IMPORTED_MODULE_2__foundation__["a" /* default */].strings.FOCUSABLE_ELEMENTS;
1180
-
1181
-
1182
1218
  return new __WEBPACK_IMPORTED_MODULE_2__foundation__["a" /* default */]({
1183
- hasClass: function hasClass(className) {
1184
- return _this2.root_.classList.contains(className);
1185
- },
1186
1219
  addClass: function addClass(className) {
1187
1220
  return _this2.root_.classList.add(className);
1188
1221
  },
1189
1222
  removeClass: function removeClass(className) {
1190
1223
  return _this2.root_.classList.remove(className);
1191
1224
  },
1192
- setAttr: function setAttr(attr, val) {
1193
- return _this2.root_.setAttribute(attr, val);
1225
+ setStyle: function setStyle(prop, val) {
1226
+ return _this2.root_.style.setProperty(prop, val);
1194
1227
  },
1195
1228
  addBodyClass: function addBodyClass(className) {
1196
1229
  return document.body.classList.add(className);
@@ -1202,10 +1235,10 @@ var MDCDialog = function (_MDCComponent) {
1202
1235
  return target.classList.contains(className);
1203
1236
  },
1204
1237
  registerInteractionHandler: function registerInteractionHandler(evt, handler) {
1205
- return _this2.root_.addEventListener(evt, handler, __WEBPACK_IMPORTED_MODULE_3__util__["applyPassive"]());
1238
+ return _this2.root_.addEventListener(evt, handler);
1206
1239
  },
1207
1240
  deregisterInteractionHandler: function deregisterInteractionHandler(evt, handler) {
1208
- return _this2.root_.removeEventListener(evt, handler, __WEBPACK_IMPORTED_MODULE_3__util__["applyPassive"]());
1241
+ return _this2.root_.removeEventListener(evt, handler);
1209
1242
  },
1210
1243
  registerSurfaceInteractionHandler: function registerSurfaceInteractionHandler(evt, handler) {
1211
1244
  return _this2.dialogSurface_.addEventListener(evt, handler);
@@ -1219,50 +1252,17 @@ var MDCDialog = function (_MDCComponent) {
1219
1252
  deregisterDocumentKeydownHandler: function deregisterDocumentKeydownHandler(handler) {
1220
1253
  return document.removeEventListener('keydown', handler);
1221
1254
  },
1222
- registerFocusTrappingHandler: function registerFocusTrappingHandler(handler) {
1223
- return document.addEventListener('focus', handler, true);
1224
- },
1225
- deregisterFocusTrappingHandler: function deregisterFocusTrappingHandler(handler) {
1226
- return document.removeEventListener('focus', handler, true);
1227
- },
1228
- numFocusableTargets: function numFocusableTargets() {
1229
- return _this2.dialogSurface_.querySelectorAll(FOCUSABLE_ELEMENTS).length;
1230
- },
1231
- setDialogFocusFirstTarget: function setDialogFocusFirstTarget() {
1232
- return _this2.dialogSurface_.querySelectorAll(FOCUSABLE_ELEMENTS)[0].focus();
1233
- },
1234
- setInitialFocus: function setInitialFocus() {
1235
- return _this2.acceptButton_.focus();
1236
- },
1237
- getFocusableElements: function getFocusableElements() {
1238
- return _this2.dialogSurface_.querySelectorAll(FOCUSABLE_ELEMENTS);
1239
- },
1240
- saveElementTabState: function saveElementTabState(el) {
1241
- return __WEBPACK_IMPORTED_MODULE_3__util__["saveElementTabState"](el);
1242
- },
1243
- restoreElementTabState: function restoreElementTabState(el) {
1244
- return __WEBPACK_IMPORTED_MODULE_3__util__["restoreElementTabState"](el);
1245
- },
1246
- makeElementUntabbable: function makeElementUntabbable(el) {
1247
- return el.setAttribute('tabindex', -1);
1248
- },
1249
- setBodyAttr: function setBodyAttr(attr, val) {
1250
- return document.body.setAttribute(attr, val);
1251
- },
1252
- rmBodyAttr: function rmBodyAttr(attr) {
1253
- return document.body.removeAttribute(attr);
1254
- },
1255
- getFocusedTarget: function getFocusedTarget() {
1256
- return document.activeElement;
1257
- },
1258
- setFocusedTarget: function setFocusedTarget(target) {
1259
- return target.focus();
1260
- },
1261
1255
  notifyAccept: function notifyAccept() {
1262
1256
  return _this2.emit('MDCDialog:accept');
1263
1257
  },
1264
1258
  notifyCancel: function notifyCancel() {
1265
1259
  return _this2.emit('MDCDialog:cancel');
1260
+ },
1261
+ trapFocusOnSurface: function trapFocusOnSurface() {
1262
+ return _this2.focusTrap_.activate();
1263
+ },
1264
+ untrapFocusOnSurface: function untrapFocusOnSurface() {
1265
+ return _this2.focusTrap_.deactivate();
1266
1266
  }
1267
1267
  });
1268
1268
  }
@@ -1292,15 +1292,18 @@ var MDCDialog = function (_MDCComponent) {
1292
1292
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1293
1293
 
1294
1294
  /***/ }),
1295
- /* 11 */
1295
+ /* 12 */
1296
1296
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1297
1297
 
1298
1298
  "use strict";
1299
1299
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1300
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(6);
1301
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__temporary__ = __webpack_require__(27);
1300
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(3);
1301
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__temporary__ = __webpack_require__(33);
1302
1302
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTemporaryDrawer", function() { return __WEBPACK_IMPORTED_MODULE_1__temporary__["a"]; });
1303
1303
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTemporaryDrawerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__temporary__["b"]; });
1304
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__persistent__ = __webpack_require__(28);
1305
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCPersistentDrawer", function() { return __WEBPACK_IMPORTED_MODULE_2__persistent__["a"]; });
1306
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCPersistentDrawerFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__persistent__["b"]; });
1304
1307
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return __WEBPACK_IMPORTED_MODULE_0__util__; });
1305
1308
  /**
1306
1309
  * Copyright 2016 Google Inc. All Rights Reserved.
@@ -1322,14 +1325,15 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1322
1325
 
1323
1326
 
1324
1327
 
1328
+
1325
1329
  /***/ }),
1326
- /* 12 */
1330
+ /* 13 */
1327
1331
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1328
1332
 
1329
1333
  "use strict";
1330
1334
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1331
1335
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1332
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(29);
1336
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(35);
1333
1337
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFormFieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
1334
1338
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFormField", function() { return MDCFormField; });
1335
1339
  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; }; }();
@@ -1418,13 +1422,13 @@ var MDCFormField = function (_MDCComponent) {
1418
1422
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1419
1423
 
1420
1424
  /***/ }),
1421
- /* 13 */
1425
+ /* 14 */
1422
1426
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1423
1427
 
1424
1428
  "use strict";
1425
1429
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1426
1430
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1427
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(31);
1431
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(37);
1428
1432
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCGridListFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
1429
1433
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCGridList", function() { return MDCGridList; });
1430
1434
  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; }; }();
@@ -1475,6 +1479,9 @@ var MDCGridList = function (_MDCComponent) {
1475
1479
  getOffsetWidth: function getOffsetWidth() {
1476
1480
  return _this2.root_.offsetWidth;
1477
1481
  },
1482
+ getNumberOfTiles: function getNumberOfTiles() {
1483
+ return _this2.root_.querySelectorAll(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.TILE_SELECTOR).length;
1484
+ },
1478
1485
  getOffsetWidthForTileAtIndex: function getOffsetWidthForTileAtIndex(index) {
1479
1486
  return _this2.root_.querySelectorAll(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.TILE_SELECTOR)[index].offsetWidth;
1480
1487
  },
@@ -1500,14 +1507,14 @@ var MDCGridList = function (_MDCComponent) {
1500
1507
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1501
1508
 
1502
1509
  /***/ }),
1503
- /* 14 */
1510
+ /* 15 */
1504
1511
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1505
1512
 
1506
1513
  "use strict";
1507
1514
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1508
1515
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1509
1516
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
1510
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(32);
1517
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(39);
1511
1518
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCIconToggleFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
1512
1519
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCIconToggle", function() { return MDCIconToggle; });
1513
1520
  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; };
@@ -1690,14 +1697,14 @@ var MDCIconToggle = function (_MDCComponent) {
1690
1697
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1691
1698
 
1692
1699
  /***/ }),
1693
- /* 15 */
1700
+ /* 16 */
1694
1701
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1695
1702
 
1696
1703
  "use strict";
1697
1704
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1698
1705
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1699
1706
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(1);
1700
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(36);
1707
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(44);
1701
1708
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRadioFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
1702
1709
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRadio", function() { return MDCRadio; });
1703
1710
  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; };
@@ -1754,6 +1761,14 @@ var MDCRadio = function (_MDCComponent) {
1754
1761
  set: function set(disabled) {
1755
1762
  this.foundation_.setDisabled(disabled);
1756
1763
  }
1764
+ }, {
1765
+ key: 'value',
1766
+ get: function get() {
1767
+ return this.foundation_.getValue();
1768
+ },
1769
+ set: function set(value) {
1770
+ this.foundation_.setValue(value);
1771
+ }
1757
1772
  }, {
1758
1773
  key: 'ripple',
1759
1774
  get: function get() {
@@ -1854,14 +1869,14 @@ var MDCRadio = function (_MDCComponent) {
1854
1869
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
1855
1870
 
1856
1871
  /***/ }),
1857
- /* 16 */
1872
+ /* 17 */
1858
1873
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1859
1874
 
1860
1875
  "use strict";
1861
1876
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1862
1877
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
1863
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_menu__ = __webpack_require__(3);
1864
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(39);
1878
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_menu__ = __webpack_require__(5);
1879
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__foundation__ = __webpack_require__(48);
1865
1880
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelectFoundation", function() { return __WEBPACK_IMPORTED_MODULE_2__foundation__["a"]; });
1866
1881
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelect", function() { return MDCSelect; });
1867
1882
  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; }; }();
@@ -2084,14 +2099,14 @@ var MDCSelect = function (_MDCComponent) {
2084
2099
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2085
2100
 
2086
2101
  /***/ }),
2087
- /* 17 */
2102
+ /* 18 */
2088
2103
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2089
2104
 
2090
2105
  "use strict";
2091
2106
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2092
2107
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2093
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(41);
2094
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_animation__ = __webpack_require__(4);
2108
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(50);
2109
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_animation__ = __webpack_require__(6);
2095
2110
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSnackbarFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
2096
2111
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSnackbar", function() { return MDCSnackbar; });
2097
2112
  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; }; }();
@@ -2205,13 +2220,13 @@ var MDCSnackbar = function (_MDCComponent) {
2205
2220
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2206
2221
 
2207
2222
  /***/ }),
2208
- /* 18 */
2223
+ /* 19 */
2209
2224
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2210
2225
 
2211
2226
  "use strict";
2212
2227
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2213
2228
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2214
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(42);
2229
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(52);
2215
2230
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextfieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
2216
2231
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextfield", function() { return MDCTextfield; });
2217
2232
  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; };
@@ -2246,9 +2261,6 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
2246
2261
 
2247
2262
 
2248
2263
 
2249
- var cssClasses = __WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].cssClasses;
2250
-
2251
-
2252
2264
  var MDCTextfield = function (_MDCComponent) {
2253
2265
  _inherits(MDCTextfield, _MDCComponent);
2254
2266
 
@@ -2386,12 +2398,12 @@ var MDCTextfield = function (_MDCComponent) {
2386
2398
  }, {
2387
2399
  key: 'input_',
2388
2400
  get: function get() {
2389
- return this.root_.querySelector('.' + cssClasses.ROOT + '__input');
2401
+ return this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.INPUT_SELECTOR);
2390
2402
  }
2391
2403
  }, {
2392
2404
  key: 'label_',
2393
2405
  get: function get() {
2394
- return this.root_.querySelector('.' + cssClasses.ROOT + '__label');
2406
+ return this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.LABEL_SELECTOR);
2395
2407
  }
2396
2408
  }]);
2397
2409
 
@@ -2399,11 +2411,11 @@ var MDCTextfield = function (_MDCComponent) {
2399
2411
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
2400
2412
 
2401
2413
  /***/ }),
2402
- /* 19 */
2414
+ /* 20 */
2403
2415
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2404
2416
 
2405
2417
  "use strict";
2406
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation__ = __webpack_require__(5);
2418
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__foundation__ = __webpack_require__(7);
2407
2419
  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; }; }();
2408
2420
 
2409
2421
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -2529,7 +2541,7 @@ var MDCComponent = function () {
2529
2541
  /* harmony default export */ __webpack_exports__["a"] = MDCComponent;
2530
2542
 
2531
2543
  /***/ }),
2532
- /* 20 */
2544
+ /* 21 */
2533
2545
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2534
2546
 
2535
2547
  "use strict";
@@ -2580,12 +2592,12 @@ var numbers = {
2580
2592
  };
2581
2593
 
2582
2594
  /***/ }),
2583
- /* 21 */
2595
+ /* 22 */
2584
2596
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2585
2597
 
2586
2598
  "use strict";
2587
2599
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2588
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(20);
2600
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(21);
2589
2601
  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; };
2590
2602
 
2591
2603
  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; }; }();
@@ -2716,6 +2728,16 @@ var MDCCheckboxFoundation = function (_MDCFoundation) {
2716
2728
  value: function setDisabled(disabled) {
2717
2729
  this.getNativeControl_().disabled = disabled;
2718
2730
  }
2731
+ }, {
2732
+ key: 'getValue',
2733
+ value: function getValue() {
2734
+ return this.getNativeControl_().value;
2735
+ }
2736
+ }, {
2737
+ key: 'setValue',
2738
+ value: function setValue(value) {
2739
+ this.getNativeControl_().value = value;
2740
+ }
2719
2741
  }, {
2720
2742
  key: 'installPropertyChangeHooks_',
2721
2743
  value: function installPropertyChangeHooks_() {
@@ -2834,7 +2856,8 @@ var MDCCheckboxFoundation = function (_MDCFoundation) {
2834
2856
  return this.adapter_.getNativeControl() || {
2835
2857
  checked: false,
2836
2858
  indeterminate: false,
2837
- disabled: false
2859
+ disabled: false,
2860
+ value: null
2838
2861
  };
2839
2862
  }
2840
2863
  }]);
@@ -2850,7 +2873,7 @@ function validDescriptor(inputPropDesc) {
2850
2873
  }
2851
2874
 
2852
2875
  /***/ }),
2853
- /* 22 */
2876
+ /* 23 */
2854
2877
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2855
2878
 
2856
2879
  "use strict";
@@ -2884,17 +2907,16 @@ var cssClasses = {
2884
2907
  var strings = {
2885
2908
  OPEN_DIALOG_SELECTOR: '.mdc-dialog--open',
2886
2909
  DIALOG_SURFACE_SELECTOR: '.mdc-dialog__surface',
2887
- ACCEPT_SELECTOR: '.mdc-dialog__footer__button--accept',
2888
- FOCUSABLE_ELEMENTS: 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), ' + 'button:not([disabled]), iframe, object, embed, [tabindex], [contenteditable]'
2910
+ ACCEPT_SELECTOR: '.mdc-dialog__footer__button--accept'
2889
2911
  };
2890
2912
 
2891
2913
  /***/ }),
2892
- /* 23 */
2914
+ /* 24 */
2893
2915
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2894
2916
 
2895
2917
  "use strict";
2896
2918
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
2897
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(22);
2919
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(23);
2898
2920
  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; };
2899
2921
 
2900
2922
  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; }; }();
@@ -2919,7 +2941,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
2919
2941
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2920
2942
  * See the License for the specific language governing permissions and
2921
2943
  * limitations under the License.
2922
- */
2944
+ */
2923
2945
 
2924
2946
 
2925
2947
 
@@ -2941,10 +2963,9 @@ var MDCDialogFoundation = function (_MDCFoundation) {
2941
2963
  key: 'defaultAdapter',
2942
2964
  get: function get() {
2943
2965
  return {
2944
- hasClass: function hasClass() /* className: string */{},
2945
2966
  addClass: function addClass() /* className: string */{},
2946
2967
  removeClass: function removeClass() /* className: string */{},
2947
- setAttr: function setAttr() /* attr: string, val: string */{},
2968
+ setStyle: function setStyle() /* propertyName: string, value: string */{},
2948
2969
  addBodyClass: function addBodyClass() /* className: string */{},
2949
2970
  removeBodyClass: function removeBodyClass() /* className: string */{},
2950
2971
  eventTargetHasClass: function eventTargetHasClass() {
@@ -2957,27 +2978,10 @@ var MDCDialogFoundation = function (_MDCFoundation) {
2957
2978
  deregisterSurfaceInteractionHandler: function deregisterSurfaceInteractionHandler() /* evt: string, handler: EventListener */{},
2958
2979
  registerDocumentKeydownHandler: function registerDocumentKeydownHandler() /* handler: EventListener */{},
2959
2980
  deregisterDocumentKeydownHandler: function deregisterDocumentKeydownHandler() /* handler: EventListener */{},
2960
- registerFocusTrappingHandler: function registerFocusTrappingHandler() /* handler: EventListener */{},
2961
- deregisterFocusTrappingHandler: function deregisterFocusTrappingHandler() /* handler: EventListener */{},
2962
- numFocusableTargets: function numFocusableTargets() {
2963
- return (/* number */0
2964
- );
2965
- },
2966
- setDialogFocusFirstTarget: function setDialogFocusFirstTarget() {},
2967
- setInitialFocus: function setInitialFocus() {},
2968
- getFocusableElements: function getFocusableElements() {
2969
- return (/* handler: EventListener */ /* Array<Element> */[]
2970
- );
2971
- },
2972
- saveElementTabState: function saveElementTabState() /* el: Element */{},
2973
- restoreElementTabState: function restoreElementTabState() /* el: Element */{},
2974
- makeElementUntabbable: function makeElementUntabbable() /* el: Element */{},
2975
- setBodyAttr: function setBodyAttr() /* attr: string, val: string */{},
2976
- rmBodyAttr: function rmBodyAttr() /* attr: string */{},
2977
- getFocusedTarget: function getFocusedTarget() {},
2978
- setFocusedTarget: function setFocusedTarget() /* target: EventTarget */{},
2979
2981
  notifyAccept: function notifyAccept() {},
2980
- notifyCancel: function notifyCancel() {}
2982
+ notifyCancel: function notifyCancel() {},
2983
+ trapFocusOnSurface: function trapFocusOnSurface() {},
2984
+ untrapFocusOnSurface: function untrapFocusOnSurface() {}
2981
2985
  };
2982
2986
  }
2983
2987
  }]);
@@ -2987,19 +2991,13 @@ var MDCDialogFoundation = function (_MDCFoundation) {
2987
2991
 
2988
2992
  var _this = _possibleConstructorReturn(this, (MDCDialogFoundation.__proto__ || Object.getPrototypeOf(MDCDialogFoundation)).call(this, _extends(MDCDialogFoundation.defaultAdapter, adapter)));
2989
2993
 
2990
- _this.lastFocusedTarget_ = null;
2991
- _this.currentFocusedElIndex_ = -1;
2992
2994
  _this.isOpen_ = false;
2993
- _this.isResettingToFirstFocusTarget_ = false;
2994
2995
  _this.componentClickHandler_ = function () {
2995
2996
  return _this.cancel(true);
2996
2997
  };
2997
2998
  _this.dialogClickHandler_ = function (evt) {
2998
2999
  return _this.handleDialogClick_(evt);
2999
3000
  };
3000
- _this.focusHandler_ = function (evt) {
3001
- return _this.setFocus_(evt);
3002
- };
3003
3001
  _this.documentKeydownHandler_ = function (evt) {
3004
3002
  if (evt.key && evt.key === 'Escape' || evt.keyCode === 27) {
3005
3003
  _this.cancel(true);
@@ -3011,43 +3009,33 @@ var MDCDialogFoundation = function (_MDCFoundation) {
3011
3009
  _createClass(MDCDialogFoundation, [{
3012
3010
  key: 'destroy',
3013
3011
  value: function destroy() {
3014
- // Ensure that dialog is cleaned up when destroyed
3015
3012
  this.close();
3016
3013
  }
3017
3014
  }, {
3018
3015
  key: 'open',
3019
3016
  value: function open() {
3020
- this.lastFocusedTarget_ = this.adapter_.getFocusedTarget();
3021
- this.makeTabbable_();
3017
+ this.isOpen_ = true;
3018
+ this.disableScroll_();
3019
+ this.adapter_.setStyle('visibility', 'visible');
3020
+ this.adapter_.addClass(MDCDialogFoundation.cssClasses.OPEN);
3021
+ this.adapter_.trapFocusOnSurface();
3022
+
3022
3023
  this.adapter_.registerDocumentKeydownHandler(this.documentKeydownHandler_);
3023
3024
  this.adapter_.registerSurfaceInteractionHandler('click', this.dialogClickHandler_);
3024
3025
  this.adapter_.registerInteractionHandler('click', this.componentClickHandler_);
3025
- this.adapter_.setInitialFocus();
3026
- this.adapter_.registerFocusTrappingHandler(this.focusHandler_);
3027
- this.disableScroll_();
3028
- this.adapter_.setBodyAttr('aria-hidden', 'true');
3029
- this.adapter_.setAttr('aria-hidden', 'false');
3030
- this.adapter_.addClass(MDCDialogFoundation.cssClasses.OPEN);
3031
- this.isOpen_ = true;
3032
- this.currentFocusedElIndex_ = this.adapter_.numFocusableTargets() - 1;
3033
3026
  }
3034
3027
  }, {
3035
3028
  key: 'close',
3036
3029
  value: function close() {
3037
- this.makeUntabbable_();
3038
- this.adapter_.deregisterSurfaceInteractionHandler('click', this.dialogClickHandler_);
3039
- this.adapter_.deregisterDocumentKeydownHandler(this.documentKeydownHandler_);
3040
- this.adapter_.deregisterInteractionHandler('click', this.componentClickHandler_);
3041
- this.adapter_.deregisterFocusTrappingHandler(this.focusHandler_);
3030
+ this.isOpen_ = false;
3031
+ this.adapter_.untrapFocusOnSurface();
3042
3032
  this.adapter_.removeClass(MDCDialogFoundation.cssClasses.OPEN);
3033
+ this.adapter_.setStyle('visibility', 'hidden');
3043
3034
  this.enableScroll_();
3044
- this.adapter_.rmBodyAttr('aria-hidden');
3045
- this.adapter_.setAttr('aria-hidden', 'true');
3046
3035
 
3047
- if (this.lastFocusedTarget_) {
3048
- this.adapter_.setFocusedTarget(this.lastFocusedTarget_);
3049
- }
3050
- this.lastFocusedTarget_ = null;
3036
+ this.adapter_.deregisterSurfaceInteractionHandler('click', this.dialogClickHandler_);
3037
+ this.adapter_.deregisterDocumentKeydownHandler(this.documentKeydownHandler_);
3038
+ this.adapter_.deregisterInteractionHandler('click', this.componentClickHandler_);
3051
3039
  }
3052
3040
  }, {
3053
3041
  key: 'isOpen',
@@ -3084,47 +3072,6 @@ var MDCDialogFoundation = function (_MDCFoundation) {
3084
3072
  this.cancel(true);
3085
3073
  }
3086
3074
  }
3087
- }, {
3088
- key: 'makeUntabbable_',
3089
- value: function makeUntabbable_() {
3090
- var elements = this.adapter_.getFocusableElements();
3091
- if (elements) {
3092
- for (var i = 0; i < elements.length; i++) {
3093
- this.adapter_.saveElementTabState(elements[i]);
3094
- this.adapter_.makeElementUntabbable(elements[i]);
3095
- }
3096
- }
3097
- }
3098
- }, {
3099
- key: 'makeTabbable_',
3100
- value: function makeTabbable_() {
3101
- var elements = this.adapter_.getFocusableElements();
3102
- if (elements) {
3103
- for (var i = 0; i < elements.length; i++) {
3104
- this.adapter_.restoreElementTabState(elements[i]);
3105
- }
3106
- }
3107
- }
3108
- }, {
3109
- key: 'setFocus_',
3110
- value: function setFocus_(evt) {
3111
- if (!evt.relatedTarget) {
3112
- // Do not increment the focused el index when re-focusing on same element, e.g. switching windows
3113
- return;
3114
- }
3115
-
3116
- if (this.isResettingToFirstFocusTarget_) {
3117
- return;
3118
- }
3119
-
3120
- this.currentFocusedElIndex_ = (this.currentFocusedElIndex_ + 1) % this.adapter_.numFocusableTargets();
3121
-
3122
- if (this.currentFocusedElIndex_ === 0) {
3123
- this.isResettingToFirstFocusTarget_ = true;
3124
- this.adapter_.setDialogFocusFirstTarget();
3125
- this.isResettingToFirstFocusTarget_ = false;
3126
- }
3127
- }
3128
3075
  }, {
3129
3076
  key: 'disableScroll_',
3130
3077
  value: function disableScroll_() {
@@ -3143,14 +3090,14 @@ var MDCDialogFoundation = function (_MDCFoundation) {
3143
3090
  /* harmony default export */ __webpack_exports__["a"] = MDCDialogFoundation;
3144
3091
 
3145
3092
  /***/ }),
3146
- /* 24 */
3093
+ /* 25 */
3147
3094
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3148
3095
 
3149
3096
  "use strict";
3150
3097
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3151
- /* harmony export (immutable) */ __webpack_exports__["applyPassive"] = applyPassive;
3152
- /* harmony export (immutable) */ __webpack_exports__["saveElementTabState"] = saveElementTabState;
3153
- /* harmony export (immutable) */ __webpack_exports__["restoreElementTabState"] = restoreElementTabState;
3098
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_focus_trap__ = __webpack_require__(53);
3099
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_focus_trap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_focus_trap__);
3100
+ /* harmony export (immutable) */ __webpack_exports__["createFocusTrapInstance"] = createFocusTrapInstance;
3154
3101
  /**
3155
3102
  * Copyright 2016 Google Inc. All Rights Reserved.
3156
3103
  *
@@ -3166,57 +3113,291 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3166
3113
  * See the License for the specific language governing permissions and
3167
3114
  * limitations under the License.
3168
3115
  */
3169
- var TAB_DATA = 'data-mdc-tabindex';
3170
- var TAB_DATA_HANDLED = 'data-mdc-tabindex-handled';
3171
3116
 
3172
- var supportsPassive_ = void 0;
3173
3117
 
3174
- // Determine whether the current browser supports passive event listeners, and if so, use them.
3175
- function applyPassive() {
3176
- var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
3177
- var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
3178
3118
 
3179
- if (supportsPassive_ === undefined || forceRefresh) {
3180
- var isSupported = false;
3181
- try {
3182
- globalObj.document.addEventListener('test', null, { get passive() {
3183
- isSupported = true;
3184
- } });
3185
- } catch (e) {}
3119
+ function createFocusTrapInstance(surfaceEl, acceptButtonEl) {
3120
+ var focusTrapFactory = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : __WEBPACK_IMPORTED_MODULE_0_focus_trap___default.a;
3186
3121
 
3187
- supportsPassive_ = isSupported;
3122
+ return focusTrapFactory(surfaceEl, {
3123
+ initialFocus: acceptButtonEl,
3124
+ clickOutsideDeactivates: true
3125
+ });
3126
+ }
3127
+
3128
+ /***/ }),
3129
+ /* 26 */
3130
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3131
+
3132
+ "use strict";
3133
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__slidable__ = __webpack_require__(2);
3134
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cssClasses; });
3135
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return strings; });
3136
+ /**
3137
+ * Copyright 2016 Google Inc. All Rights Reserved.
3138
+ *
3139
+ * Licensed under the Apache License, Version 2.0 (the "License");
3140
+ * you may not use this file except in compliance with the License.
3141
+ * You may obtain a copy of the License at
3142
+ *
3143
+ * http://www.apache.org/licenses/LICENSE-2.0
3144
+ *
3145
+ * Unless required by applicable law or agreed to in writing, software
3146
+ * distributed under the License is distributed on an "AS IS" BASIS,
3147
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3148
+ * See the License for the specific language governing permissions and
3149
+ * limitations under the License.
3150
+ */
3151
+
3152
+
3153
+
3154
+ var cssClasses = {
3155
+ ROOT: 'mdc-persistent-drawer',
3156
+ OPEN: 'mdc-persistent-drawer--open',
3157
+ ANIMATING: 'mdc-persistent-drawer--animating'
3158
+ };
3159
+
3160
+ var strings = {
3161
+ DRAWER_SELECTOR: '.mdc-persistent-drawer__drawer',
3162
+ FOCUSABLE_ELEMENTS: __WEBPACK_IMPORTED_MODULE_0__slidable__["b" /* FOCUSABLE_ELEMENTS */]
3163
+ };
3164
+
3165
+ /***/ }),
3166
+ /* 27 */
3167
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3168
+
3169
+ "use strict";
3170
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__slidable__ = __webpack_require__(2);
3171
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(26);
3172
+ 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; };
3173
+
3174
+ 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; }; }();
3175
+
3176
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3177
+
3178
+ 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; }
3179
+
3180
+ 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; }
3181
+
3182
+ /**
3183
+ * Copyright 2016 Google Inc. All Rights Reserved.
3184
+ *
3185
+ * Licensed under the Apache License, Version 2.0 (the "License");
3186
+ * you may not use this file except in compliance with the License.
3187
+ * You may obtain a copy of the License at
3188
+ *
3189
+ * http://www.apache.org/licenses/LICENSE-2.0
3190
+ *
3191
+ * Unless required by applicable law or agreed to in writing, software
3192
+ * distributed under the License is distributed on an "AS IS" BASIS,
3193
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3194
+ * See the License for the specific language governing permissions and
3195
+ * limitations under the License.
3196
+ */
3197
+
3198
+
3199
+
3200
+
3201
+ var MDCPersistentDrawerFoundation = function (_MDCSlidableDrawerFou) {
3202
+ _inherits(MDCPersistentDrawerFoundation, _MDCSlidableDrawerFou);
3203
+
3204
+ _createClass(MDCPersistentDrawerFoundation, null, [{
3205
+ key: 'cssClasses',
3206
+ get: function get() {
3207
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
3208
+ }
3209
+ }, {
3210
+ key: 'strings',
3211
+ get: function get() {
3212
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */];
3213
+ }
3214
+ }, {
3215
+ key: 'defaultAdapter',
3216
+ get: function get() {
3217
+ return _extends(__WEBPACK_IMPORTED_MODULE_0__slidable__["a" /* MDCSlidableDrawerFoundation */].defaultAdapter, {
3218
+ isDrawer: function isDrawer() {
3219
+ return false;
3220
+ }
3221
+ });
3222
+ }
3223
+ }]);
3224
+
3225
+ function MDCPersistentDrawerFoundation(adapter) {
3226
+ _classCallCheck(this, MDCPersistentDrawerFoundation);
3227
+
3228
+ return _possibleConstructorReturn(this, (MDCPersistentDrawerFoundation.__proto__ || Object.getPrototypeOf(MDCPersistentDrawerFoundation)).call(this, _extends(MDCPersistentDrawerFoundation.defaultAdapter, adapter), MDCPersistentDrawerFoundation.cssClasses.ROOT, MDCPersistentDrawerFoundation.cssClasses.ANIMATING, MDCPersistentDrawerFoundation.cssClasses.OPEN));
3188
3229
  }
3189
3230
 
3190
- return supportsPassive_ ? { passive: true } : false;
3191
- }
3231
+ _createClass(MDCPersistentDrawerFoundation, [{
3232
+ key: 'isRootTransitioningEventTarget_',
3233
+ value: function isRootTransitioningEventTarget_(el) {
3234
+ return this.adapter_.isDrawer(el);
3235
+ }
3236
+ }]);
3192
3237
 
3193
- function saveElementTabState(el) {
3194
- if (el.hasAttribute('tabindex')) {
3195
- el.setAttribute(TAB_DATA, el.getAttribute('tabindex'));
3238
+ return MDCPersistentDrawerFoundation;
3239
+ }(__WEBPACK_IMPORTED_MODULE_0__slidable__["a" /* MDCSlidableDrawerFoundation */]);
3240
+
3241
+ /* harmony default export */ __webpack_exports__["a"] = MDCPersistentDrawerFoundation;
3242
+
3243
+ /***/ }),
3244
+ /* 28 */
3245
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3246
+
3247
+ "use strict";
3248
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3249
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(27);
3250
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);
3251
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
3252
+ /* unused harmony reexport util */
3253
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCPersistentDrawer; });
3254
+ 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; }; }();
3255
+
3256
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3257
+
3258
+ 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; }
3259
+
3260
+ 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; }
3261
+
3262
+ /**
3263
+ * Copyright 2016 Google Inc. All Rights Reserved.
3264
+ *
3265
+ * Licensed under the Apache License, Version 2.0 (the "License");
3266
+ * you may not use this file except in compliance with the License.
3267
+ * You may obtain a copy of the License at
3268
+ *
3269
+ * http://www.apache.org/licenses/LICENSE-2.0
3270
+ *
3271
+ * Unless required by applicable law or agreed to in writing, software
3272
+ * distributed under the License is distributed on an "AS IS" BASIS,
3273
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3274
+ * See the License for the specific language governing permissions and
3275
+ * limitations under the License.
3276
+ */
3277
+
3278
+
3279
+
3280
+
3281
+
3282
+
3283
+
3284
+
3285
+ var MDCPersistentDrawer = function (_MDCComponent) {
3286
+ _inherits(MDCPersistentDrawer, _MDCComponent);
3287
+
3288
+ function MDCPersistentDrawer() {
3289
+ _classCallCheck(this, MDCPersistentDrawer);
3290
+
3291
+ return _possibleConstructorReturn(this, (MDCPersistentDrawer.__proto__ || Object.getPrototypeOf(MDCPersistentDrawer)).apply(this, arguments));
3196
3292
  }
3197
- el.setAttribute(TAB_DATA_HANDLED, true);
3198
- }
3199
3293
 
3200
- function restoreElementTabState(el) {
3201
- // Only modify elements we've already handled, in case anything was dynamically added since we saved state.
3202
- if (el.hasAttribute(TAB_DATA_HANDLED)) {
3203
- if (el.hasAttribute(TAB_DATA)) {
3204
- el.setAttribute('tabindex', el.getAttribute(TAB_DATA));
3205
- el.removeAttribute(TAB_DATA);
3206
- } else {
3207
- el.removeAttribute('tabindex');
3294
+ _createClass(MDCPersistentDrawer, [{
3295
+ key: 'getDefaultFoundation',
3296
+ value: function getDefaultFoundation() {
3297
+ var _this2 = this;
3298
+
3299
+ var FOCUSABLE_ELEMENTS = __WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.FOCUSABLE_ELEMENTS;
3300
+
3301
+
3302
+ return new __WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */]({
3303
+ addClass: function addClass(className) {
3304
+ return _this2.root_.classList.add(className);
3305
+ },
3306
+ removeClass: function removeClass(className) {
3307
+ return _this2.root_.classList.remove(className);
3308
+ },
3309
+ hasClass: function hasClass(className) {
3310
+ return _this2.root_.classList.contains(className);
3311
+ },
3312
+ hasNecessaryDom: function hasNecessaryDom() {
3313
+ return Boolean(_this2.drawer);
3314
+ },
3315
+ registerInteractionHandler: function registerInteractionHandler(evt, handler) {
3316
+ return _this2.root_.addEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["remapEvent"](evt), handler, __WEBPACK_IMPORTED_MODULE_2__util__["applyPassive"]());
3317
+ },
3318
+ deregisterInteractionHandler: function deregisterInteractionHandler(evt, handler) {
3319
+ return _this2.root_.removeEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["remapEvent"](evt), handler, __WEBPACK_IMPORTED_MODULE_2__util__["applyPassive"]());
3320
+ },
3321
+ registerDrawerInteractionHandler: function registerDrawerInteractionHandler(evt, handler) {
3322
+ return _this2.drawer.addEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["remapEvent"](evt), handler);
3323
+ },
3324
+ deregisterDrawerInteractionHandler: function deregisterDrawerInteractionHandler(evt, handler) {
3325
+ return _this2.drawer.removeEventListener(__WEBPACK_IMPORTED_MODULE_2__util__["remapEvent"](evt), handler);
3326
+ },
3327
+ registerTransitionEndHandler: function registerTransitionEndHandler(handler) {
3328
+ return _this2.root_.addEventListener('transitionend', handler);
3329
+ },
3330
+ deregisterTransitionEndHandler: function deregisterTransitionEndHandler(handler) {
3331
+ return _this2.root_.removeEventListener('transitionend', handler);
3332
+ },
3333
+ registerDocumentKeydownHandler: function registerDocumentKeydownHandler(handler) {
3334
+ return document.addEventListener('keydown', handler);
3335
+ },
3336
+ deregisterDocumentKeydownHandler: function deregisterDocumentKeydownHandler(handler) {
3337
+ return document.removeEventListener('keydown', handler);
3338
+ },
3339
+ getDrawerWidth: function getDrawerWidth() {
3340
+ return _this2.drawer.offsetWidth;
3341
+ },
3342
+ setTranslateX: function setTranslateX(value) {
3343
+ return _this2.drawer.style.setProperty(__WEBPACK_IMPORTED_MODULE_2__util__["getTransformPropertyName"](), value === null ? null : 'translateX(' + value + 'px)');
3344
+ },
3345
+ getFocusableElements: function getFocusableElements() {
3346
+ return _this2.drawer.querySelectorAll(FOCUSABLE_ELEMENTS);
3347
+ },
3348
+ saveElementTabState: function saveElementTabState(el) {
3349
+ return __WEBPACK_IMPORTED_MODULE_2__util__["saveElementTabState"](el);
3350
+ },
3351
+ restoreElementTabState: function restoreElementTabState(el) {
3352
+ return __WEBPACK_IMPORTED_MODULE_2__util__["restoreElementTabState"](el);
3353
+ },
3354
+ makeElementUntabbable: function makeElementUntabbable(el) {
3355
+ return el.setAttribute('tabindex', -1);
3356
+ },
3357
+ isRtl: function isRtl() {
3358
+ return getComputedStyle(_this2.root_).getPropertyValue('direction') === 'rtl';
3359
+ },
3360
+ isDrawer: function isDrawer(el) {
3361
+ return el === _this2.drawer;
3362
+ }
3363
+ });
3364
+ }
3365
+ }, {
3366
+ key: 'open',
3367
+ get: function get() {
3368
+ return this.foundation_.isOpen();
3369
+ },
3370
+ set: function set(value) {
3371
+ if (value) {
3372
+ this.foundation_.open();
3373
+ } else {
3374
+ this.foundation_.close();
3375
+ }
3376
+ }
3377
+
3378
+ /* Return the drawer element inside the component. */
3379
+
3380
+ }, {
3381
+ key: 'drawer',
3382
+ get: function get() {
3383
+ return this.root_.querySelector(__WEBPACK_IMPORTED_MODULE_1__foundation__["a" /* default */].strings.DRAWER_SELECTOR);
3208
3384
  }
3209
- el.removeAttribute(TAB_DATA_HANDLED);
3210
- }
3211
- }
3385
+ }], [{
3386
+ key: 'attachTo',
3387
+ value: function attachTo(root) {
3388
+ return new MDCPersistentDrawer(root);
3389
+ }
3390
+ }]);
3391
+
3392
+ return MDCPersistentDrawer;
3393
+ }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
3212
3394
 
3213
3395
  /***/ }),
3214
- /* 25 */
3396
+ /* 29 */
3215
3397
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3216
3398
 
3217
3399
  "use strict";
3218
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cssClasses; });
3219
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return strings; });
3400
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return FOCUSABLE_ELEMENTS; });
3220
3401
  /**
3221
3402
  * Copyright 2016 Google Inc. All Rights Reserved.
3222
3403
  *
@@ -3233,28 +3414,15 @@ function restoreElementTabState(el) {
3233
3414
  * limitations under the License.
3234
3415
  */
3235
3416
 
3236
- var ROOT = 'mdc-temporary-drawer';
3237
-
3238
- var cssClasses = {
3239
- ROOT: ROOT,
3240
- OPEN: ROOT + '--open',
3241
- ANIMATING: ROOT + '--animating',
3242
- RIGHT: ROOT + '--right'
3243
- };
3244
-
3245
- var strings = {
3246
- DRAWER_SELECTOR: '.' + ROOT + '__drawer',
3247
- OPACITY_VAR_NAME: '--' + ROOT + '-opacity',
3248
- FOCUSABLE_ELEMENTS: 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), ' + 'button:not([disabled]), iframe, object, embed, [tabindex], [contenteditable]'
3249
- };
3417
+ var FOCUSABLE_ELEMENTS = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), ' + 'button:not([disabled]), iframe, object, embed, [tabindex], [contenteditable]';
3250
3418
 
3251
3419
  /***/ }),
3252
- /* 26 */
3420
+ /* 30 */
3253
3421
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3254
3422
 
3255
3423
  "use strict";
3256
3424
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3257
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(25);
3425
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCSlidableDrawerFoundation; });
3258
3426
  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; };
3259
3427
 
3260
3428
  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; }; }();
@@ -3283,21 +3451,10 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
3283
3451
 
3284
3452
 
3285
3453
 
3454
+ var MDCSlidableDrawerFoundation = function (_MDCFoundation) {
3455
+ _inherits(MDCSlidableDrawerFoundation, _MDCFoundation);
3286
3456
 
3287
- var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3288
- _inherits(MDCTemporaryDrawerFoundation, _MDCFoundation);
3289
-
3290
- _createClass(MDCTemporaryDrawerFoundation, null, [{
3291
- key: 'cssClasses',
3292
- get: function get() {
3293
- return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
3294
- }
3295
- }, {
3296
- key: 'strings',
3297
- get: function get() {
3298
- return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */];
3299
- }
3300
- }, {
3457
+ _createClass(MDCSlidableDrawerFoundation, null, [{
3301
3458
  key: 'defaultAdapter',
3302
3459
  get: function get() {
3303
3460
  return {
@@ -3317,7 +3474,6 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3317
3474
  registerDocumentKeydownHandler: function registerDocumentKeydownHandler() /* handler: EventListener */{},
3318
3475
  deregisterDocumentKeydownHandler: function deregisterDocumentKeydownHandler() /* handler: EventListener */{},
3319
3476
  setTranslateX: function setTranslateX() /* value: number | null */{},
3320
- updateCssVariable: function updateCssVariable() /* value: string */{},
3321
3477
  getFocusableElements: function getFocusableElements() /* NodeList */{},
3322
3478
  saveElementTabState: function saveElementTabState() /* el: Element */{},
3323
3479
  restoreElementTabState: function restoreElementTabState() /* el: Element */{},
@@ -3329,32 +3485,29 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3329
3485
  getDrawerWidth: function getDrawerWidth() {
3330
3486
  return (/* number */0
3331
3487
  );
3332
- },
3333
- isDrawer: function isDrawer() {
3334
- return (/* el: Element */ /* boolean */false
3335
- );
3336
3488
  }
3337
3489
  };
3338
3490
  }
3339
3491
  }]);
3340
3492
 
3341
- function MDCTemporaryDrawerFoundation(adapter) {
3342
- _classCallCheck(this, MDCTemporaryDrawerFoundation);
3493
+ function MDCSlidableDrawerFoundation(adapter, rootCssClass, animatingCssClass, openCssClass) {
3494
+ _classCallCheck(this, MDCSlidableDrawerFoundation);
3495
+
3496
+ var _this = _possibleConstructorReturn(this, (MDCSlidableDrawerFoundation.__proto__ || Object.getPrototypeOf(MDCSlidableDrawerFoundation)).call(this, _extends(MDCSlidableDrawerFoundation.defaultAdapter, adapter)));
3343
3497
 
3344
- var _this = _possibleConstructorReturn(this, (MDCTemporaryDrawerFoundation.__proto__ || Object.getPrototypeOf(MDCTemporaryDrawerFoundation)).call(this, _extends(MDCTemporaryDrawerFoundation.defaultAdapter, adapter)));
3498
+ _this.rootCssClass_ = rootCssClass;
3499
+ _this.animatingCssClass_ = animatingCssClass;
3500
+ _this.openCssClass_ = openCssClass;
3345
3501
 
3346
3502
  _this.transitionEndHandler_ = function (ev) {
3347
- if (_this.adapter_.isDrawer(ev.target)) {
3348
- _this.adapter_.removeClass(MDCTemporaryDrawerFoundation.cssClasses.ANIMATING);
3503
+ if (_this.isRootTransitioningEventTarget_(ev.target)) {
3504
+ _this.adapter_.removeClass(_this.animatingCssClass_);
3349
3505
  _this.adapter_.deregisterTransitionEndHandler(_this.transitionEndHandler_);
3350
3506
  }
3351
3507
  };
3352
3508
 
3353
3509
  _this.inert_ = false;
3354
3510
 
3355
- _this.componentClickHandler_ = function () {
3356
- return _this.close();
3357
- };
3358
3511
  _this.drawerClickHandler_ = function (evt) {
3359
3512
  return evt.stopPropagation();
3360
3513
  };
@@ -3375,13 +3528,11 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3375
3528
  return _this;
3376
3529
  }
3377
3530
 
3378
- _createClass(MDCTemporaryDrawerFoundation, [{
3531
+ _createClass(MDCSlidableDrawerFoundation, [{
3379
3532
  key: 'init',
3380
3533
  value: function init() {
3381
- var _MDCTemporaryDrawerFo = MDCTemporaryDrawerFoundation.cssClasses,
3382
- ROOT = _MDCTemporaryDrawerFo.ROOT,
3383
- OPEN = _MDCTemporaryDrawerFo.OPEN;
3384
-
3534
+ var ROOT = this.rootCssClass_;
3535
+ var OPEN = this.openCssClass_;
3385
3536
 
3386
3537
  if (!this.adapter_.hasClass(ROOT)) {
3387
3538
  throw new Error(ROOT + ' class required in root element.');
@@ -3398,11 +3549,6 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3398
3549
  this.isOpen_ = false;
3399
3550
  }
3400
3551
 
3401
- // Make browser aware of custom property being used in this element.
3402
- // Workaround for certain types of hard-to-reproduce heisenbugs.
3403
- this.adapter_.updateCssVariable(0);
3404
-
3405
- this.adapter_.registerInteractionHandler('click', this.componentClickHandler_);
3406
3552
  this.adapter_.registerDrawerInteractionHandler('click', this.drawerClickHandler_);
3407
3553
  this.adapter_.registerDrawerInteractionHandler('touchstart', this.componentTouchStartHandler_);
3408
3554
  this.adapter_.registerInteractionHandler('touchmove', this.componentTouchMoveHandler_);
@@ -3411,7 +3557,6 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3411
3557
  }, {
3412
3558
  key: 'destroy',
3413
3559
  value: function destroy() {
3414
- this.adapter_.deregisterInteractionHandler('click', this.componentClickHandler_);
3415
3560
  this.adapter_.deregisterDrawerInteractionHandler('click', this.drawerClickHandler_);
3416
3561
  this.adapter_.deregisterDrawerInteractionHandler('touchstart', this.componentTouchStartHandler_);
3417
3562
  this.adapter_.deregisterInteractionHandler('touchmove', this.componentTouchMoveHandler_);
@@ -3422,26 +3567,20 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3422
3567
  }, {
3423
3568
  key: 'open',
3424
3569
  value: function open() {
3425
- // Make sure custom property values are cleared before starting.
3426
- this.adapter_.updateCssVariable('');
3427
-
3428
3570
  this.adapter_.registerTransitionEndHandler(this.transitionEndHandler_);
3429
3571
  this.adapter_.registerDocumentKeydownHandler(this.documentKeydownHandler_);
3430
- this.adapter_.addClass(MDCTemporaryDrawerFoundation.cssClasses.ANIMATING);
3431
- this.adapter_.addClass(MDCTemporaryDrawerFoundation.cssClasses.OPEN);
3572
+ this.adapter_.addClass(this.animatingCssClass_);
3573
+ this.adapter_.addClass(this.openCssClass_);
3432
3574
  this.retabinate_();
3433
3575
  this.isOpen_ = true;
3434
3576
  }
3435
3577
  }, {
3436
3578
  key: 'close',
3437
3579
  value: function close() {
3438
- // Make sure custom property values are cleared before making any changes.
3439
- this.adapter_.updateCssVariable('');
3440
-
3441
3580
  this.adapter_.deregisterDocumentKeydownHandler(this.documentKeydownHandler_);
3442
3581
  this.adapter_.registerTransitionEndHandler(this.transitionEndHandler_);
3443
- this.adapter_.addClass(MDCTemporaryDrawerFoundation.cssClasses.ANIMATING);
3444
- this.adapter_.removeClass(MDCTemporaryDrawerFoundation.cssClasses.OPEN);
3582
+ this.adapter_.addClass(this.animatingCssClass_);
3583
+ this.adapter_.removeClass(this.openCssClass_);
3445
3584
  this.detabinate_();
3446
3585
  this.isOpen_ = false;
3447
3586
  }
@@ -3496,7 +3635,7 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3496
3635
  }, {
3497
3636
  key: 'handleTouchStart_',
3498
3637
  value: function handleTouchStart_(evt) {
3499
- if (!this.adapter_.hasClass(MDCTemporaryDrawerFoundation.cssClasses.OPEN)) {
3638
+ if (!this.adapter_.hasClass(this.openCssClass_)) {
3500
3639
  return;
3501
3640
  }
3502
3641
  if (evt.pointerType && evt.pointerType !== 'touch') {
@@ -3527,25 +3666,22 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3527
3666
  return;
3528
3667
  }
3529
3668
 
3530
- this.touchingSideNav_ = false;
3531
- this.adapter_.setTranslateX(null);
3532
- this.adapter_.updateCssVariable('');
3533
-
3534
- var newPos = null;
3535
- if (this.direction_ === 1) {
3536
- newPos = Math.min(0, this.currentX_ - this.startX_);
3537
- } else {
3538
- newPos = Math.max(0, this.currentX_ - this.startX_);
3539
- }
3669
+ this.prepareForTouchEnd_();
3540
3670
 
3541
3671
  // Did the user close the drawer by more than 50%?
3542
- if (Math.abs(newPos / this.drawerWidth_) >= 0.5) {
3672
+ if (Math.abs(this.newPosition_ / this.drawerWidth_) >= 0.5) {
3543
3673
  this.close();
3544
3674
  } else {
3545
3675
  // Triggering an open here means we'll get a nice animation back to the fully open state.
3546
3676
  this.open();
3547
3677
  }
3548
3678
  }
3679
+ }, {
3680
+ key: 'prepareForTouchEnd_',
3681
+ value: function prepareForTouchEnd_() {
3682
+ this.touchingSideNav_ = false;
3683
+ this.adapter_.setTranslateX(null);
3684
+ }
3549
3685
  }, {
3550
3686
  key: 'updateDrawer_',
3551
3687
  value: function updateDrawer_() {
@@ -3554,9 +3690,19 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3554
3690
  }
3555
3691
 
3556
3692
  requestAnimationFrame(this.updateDrawer_.bind(this));
3557
-
3693
+ this.adapter_.setTranslateX(this.newPosition_);
3694
+ }
3695
+ }, {
3696
+ key: 'isRootTransitioningEventTarget_',
3697
+ value: function isRootTransitioningEventTarget_(el) {
3698
+ // Classes extending MDCSlidableDrawerFoundation should implement this method to return true or false
3699
+ // if the event target is the root event target currently transitioning.
3700
+ return false;
3701
+ }
3702
+ }, {
3703
+ key: 'newPosition_',
3704
+ get: function get() {
3558
3705
  var newPos = null;
3559
- var newOpacity = null;
3560
3706
 
3561
3707
  if (this.direction_ === 1) {
3562
3708
  newPos = Math.min(0, this.currentX_ - this.startX_);
@@ -3564,27 +3710,195 @@ var MDCTemporaryDrawerFoundation = function (_MDCFoundation) {
3564
3710
  newPos = Math.max(0, this.currentX_ - this.startX_);
3565
3711
  }
3566
3712
 
3567
- newOpacity = Math.max(0, 1 + this.direction_ * (newPos / this.drawerWidth_));
3713
+ return newPos;
3714
+ }
3715
+ }]);
3716
+
3717
+ return MDCSlidableDrawerFoundation;
3718
+ }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCFoundation"]);
3719
+
3720
+ /***/ }),
3721
+ /* 31 */
3722
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3723
+
3724
+ "use strict";
3725
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__slidable__ = __webpack_require__(2);
3726
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cssClasses; });
3727
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return strings; });
3728
+ /**
3729
+ * Copyright 2016 Google Inc. All Rights Reserved.
3730
+ *
3731
+ * Licensed under the Apache License, Version 2.0 (the "License");
3732
+ * you may not use this file except in compliance with the License.
3733
+ * You may obtain a copy of the License at
3734
+ *
3735
+ * http://www.apache.org/licenses/LICENSE-2.0
3736
+ *
3737
+ * Unless required by applicable law or agreed to in writing, software
3738
+ * distributed under the License is distributed on an "AS IS" BASIS,
3739
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3740
+ * See the License for the specific language governing permissions and
3741
+ * limitations under the License.
3742
+ */
3743
+
3744
+
3745
+
3746
+ var cssClasses = {
3747
+ ROOT: 'mdc-temporary-drawer',
3748
+ OPEN: 'mdc-temporary-drawer--open',
3749
+ ANIMATING: 'mdc-temporary-drawer--animating'
3750
+ };
3751
+
3752
+ var strings = {
3753
+ DRAWER_SELECTOR: '.mdc-temporary-drawer__drawer',
3754
+ OPACITY_VAR_NAME: '--mdc-temporary-drawer-opacity',
3755
+ FOCUSABLE_ELEMENTS: __WEBPACK_IMPORTED_MODULE_0__slidable__["b" /* FOCUSABLE_ELEMENTS */]
3756
+ };
3757
+
3758
+ /***/ }),
3759
+ /* 32 */
3760
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3761
+
3762
+ "use strict";
3763
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__slidable__ = __webpack_require__(2);
3764
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(31);
3765
+ 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; };
3766
+
3767
+ 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); } };
3768
+
3769
+ 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; }; }();
3770
+
3771
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3772
+
3773
+ 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; }
3774
+
3775
+ 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; }
3776
+
3777
+ /**
3778
+ * Copyright 2016 Google Inc. All Rights Reserved.
3779
+ *
3780
+ * Licensed under the Apache License, Version 2.0 (the "License");
3781
+ * you may not use this file except in compliance with the License.
3782
+ * You may obtain a copy of the License at
3783
+ *
3784
+ * http://www.apache.org/licenses/LICENSE-2.0
3785
+ *
3786
+ * Unless required by applicable law or agreed to in writing, software
3787
+ * distributed under the License is distributed on an "AS IS" BASIS,
3788
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3789
+ * See the License for the specific language governing permissions and
3790
+ * limitations under the License.
3791
+ */
3792
+
3793
+
3794
+
3795
+
3796
+ var MDCTemporaryDrawerFoundation = function (_MDCSlidableDrawerFou) {
3797
+ _inherits(MDCTemporaryDrawerFoundation, _MDCSlidableDrawerFou);
3798
+
3799
+ _createClass(MDCTemporaryDrawerFoundation, null, [{
3800
+ key: 'cssClasses',
3801
+ get: function get() {
3802
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
3803
+ }
3804
+ }, {
3805
+ key: 'strings',
3806
+ get: function get() {
3807
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */];
3808
+ }
3809
+ }, {
3810
+ key: 'defaultAdapter',
3811
+ get: function get() {
3812
+ return _extends(__WEBPACK_IMPORTED_MODULE_0__slidable__["a" /* MDCSlidableDrawerFoundation */].defaultAdapter, {
3813
+ isDrawer: function isDrawer() {
3814
+ return false;
3815
+ },
3816
+ updateCssVariable: function updateCssVariable() /* value: string */{}
3817
+ });
3818
+ }
3819
+ }]);
3820
+
3821
+ function MDCTemporaryDrawerFoundation(adapter) {
3822
+ _classCallCheck(this, MDCTemporaryDrawerFoundation);
3823
+
3824
+ var _this = _possibleConstructorReturn(this, (MDCTemporaryDrawerFoundation.__proto__ || Object.getPrototypeOf(MDCTemporaryDrawerFoundation)).call(this, _extends(MDCTemporaryDrawerFoundation.defaultAdapter, adapter), MDCTemporaryDrawerFoundation.cssClasses.ROOT, MDCTemporaryDrawerFoundation.cssClasses.ANIMATING, MDCTemporaryDrawerFoundation.cssClasses.OPEN));
3825
+
3826
+ _this.componentClickHandler_ = function () {
3827
+ return _this.close();
3828
+ };
3829
+ return _this;
3830
+ }
3831
+
3832
+ _createClass(MDCTemporaryDrawerFoundation, [{
3833
+ key: 'init',
3834
+ value: function init() {
3835
+ _get(MDCTemporaryDrawerFoundation.prototype.__proto__ || Object.getPrototypeOf(MDCTemporaryDrawerFoundation.prototype), 'init', this).call(this);
3836
+
3837
+ // Make browser aware of custom property being used in this element.
3838
+ // Workaround for certain types of hard-to-reproduce heisenbugs.
3839
+ this.adapter_.updateCssVariable(0);
3840
+ this.adapter_.registerInteractionHandler('click', this.componentClickHandler_);
3841
+ }
3842
+ }, {
3843
+ key: 'destroy',
3844
+ value: function destroy() {
3845
+ _get(MDCTemporaryDrawerFoundation.prototype.__proto__ || Object.getPrototypeOf(MDCTemporaryDrawerFoundation.prototype), 'destroy', this).call(this);
3846
+
3847
+ this.adapter_.deregisterInteractionHandler('click', this.componentClickHandler_);
3848
+ }
3849
+ }, {
3850
+ key: 'open',
3851
+ value: function open() {
3852
+ // Make sure custom property values are cleared before starting.
3853
+ this.adapter_.updateCssVariable('');
3854
+
3855
+ _get(MDCTemporaryDrawerFoundation.prototype.__proto__ || Object.getPrototypeOf(MDCTemporaryDrawerFoundation.prototype), 'open', this).call(this);
3856
+ }
3857
+ }, {
3858
+ key: 'close',
3859
+ value: function close() {
3860
+ // Make sure custom property values are cleared before making any changes.
3861
+ this.adapter_.updateCssVariable('');
3862
+
3863
+ _get(MDCTemporaryDrawerFoundation.prototype.__proto__ || Object.getPrototypeOf(MDCTemporaryDrawerFoundation.prototype), 'close', this).call(this);
3864
+ }
3865
+ }, {
3866
+ key: 'prepareForTouchEnd_',
3867
+ value: function prepareForTouchEnd_() {
3868
+ _get(MDCTemporaryDrawerFoundation.prototype.__proto__ || Object.getPrototypeOf(MDCTemporaryDrawerFoundation.prototype), 'prepareForTouchEnd_', this).call(this);
3568
3869
 
3569
- this.adapter_.setTranslateX(newPos);
3870
+ this.adapter_.updateCssVariable('');
3871
+ }
3872
+ }, {
3873
+ key: 'updateDrawer_',
3874
+ value: function updateDrawer_() {
3875
+ _get(MDCTemporaryDrawerFoundation.prototype.__proto__ || Object.getPrototypeOf(MDCTemporaryDrawerFoundation.prototype), 'updateDrawer_', this).call(this);
3876
+
3877
+ var newOpacity = Math.max(0, 1 + this.direction_ * (this.newPosition_ / this.drawerWidth_));
3570
3878
  this.adapter_.updateCssVariable(newOpacity);
3571
3879
  }
3880
+ }, {
3881
+ key: 'isRootTransitioningEventTarget_',
3882
+ value: function isRootTransitioningEventTarget_(el) {
3883
+ return this.adapter_.isDrawer(el);
3884
+ }
3572
3885
  }]);
3573
3886
 
3574
3887
  return MDCTemporaryDrawerFoundation;
3575
- }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCFoundation"]);
3888
+ }(__WEBPACK_IMPORTED_MODULE_0__slidable__["a" /* MDCSlidableDrawerFoundation */]);
3576
3889
 
3577
3890
  /* harmony default export */ __webpack_exports__["a"] = MDCTemporaryDrawerFoundation;
3578
3891
 
3579
3892
  /***/ }),
3580
- /* 27 */
3893
+ /* 33 */
3581
3894
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3582
3895
 
3583
3896
  "use strict";
3584
3897
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3585
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(26);
3586
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(6);
3898
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(32);
3899
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);
3587
3900
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
3901
+ /* unused harmony reexport util */
3588
3902
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCTemporaryDrawer; });
3589
3903
  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; }; }();
3590
3904
 
@@ -3616,6 +3930,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
3616
3930
 
3617
3931
 
3618
3932
 
3933
+
3619
3934
  var MDCTemporaryDrawer = function (_MDCComponent) {
3620
3935
  _inherits(MDCTemporaryDrawer, _MDCComponent);
3621
3936
 
@@ -3734,7 +4049,7 @@ var MDCTemporaryDrawer = function (_MDCComponent) {
3734
4049
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
3735
4050
 
3736
4051
  /***/ }),
3737
- /* 28 */
4052
+ /* 34 */
3738
4053
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3739
4054
 
3740
4055
  "use strict";
@@ -3765,12 +4080,12 @@ var strings = {
3765
4080
  };
3766
4081
 
3767
4082
  /***/ }),
3768
- /* 29 */
4083
+ /* 35 */
3769
4084
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3770
4085
 
3771
4086
  "use strict";
3772
4087
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3773
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(28);
4088
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(34);
3774
4089
  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; };
3775
4090
 
3776
4091
  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; }; }();
@@ -3864,7 +4179,7 @@ var MDCFormFieldFoundation = function (_MDCFoundation) {
3864
4179
  /* harmony default export */ __webpack_exports__["a"] = MDCFormFieldFoundation;
3865
4180
 
3866
4181
  /***/ }),
3867
- /* 30 */
4182
+ /* 36 */
3868
4183
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3869
4184
 
3870
4185
  "use strict";
@@ -3890,12 +4205,12 @@ var strings = {
3890
4205
  };
3891
4206
 
3892
4207
  /***/ }),
3893
- /* 31 */
4208
+ /* 37 */
3894
4209
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3895
4210
 
3896
4211
  "use strict";
3897
4212
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
3898
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(30);
4213
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(36);
3899
4214
  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; };
3900
4215
 
3901
4216
  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; }; }();
@@ -3941,6 +4256,10 @@ var MDCGridListFoundation = function (_MDCFoundation) {
3941
4256
  return (/* number */0
3942
4257
  );
3943
4258
  },
4259
+ getNumberOfTiles: function getNumberOfTiles() {
4260
+ return (/* number */0
4261
+ );
4262
+ },
3944
4263
  getOffsetWidthForTileAtIndex: function getOffsetWidthForTileAtIndex() {
3945
4264
  return (/* index: number */ /* number */0
3946
4265
  );
@@ -3991,6 +4310,9 @@ var MDCGridListFoundation = function (_MDCFoundation) {
3991
4310
  }, {
3992
4311
  key: 'alignCenter_',
3993
4312
  value: function alignCenter_() {
4313
+ if (this.adapter_.getNumberOfTiles() == 0) {
4314
+ return;
4315
+ }
3994
4316
  var gridWidth = this.adapter_.getOffsetWidth();
3995
4317
  var itemWidth = this.adapter_.getOffsetWidthForTileAtIndex(0);
3996
4318
  var tilesWidth = itemWidth * Math.floor(gridWidth / itemWidth);
@@ -4001,14 +4323,50 @@ var MDCGridListFoundation = function (_MDCFoundation) {
4001
4323
  return MDCGridListFoundation;
4002
4324
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCFoundation"]);
4003
4325
 
4004
- /* harmony default export */ __webpack_exports__["a"] = MDCGridListFoundation;
4326
+ /* harmony default export */ __webpack_exports__["a"] = MDCGridListFoundation;
4327
+
4328
+ /***/ }),
4329
+ /* 38 */
4330
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4331
+
4332
+ "use strict";
4333
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return strings; });
4334
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cssClasses; });
4335
+ /**
4336
+ * Copyright 2016 Google Inc. All Rights Reserved.
4337
+ *
4338
+ * Licensed under the Apache License, Version 2.0 (the "License");
4339
+ * you may not use this file except in compliance with the License.
4340
+ * You may obtain a copy of the License at
4341
+ *
4342
+ * http://www.apache.org/licenses/LICENSE-2.0
4343
+ *
4344
+ * Unless required by applicable law or agreed to in writing, software
4345
+ * distributed under the License is distributed on an "AS IS" BASIS,
4346
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4347
+ * See the License for the specific language governing permissions and
4348
+ * limitations under the License.
4349
+ */
4350
+ var strings = {
4351
+ DATA_TOGGLE_ON: 'data-toggle-on',
4352
+ DATA_TOGGLE_OFF: 'data-toggle-off',
4353
+ ARIA_PRESSED: 'aria-pressed',
4354
+ ARIA_DISABLED: 'aria-disabled',
4355
+ ARIA_LABEL: 'aria-label'
4356
+ };
4357
+
4358
+ var cssClasses = {
4359
+ ROOT: 'mdc-icon-toggle',
4360
+ DISABLED: 'mdc-icon-toggle--disabled'
4361
+ };
4005
4362
 
4006
4363
  /***/ }),
4007
- /* 32 */
4364
+ /* 39 */
4008
4365
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4009
4366
 
4010
4367
  "use strict";
4011
4368
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
4369
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(38);
4012
4370
  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; };
4013
4371
 
4014
4372
  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; }; }();
@@ -4037,7 +4395,6 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
4037
4395
 
4038
4396
 
4039
4397
 
4040
- var ROOT = 'mdc-icon-toggle';
4041
4398
 
4042
4399
  var MDCIconToggleFoundation = function (_MDCFoundation) {
4043
4400
  _inherits(MDCIconToggleFoundation, _MDCFoundation);
@@ -4045,21 +4402,12 @@ var MDCIconToggleFoundation = function (_MDCFoundation) {
4045
4402
  _createClass(MDCIconToggleFoundation, null, [{
4046
4403
  key: 'cssClasses',
4047
4404
  get: function get() {
4048
- return {
4049
- ROOT: ROOT,
4050
- DISABLED: ROOT + '--disabled'
4051
- };
4405
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
4052
4406
  }
4053
4407
  }, {
4054
4408
  key: 'strings',
4055
4409
  get: function get() {
4056
- return {
4057
- DATA_TOGGLE_ON: 'data-toggle-on',
4058
- DATA_TOGGLE_OFF: 'data-toggle-off',
4059
- ARIA_PRESSED: 'aria-pressed',
4060
- ARIA_DISABLED: 'aria-disabled',
4061
- ARIA_LABEL: 'aria-label'
4062
- };
4410
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */];
4063
4411
  }
4064
4412
  }, {
4065
4413
  key: 'defaultAdapter',
@@ -4246,7 +4594,7 @@ function isSpace(_ref3) {
4246
4594
  }
4247
4595
 
4248
4596
  /***/ }),
4249
- /* 33 */
4597
+ /* 40 */
4250
4598
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4251
4599
 
4252
4600
  "use strict";
@@ -4268,20 +4616,17 @@ function isSpace(_ref3) {
4268
4616
  * See the License for the specific language governing permissions and
4269
4617
  * limitations under the License.
4270
4618
  */
4271
-
4272
- var ROOT = 'mdc-simple-menu';
4273
-
4274
4619
  var cssClasses = {
4275
- ROOT: ROOT,
4276
- OPEN: ROOT + '--open',
4277
- ANIMATING: ROOT + '--animating',
4278
- TOP_RIGHT: ROOT + '--open-from-top-right',
4279
- BOTTOM_LEFT: ROOT + '--open-from-bottom-left',
4280
- BOTTOM_RIGHT: ROOT + '--open-from-bottom-right'
4620
+ ROOT: 'mdc-simple-menu',
4621
+ OPEN: 'mdc-simple-menu--open',
4622
+ ANIMATING: 'mdc-simple-menu--animating',
4623
+ TOP_RIGHT: 'mdc-simple-menu--open-from-top-right',
4624
+ BOTTOM_LEFT: 'mdc-simple-menu--open-from-bottom-left',
4625
+ BOTTOM_RIGHT: 'mdc-simple-menu--open-from-bottom-right'
4281
4626
  };
4282
4627
 
4283
4628
  var strings = {
4284
- ITEMS_SELECTOR: '.' + ROOT + '__items'
4629
+ ITEMS_SELECTOR: '.mdc-simple-menu__items'
4285
4630
  };
4286
4631
 
4287
4632
  var numbers = {
@@ -4303,13 +4648,13 @@ var numbers = {
4303
4648
  };
4304
4649
 
4305
4650
  /***/ }),
4306
- /* 34 */
4651
+ /* 41 */
4307
4652
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4308
4653
 
4309
4654
  "use strict";
4310
4655
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
4311
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(33);
4312
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(7);
4656
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(40);
4657
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(8);
4313
4658
  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; };
4314
4659
 
4315
4660
  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; }; }();
@@ -4845,13 +5190,13 @@ var MDCSimpleMenuFoundation = function (_MDCFoundation) {
4845
5190
  /* harmony default export */ __webpack_exports__["a"] = MDCSimpleMenuFoundation;
4846
5191
 
4847
5192
  /***/ }),
4848
- /* 35 */
5193
+ /* 42 */
4849
5194
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4850
5195
 
4851
5196
  "use strict";
4852
5197
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
4853
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(34);
4854
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(7);
5198
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__foundation__ = __webpack_require__(41);
5199
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(8);
4855
5200
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_1__foundation__["a"]; });
4856
5201
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MDCSimpleMenu; });
4857
5202
  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; }; }();
@@ -5063,11 +5408,43 @@ var MDCSimpleMenu = function (_MDCComponent) {
5063
5408
  }(__WEBPACK_IMPORTED_MODULE_0__material_base__["MDCComponent"]);
5064
5409
 
5065
5410
  /***/ }),
5066
- /* 36 */
5411
+ /* 43 */
5412
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
5413
+
5414
+ "use strict";
5415
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return strings; });
5416
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cssClasses; });
5417
+ /**
5418
+ * Copyright 2016 Google Inc. All Rights Reserved.
5419
+ *
5420
+ * Licensed under the Apache License, Version 2.0 (the "License");
5421
+ * you may not use this file except in compliance with the License.
5422
+ * You may obtain a copy of the License at
5423
+ *
5424
+ * http://www.apache.org/licenses/LICENSE-2.0
5425
+ *
5426
+ * Unless required by applicable law or agreed to in writing, software
5427
+ * distributed under the License is distributed on an "AS IS" BASIS,
5428
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5429
+ * See the License for the specific language governing permissions and
5430
+ * limitations under the License.
5431
+ */
5432
+ var strings = {
5433
+ NATIVE_CONTROL_SELECTOR: '.mdc-radio__native-control'
5434
+ };
5435
+
5436
+ var cssClasses = {
5437
+ ROOT: 'mdc-radio',
5438
+ DISABLED: 'mdc-radio--disabled'
5439
+ };
5440
+
5441
+ /***/ }),
5442
+ /* 44 */
5067
5443
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5068
5444
 
5069
5445
  "use strict";
5070
5446
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5447
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(43);
5071
5448
  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; }; }();
5072
5449
 
5073
5450
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -5094,7 +5471,6 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
5094
5471
 
5095
5472
 
5096
5473
 
5097
- var ROOT = 'mdc-radio';
5098
5474
 
5099
5475
  var MDCRadioFoundation = function (_MDCFoundation) {
5100
5476
  _inherits(MDCRadioFoundation, _MDCFoundation);
@@ -5132,28 +5508,34 @@ var MDCRadioFoundation = function (_MDCFoundation) {
5132
5508
  this.adapter_.removeClass(DISABLED);
5133
5509
  }
5134
5510
  }
5511
+ }, {
5512
+ key: 'getValue',
5513
+ value: function getValue() {
5514
+ return this.getNativeControl_().value;
5515
+ }
5516
+ }, {
5517
+ key: 'setValue',
5518
+ value: function setValue(value) {
5519
+ this.getNativeControl_().value = value;
5520
+ }
5135
5521
  }, {
5136
5522
  key: 'getNativeControl_',
5137
5523
  value: function getNativeControl_() {
5138
5524
  return this.adapter_.getNativeControl() || {
5139
5525
  checked: false,
5140
- disabled: false
5526
+ disabled: false,
5527
+ value: null
5141
5528
  };
5142
5529
  }
5143
5530
  }], [{
5144
5531
  key: 'cssClasses',
5145
5532
  get: function get() {
5146
- return {
5147
- ROOT: ROOT,
5148
- DISABLED: ROOT + '--disabled'
5149
- };
5533
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
5150
5534
  }
5151
5535
  }, {
5152
5536
  key: 'strings',
5153
5537
  get: function get() {
5154
- return {
5155
- NATIVE_CONTROL_SELECTOR: '.' + ROOT + '__native-control'
5156
- };
5538
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */];
5157
5539
  }
5158
5540
  }, {
5159
5541
  key: 'defaultAdapter',
@@ -5172,7 +5554,7 @@ var MDCRadioFoundation = function (_MDCFoundation) {
5172
5554
  /* harmony default export */ __webpack_exports__["a"] = MDCRadioFoundation;
5173
5555
 
5174
5556
  /***/ }),
5175
- /* 37 */
5557
+ /* 45 */
5176
5558
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5177
5559
 
5178
5560
  "use strict";
@@ -5225,13 +5607,13 @@ var numbers = {
5225
5607
  };
5226
5608
 
5227
5609
  /***/ }),
5228
- /* 38 */
5610
+ /* 46 */
5229
5611
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5230
5612
 
5231
5613
  "use strict";
5232
5614
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
5233
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(37);
5234
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(2);
5615
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(45);
5616
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(4);
5235
5617
  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; };
5236
5618
 
5237
5619
  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; }; }();
@@ -5723,11 +6105,39 @@ var MDCRippleFoundation = function (_MDCFoundation) {
5723
6105
  /* harmony default export */ __webpack_exports__["a"] = MDCRippleFoundation;
5724
6106
 
5725
6107
  /***/ }),
5726
- /* 39 */
6108
+ /* 47 */
6109
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6110
+
6111
+ "use strict";
6112
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cssClasses; });
6113
+ /**
6114
+ * Copyright 2016 Google Inc. All Rights Reserved.
6115
+ *
6116
+ * Licensed under the Apache License, Version 2.0 (the "License");
6117
+ * you may not use this file except in compliance with the License.
6118
+ * You may obtain a copy of the License at
6119
+ *
6120
+ * http://www.apache.org/licenses/LICENSE-2.0
6121
+ *
6122
+ * Unless required by applicable law or agreed to in writing, software
6123
+ * distributed under the License is distributed on an "AS IS" BASIS,
6124
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6125
+ * See the License for the specific language governing permissions and
6126
+ * limitations under the License.
6127
+ */
6128
+ var cssClasses = {
6129
+ ROOT: 'mdc-select',
6130
+ OPEN: 'mdc-select--open',
6131
+ DISABLED: 'mdc-select--disabled'
6132
+ };
6133
+
6134
+ /***/ }),
6135
+ /* 48 */
5727
6136
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5728
6137
 
5729
6138
  "use strict";
5730
6139
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6140
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(47);
5731
6141
  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; };
5732
6142
 
5733
6143
  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; }; }();
@@ -5756,7 +6166,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
5756
6166
 
5757
6167
 
5758
6168
 
5759
- var ROOT = 'mdc-select';
6169
+
5760
6170
  var OPENER_KEYS = [{ key: 'ArrowUp', keyCode: 38, forType: 'keydown' }, { key: 'ArrowDown', keyCode: 40, forType: 'keydown' }, { key: 'Space', keyCode: 32, forType: 'keyup' }];
5761
6171
 
5762
6172
  var MDCSelectFoundation = function (_MDCFoundation) {
@@ -5765,11 +6175,7 @@ var MDCSelectFoundation = function (_MDCFoundation) {
5765
6175
  _createClass(MDCSelectFoundation, null, [{
5766
6176
  key: 'cssClasses',
5767
6177
  get: function get() {
5768
- return {
5769
- ROOT: ROOT,
5770
- OPEN: ROOT + '--open',
5771
- DISABLED: ROOT + '--disabled'
5772
- };
6178
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
5773
6179
  }
5774
6180
  }, {
5775
6181
  key: 'defaultAdapter',
@@ -6064,7 +6470,7 @@ var MDCSelectFoundation = function (_MDCFoundation) {
6064
6470
  /* harmony default export */ __webpack_exports__["a"] = MDCSelectFoundation;
6065
6471
 
6066
6472
  /***/ }),
6067
- /* 40 */
6473
+ /* 49 */
6068
6474
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6069
6475
 
6070
6476
  "use strict";
@@ -6086,23 +6492,20 @@ var MDCSelectFoundation = function (_MDCFoundation) {
6086
6492
  * See the License for the specific language governing permissions and
6087
6493
  * limitations under the License.
6088
6494
  */
6089
-
6090
- var ROOT = 'mdc-snackbar';
6091
-
6092
6495
  var cssClasses = {
6093
- ROOT: ROOT,
6094
- TEXT: ROOT + '__text',
6095
- ACTION_WRAPPER: ROOT + '__action-wrapper',
6096
- ACTION_BUTTON: ROOT + '__action-button',
6097
- ACTIVE: ROOT + '--active',
6098
- MULTILINE: ROOT + '--multiline',
6099
- ACTION_ON_BOTTOM: ROOT + '--action-on-bottom'
6496
+ ROOT: 'mdc-snackbar',
6497
+ TEXT: 'mdc-snackbar__text',
6498
+ ACTION_WRAPPER: 'mdc-snackbar__action-wrapper',
6499
+ ACTION_BUTTON: 'mdc-snackbar__action-button',
6500
+ ACTIVE: 'mdc-snackbar--active',
6501
+ MULTILINE: 'mdc-snackbar--multiline',
6502
+ ACTION_ON_BOTTOM: 'mdc-snackbar--action-on-bottom'
6100
6503
  };
6101
6504
 
6102
6505
  var strings = {
6103
- TEXT_SELECTOR: '.' + cssClasses.TEXT,
6104
- ACTION_WRAPPER_SELECTOR: '.' + cssClasses.ACTION_WRAPPER,
6105
- ACTION_BUTTON_SELECTOR: '.' + cssClasses.ACTION_BUTTON
6506
+ TEXT_SELECTOR: '.mdc-snackbar__text',
6507
+ ACTION_WRAPPER_SELECTOR: '.mdc-snackbar__action-wrapper',
6508
+ ACTION_BUTTON_SELECTOR: '.mdc-snackbar__action-button'
6106
6509
  };
6107
6510
 
6108
6511
  var numbers = {
@@ -6110,12 +6513,12 @@ var numbers = {
6110
6513
  };
6111
6514
 
6112
6515
  /***/ }),
6113
- /* 41 */
6516
+ /* 50 */
6114
6517
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6115
6518
 
6116
6519
  "use strict";
6117
6520
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6118
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(40);
6521
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(49);
6119
6522
  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; };
6120
6523
 
6121
6524
  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; }; }();
@@ -6318,11 +6721,52 @@ var MDCSnackbarFoundation = function (_MDCFoundation) {
6318
6721
  /* harmony default export */ __webpack_exports__["a"] = MDCSnackbarFoundation;
6319
6722
 
6320
6723
  /***/ }),
6321
- /* 42 */
6724
+ /* 51 */
6725
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6726
+
6727
+ "use strict";
6728
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return strings; });
6729
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cssClasses; });
6730
+ /**
6731
+ * Copyright 2016 Google Inc. All Rights Reserved.
6732
+ *
6733
+ * Licensed under the Apache License, Version 2.0 (the "License");
6734
+ * you may not use this file except in compliance with the License.
6735
+ * You may obtain a copy of the License at
6736
+ *
6737
+ * http://www.apache.org/licenses/LICENSE-2.0
6738
+ *
6739
+ * Unless required by applicable law or agreed to in writing, software
6740
+ * distributed under the License is distributed on an "AS IS" BASIS,
6741
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6742
+ * See the License for the specific language governing permissions and
6743
+ * limitations under the License.
6744
+ */
6745
+ var strings = {
6746
+ ARIA_HIDDEN: 'aria-hidden',
6747
+ ROLE: 'role',
6748
+ INPUT_SELECTOR: '.mdc-textfield__input',
6749
+ LABEL_SELECTOR: '.mdc-textfield__label'
6750
+ };
6751
+
6752
+ var cssClasses = {
6753
+ ROOT: 'mdc-textfield',
6754
+ UPGRADED: 'mdc-textfield--upgraded',
6755
+ DISABLED: 'mdc-textfield--disabled',
6756
+ FOCUSED: 'mdc-textfield--focused',
6757
+ INVALID: 'mdc-textfield--invalid',
6758
+ HELPTEXT_PERSISTENT: 'mdc-textfield-helptext--persistent',
6759
+ HELPTEXT_VALIDATION_MSG: 'mdc-textfield-helptext--validation-msg',
6760
+ LABEL_FLOAT_ABOVE: 'mdc-textfield__label--float-above'
6761
+ };
6762
+
6763
+ /***/ }),
6764
+ /* 52 */
6322
6765
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6323
6766
 
6324
6767
  "use strict";
6325
6768
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6769
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constants__ = __webpack_require__(51);
6326
6770
  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; };
6327
6771
 
6328
6772
  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; }; }();
@@ -6351,30 +6795,19 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
6351
6795
 
6352
6796
 
6353
6797
 
6798
+
6354
6799
  var MDCTextfieldFoundation = function (_MDCFoundation) {
6355
6800
  _inherits(MDCTextfieldFoundation, _MDCFoundation);
6356
6801
 
6357
6802
  _createClass(MDCTextfieldFoundation, null, [{
6358
6803
  key: 'cssClasses',
6359
6804
  get: function get() {
6360
- return {
6361
- ROOT: 'mdc-textfield',
6362
- UPGRADED: 'mdc-textfield--upgraded',
6363
- DISABLED: 'mdc-textfield--disabled',
6364
- FOCUSED: 'mdc-textfield--focused',
6365
- INVALID: 'mdc-textfield--invalid',
6366
- HELPTEXT_PERSISTENT: 'mdc-textfield-helptext--persistent',
6367
- HELPTEXT_VALIDATION_MSG: 'mdc-textfield-helptext--validation-msg',
6368
- LABEL_FLOAT_ABOVE: 'mdc-textfield__label--float-above'
6369
- };
6805
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["a" /* cssClasses */];
6370
6806
  }
6371
6807
  }, {
6372
6808
  key: 'strings',
6373
6809
  get: function get() {
6374
- return {
6375
- ARIA_HIDDEN: 'aria-hidden',
6376
- ROLE: 'role'
6377
- };
6810
+ return __WEBPACK_IMPORTED_MODULE_1__constants__["b" /* strings */];
6378
6811
  }
6379
6812
  }, {
6380
6813
  key: 'defaultAdapter',
@@ -6568,25 +7001,371 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
6568
7001
  /* harmony default export */ __webpack_exports__["a"] = MDCTextfieldFoundation;
6569
7002
 
6570
7003
  /***/ }),
6571
- /* 43 */
7004
+ /* 53 */
7005
+ /***/ (function(module, exports, __webpack_require__) {
7006
+
7007
+ var tabbable = __webpack_require__(54);
7008
+
7009
+ var listeningFocusTrap = null;
7010
+
7011
+ function focusTrap(element, userOptions) {
7012
+ var tabbableNodes = [];
7013
+ var nodeFocusedBeforeActivation = null;
7014
+ var active = false;
7015
+ var paused = false;
7016
+
7017
+ var container = (typeof element === 'string')
7018
+ ? document.querySelector(element)
7019
+ : element;
7020
+
7021
+ var config = userOptions || {};
7022
+ config.returnFocusOnDeactivate = (userOptions && userOptions.returnFocusOnDeactivate !== undefined)
7023
+ ? userOptions.returnFocusOnDeactivate
7024
+ : true;
7025
+ config.escapeDeactivates = (userOptions && userOptions.escapeDeactivates !== undefined)
7026
+ ? userOptions.escapeDeactivates
7027
+ : true;
7028
+
7029
+ var trap = {
7030
+ activate: activate,
7031
+ deactivate: deactivate,
7032
+ pause: pause,
7033
+ unpause: unpause,
7034
+ };
7035
+
7036
+ return trap;
7037
+
7038
+ function activate(activateOptions) {
7039
+ if (active) return;
7040
+
7041
+ var defaultedActivateOptions = {
7042
+ onActivate: (activateOptions && activateOptions.onActivate !== undefined)
7043
+ ? activateOptions.onActivate
7044
+ : config.onActivate,
7045
+ };
7046
+
7047
+ active = true;
7048
+ paused = false;
7049
+ nodeFocusedBeforeActivation = document.activeElement;
7050
+
7051
+ if (defaultedActivateOptions.onActivate) {
7052
+ defaultedActivateOptions.onActivate();
7053
+ }
7054
+
7055
+ addListeners();
7056
+ return trap;
7057
+ }
7058
+
7059
+ function deactivate(deactivateOptions) {
7060
+ if (!active) return;
7061
+
7062
+ var defaultedDeactivateOptions = {
7063
+ returnFocus: (deactivateOptions && deactivateOptions.returnFocus !== undefined)
7064
+ ? deactivateOptions.returnFocus
7065
+ : config.returnFocusOnDeactivate,
7066
+ onDeactivate: (deactivateOptions && deactivateOptions.onDeactivate !== undefined)
7067
+ ? deactivateOptions.onDeactivate
7068
+ : config.onDeactivate,
7069
+ };
7070
+
7071
+ removeListeners();
7072
+
7073
+ if (defaultedDeactivateOptions.onDeactivate) {
7074
+ defaultedDeactivateOptions.onDeactivate();
7075
+ }
7076
+
7077
+ if (defaultedDeactivateOptions.returnFocus) {
7078
+ setTimeout(function () {
7079
+ tryFocus(nodeFocusedBeforeActivation);
7080
+ }, 0);
7081
+ }
7082
+
7083
+ active = false;
7084
+ paused = false;
7085
+ return this;
7086
+ }
7087
+
7088
+ function pause() {
7089
+ if (paused || !active) return;
7090
+ paused = true;
7091
+ removeListeners();
7092
+ }
7093
+
7094
+ function unpause() {
7095
+ if (!paused || !active) return;
7096
+ paused = false;
7097
+ addListeners();
7098
+ }
7099
+
7100
+ function addListeners() {
7101
+ if (!active) return;
7102
+
7103
+ // There can be only one listening focus trap at a time
7104
+ if (listeningFocusTrap) {
7105
+ listeningFocusTrap.pause();
7106
+ }
7107
+ listeningFocusTrap = trap;
7108
+
7109
+ updateTabbableNodes();
7110
+ tryFocus(firstFocusNode());
7111
+ document.addEventListener('focus', checkFocus, true);
7112
+ document.addEventListener('click', checkClick, true);
7113
+ document.addEventListener('mousedown', checkPointerDown, true);
7114
+ document.addEventListener('touchstart', checkPointerDown, true);
7115
+ document.addEventListener('keydown', checkKey, true);
7116
+
7117
+ return trap;
7118
+ }
7119
+
7120
+ function removeListeners() {
7121
+ if (!active || listeningFocusTrap !== trap) return;
7122
+
7123
+ document.removeEventListener('focus', checkFocus, true);
7124
+ document.removeEventListener('click', checkClick, true);
7125
+ document.removeEventListener('mousedown', checkPointerDown, true);
7126
+ document.removeEventListener('touchstart', checkPointerDown, true);
7127
+ document.removeEventListener('keydown', checkKey, true);
7128
+
7129
+ listeningFocusTrap = null;
7130
+
7131
+ return trap;
7132
+ }
7133
+
7134
+ function getNodeForOption(optionName) {
7135
+ var optionValue = config[optionName];
7136
+ var node = optionValue;
7137
+ if (!optionValue) {
7138
+ return null;
7139
+ }
7140
+ if (typeof optionValue === 'string') {
7141
+ node = document.querySelector(optionValue);
7142
+ if (!node) {
7143
+ throw new Error('`' + optionName + '` refers to no known node');
7144
+ }
7145
+ }
7146
+ if (typeof optionValue === 'function') {
7147
+ node = optionValue();
7148
+ if (!node) {
7149
+ throw new Error('`' + optionName + '` did not return a node');
7150
+ }
7151
+ }
7152
+ return node;
7153
+ }
7154
+
7155
+ function firstFocusNode() {
7156
+ var node;
7157
+ if (getNodeForOption('initialFocus') !== null) {
7158
+ node = getNodeForOption('initialFocus');
7159
+ } else if (container.contains(document.activeElement)) {
7160
+ node = document.activeElement;
7161
+ } else {
7162
+ node = tabbableNodes[0] || getNodeForOption('fallbackFocus');
7163
+ }
7164
+
7165
+ if (!node) {
7166
+ throw new Error('You can\'t have a focus-trap without at least one focusable element');
7167
+ }
7168
+
7169
+ return node;
7170
+ }
7171
+
7172
+ // This needs to be done on mousedown and touchstart instead of click
7173
+ // so that it precedes the focus event
7174
+ function checkPointerDown(e) {
7175
+ if (config.clickOutsideDeactivates && !container.contains(e.target)) {
7176
+ deactivate({ returnFocus: false });
7177
+ }
7178
+ }
7179
+
7180
+ function checkClick(e) {
7181
+ if (config.clickOutsideDeactivates) return;
7182
+ if (container.contains(e.target)) return;
7183
+ e.preventDefault();
7184
+ e.stopImmediatePropagation();
7185
+ }
7186
+
7187
+ function checkFocus(e) {
7188
+ if (container.contains(e.target)) return;
7189
+ e.preventDefault();
7190
+ e.stopImmediatePropagation();
7191
+ // Checking for a blur method here resolves a Firefox issue (#15)
7192
+ if (typeof e.target.blur === 'function') e.target.blur();
7193
+ }
7194
+
7195
+ function checkKey(e) {
7196
+ if (e.key === 'Tab' || e.keyCode === 9) {
7197
+ handleTab(e);
7198
+ }
7199
+
7200
+ if (config.escapeDeactivates !== false && isEscapeEvent(e)) {
7201
+ deactivate();
7202
+ }
7203
+ }
7204
+
7205
+ function handleTab(e) {
7206
+ e.preventDefault();
7207
+ updateTabbableNodes();
7208
+ var currentFocusIndex = tabbableNodes.indexOf(e.target);
7209
+ var lastTabbableNode = tabbableNodes[tabbableNodes.length - 1];
7210
+ var firstTabbableNode = tabbableNodes[0];
7211
+
7212
+ if (e.shiftKey) {
7213
+ if (e.target === firstTabbableNode || tabbableNodes.indexOf(e.target) === -1) {
7214
+ return tryFocus(lastTabbableNode);
7215
+ }
7216
+ return tryFocus(tabbableNodes[currentFocusIndex - 1]);
7217
+ }
7218
+
7219
+ if (e.target === lastTabbableNode) return tryFocus(firstTabbableNode);
7220
+
7221
+ tryFocus(tabbableNodes[currentFocusIndex + 1]);
7222
+ }
7223
+
7224
+ function updateTabbableNodes() {
7225
+ tabbableNodes = tabbable(container);
7226
+ }
7227
+ }
7228
+
7229
+ function isEscapeEvent(e) {
7230
+ return e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27;
7231
+ }
7232
+
7233
+ function tryFocus(node) {
7234
+ if (!node || !node.focus) return;
7235
+ node.focus();
7236
+ if (node.tagName.toLowerCase() === 'input') {
7237
+ node.select();
7238
+ }
7239
+ }
7240
+
7241
+ module.exports = focusTrap;
7242
+
7243
+
7244
+ /***/ }),
7245
+ /* 54 */
7246
+ /***/ (function(module, exports) {
7247
+
7248
+ module.exports = function(el) {
7249
+ var basicTabbables = [];
7250
+ var orderedTabbables = [];
7251
+
7252
+ // A node is "available" if
7253
+ // - it's computed style
7254
+ var isUnavailable = createIsUnavailable();
7255
+
7256
+ var candidateSelectors = [
7257
+ 'input',
7258
+ 'select',
7259
+ 'a[href]',
7260
+ 'textarea',
7261
+ 'button',
7262
+ '[tabindex]',
7263
+ ];
7264
+
7265
+ var candidates = el.querySelectorAll(candidateSelectors);
7266
+
7267
+ var candidate, candidateIndex;
7268
+ for (var i = 0, l = candidates.length; i < l; i++) {
7269
+ candidate = candidates[i];
7270
+ candidateIndex = candidate.tabIndex;
7271
+
7272
+ if (
7273
+ candidateIndex < 0
7274
+ || (candidate.tagName === 'INPUT' && candidate.type === 'hidden')
7275
+ || candidate.disabled
7276
+ || isUnavailable(candidate)
7277
+ ) {
7278
+ continue;
7279
+ }
7280
+
7281
+ if (candidateIndex === 0) {
7282
+ basicTabbables.push(candidate);
7283
+ } else {
7284
+ orderedTabbables.push({
7285
+ tabIndex: candidateIndex,
7286
+ node: candidate,
7287
+ });
7288
+ }
7289
+ }
7290
+
7291
+ var tabbableNodes = orderedTabbables
7292
+ .sort(function(a, b) {
7293
+ return a.tabIndex - b.tabIndex;
7294
+ })
7295
+ .map(function(a) {
7296
+ return a.node
7297
+ });
7298
+
7299
+ Array.prototype.push.apply(tabbableNodes, basicTabbables);
7300
+
7301
+ return tabbableNodes;
7302
+ }
7303
+
7304
+ function createIsUnavailable() {
7305
+ // Node cache must be refreshed on every check, in case
7306
+ // the content of the element has changed
7307
+ var isOffCache = [];
7308
+
7309
+ // "off" means `display: none;`, as opposed to "hidden",
7310
+ // which means `visibility: hidden;`. getComputedStyle
7311
+ // accurately reflects visiblity in context but not
7312
+ // "off" state, so we need to recursively check parents.
7313
+
7314
+ function isOff(node, nodeComputedStyle) {
7315
+ if (node === document.documentElement) return false;
7316
+
7317
+ // Find the cached node (Array.prototype.find not available in IE9)
7318
+ for (var i = 0, length = isOffCache.length; i < length; i++) {
7319
+ if (isOffCache[i][0] === node) return isOffCache[i][1];
7320
+ }
7321
+
7322
+ nodeComputedStyle = nodeComputedStyle || window.getComputedStyle(node);
7323
+
7324
+ var result = false;
7325
+
7326
+ if (nodeComputedStyle.display === 'none') {
7327
+ result = true;
7328
+ } else if (node.parentNode) {
7329
+ result = isOff(node.parentNode);
7330
+ }
7331
+
7332
+ isOffCache.push([node, result]);
7333
+
7334
+ return result;
7335
+ }
7336
+
7337
+ return function isUnavailable(node) {
7338
+ if (node === document.documentElement) return false;
7339
+
7340
+ var computedStyle = window.getComputedStyle(node);
7341
+
7342
+ if (isOff(node, computedStyle)) return true;
7343
+
7344
+ return computedStyle.visibility === 'hidden';
7345
+ }
7346
+ }
7347
+
7348
+
7349
+ /***/ }),
7350
+ /* 55 */
6572
7351
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
6573
7352
 
6574
7353
  "use strict";
6575
7354
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
6576
7355
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base__ = __webpack_require__(0);
6577
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_checkbox__ = __webpack_require__(9);
6578
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_form_field__ = __webpack_require__(12);
6579
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_grid_list__ = __webpack_require__(13);
6580
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__material_icon_toggle__ = __webpack_require__(14);
6581
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__material_radio__ = __webpack_require__(15);
7356
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_checkbox__ = __webpack_require__(10);
7357
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__material_form_field__ = __webpack_require__(13);
7358
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__material_grid_list__ = __webpack_require__(14);
7359
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__material_icon_toggle__ = __webpack_require__(15);
7360
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__material_radio__ = __webpack_require__(16);
6582
7361
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__material_ripple__ = __webpack_require__(1);
6583
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__material_dialog__ = __webpack_require__(10);
6584
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__material_drawer__ = __webpack_require__(11);
6585
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__material_textfield__ = __webpack_require__(18);
6586
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__material_snackbar__ = __webpack_require__(17);
6587
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__material_menu__ = __webpack_require__(3);
6588
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__material_select__ = __webpack_require__(16);
6589
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__material_auto_init__ = __webpack_require__(8);
7362
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__material_dialog__ = __webpack_require__(11);
7363
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__material_drawer__ = __webpack_require__(12);
7364
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__material_textfield__ = __webpack_require__(19);
7365
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__material_snackbar__ = __webpack_require__(18);
7366
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__material_menu__ = __webpack_require__(5);
7367
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__material_select__ = __webpack_require__(17);
7368
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__material_auto_init__ = __webpack_require__(9);
6590
7369
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "base", function() { return __WEBPACK_IMPORTED_MODULE_0__material_base__; });
6591
7370
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "checkbox", function() { return __WEBPACK_IMPORTED_MODULE_1__material_checkbox__; });
6592
7371
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "formField", function() { return __WEBPACK_IMPORTED_MODULE_2__material_form_field__; });