material_components_web-sass 0.8.0 → 0.9.0

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