ru-se.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

theme.js (376163B)


      1 /******/ (function(modules) { // webpackBootstrap
      2 /******/ 	// The module cache
      3 /******/ 	var installedModules = {};
      4 /******/
      5 /******/ 	// The require function
      6 /******/ 	function __webpack_require__(moduleId) {
      7 /******/
      8 /******/ 		// Check if module is in cache
      9 /******/ 		if(installedModules[moduleId]) {
     10 /******/ 			return installedModules[moduleId].exports;
     11 /******/ 		}
     12 /******/ 		// Create a new module (and put it into the cache)
     13 /******/ 		var module = installedModules[moduleId] = {
     14 /******/ 			i: moduleId,
     15 /******/ 			l: false,
     16 /******/ 			exports: {}
     17 /******/ 		};
     18 /******/
     19 /******/ 		// Execute the module function
     20 /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
     21 /******/
     22 /******/ 		// Flag the module as loaded
     23 /******/ 		module.l = true;
     24 /******/
     25 /******/ 		// Return the exports of the module
     26 /******/ 		return module.exports;
     27 /******/ 	}
     28 /******/
     29 /******/
     30 /******/ 	// expose the modules object (__webpack_modules__)
     31 /******/ 	__webpack_require__.m = modules;
     32 /******/
     33 /******/ 	// expose the module cache
     34 /******/ 	__webpack_require__.c = installedModules;
     35 /******/
     36 /******/ 	// define getter function for harmony exports
     37 /******/ 	__webpack_require__.d = function(exports, name, getter) {
     38 /******/ 		if(!__webpack_require__.o(exports, name)) {
     39 /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
     40 /******/ 		}
     41 /******/ 	};
     42 /******/
     43 /******/ 	// define __esModule on exports
     44 /******/ 	__webpack_require__.r = function(exports) {
     45 /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
     46 /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
     47 /******/ 		}
     48 /******/ 		Object.defineProperty(exports, '__esModule', { value: true });
     49 /******/ 	};
     50 /******/
     51 /******/ 	// create a fake namespace object
     52 /******/ 	// mode & 1: value is a module id, require it
     53 /******/ 	// mode & 2: merge all properties of value into the ns
     54 /******/ 	// mode & 4: return value when already ns object
     55 /******/ 	// mode & 8|1: behave like require
     56 /******/ 	__webpack_require__.t = function(value, mode) {
     57 /******/ 		if(mode & 1) value = __webpack_require__(value);
     58 /******/ 		if(mode & 8) return value;
     59 /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
     60 /******/ 		var ns = Object.create(null);
     61 /******/ 		__webpack_require__.r(ns);
     62 /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
     63 /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
     64 /******/ 		return ns;
     65 /******/ 	};
     66 /******/
     67 /******/ 	// getDefaultExport function for compatibility with non-harmony modules
     68 /******/ 	__webpack_require__.n = function(module) {
     69 /******/ 		var getter = module && module.__esModule ?
     70 /******/ 			function getDefault() { return module['default']; } :
     71 /******/ 			function getModuleExports() { return module; };
     72 /******/ 		__webpack_require__.d(getter, 'a', getter);
     73 /******/ 		return getter;
     74 /******/ 	};
     75 /******/
     76 /******/ 	// Object.prototype.hasOwnProperty.call
     77 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
     78 /******/
     79 /******/ 	// __webpack_public_path__
     80 /******/ 	__webpack_require__.p = "/";
     81 /******/
     82 /******/
     83 /******/ 	// Load entry module and return exports
     84 /******/ 	return __webpack_require__(__webpack_require__.s = 0);
     85 /******/ })
     86 /************************************************************************/
     87 /******/ ({
     88 
     89 /***/ "./js/_theme.js":
     90 /*!**********************!*\
     91   !*** ./js/_theme.js ***!
     92   \**********************/
     93 /*! no static exports found */
     94 /***/ (function(module, exports) {
     95 
     96 if ("ontouchstart" in window) {
     97   document.documentElement.className = document.documentElement.className + " touch-enabled";
     98 }
     99 
    100 if (navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/i)) {
    101   document.documentElement.className = document.documentElement.className + " no-parallax";
    102 }
    103 
    104 (function ($) {
    105   var reqAnimFrame = function () {
    106     return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback, element) {
    107       window.setTimeout(callback, 1000 / 60);
    108     };
    109   }();
    110 
    111   window.requestInterval = function (fn, delay, cancelFunction) {
    112     if (!window.requestAnimationFrame && !window.webkitRequestAnimationFrame && !(window.mozRequestAnimationFrame && window.mozCancelRequestAnimationFrame) && // Firefox 5 ships without cancel support
    113     !window.oRequestAnimationFrame && !window.msRequestAnimationFrame) return window.setInterval(fn, delay);
    114     var start = new Date().getTime(),
    115         handle = {};
    116 
    117     function loop() {
    118       var current = new Date().getTime(),
    119           delta = current - start;
    120 
    121       if (delta >= delay) {
    122         fn.call();
    123         start = new Date().getTime();
    124       }
    125 
    126       handle.value = reqAnimFrame(loop);
    127 
    128       if (delta >= delay && cancelFunction && cancelFunction.call() === true) {
    129         clearRequestInterval(handle);
    130       }
    131     }
    132 
    133     ;
    134     handle.value = reqAnimFrame(loop);
    135     return handle;
    136   };
    137 
    138   window.clearRequestInterval = function (handle) {
    139     window.cancelAnimationFrame ? window.cancelAnimationFrame(handle.value) : window.webkitCancelAnimationFrame ? window.webkitCancelAnimationFrame(handle.value) : window.webkitCancelRequestAnimationFrame ? window.webkitCancelRequestAnimationFrame(handle.value) :
    140     /* Support for legacy API */
    141     window.mozCancelRequestAnimationFrame ? window.mozCancelRequestAnimationFrame(handle.value) : window.oCancelRequestAnimationFrame ? window.oCancelRequestAnimationFrame(handle.value) : window.msCancelRequestAnimationFrame ? window.msCancelRequestAnimationFrame(handle.value) : clearInterval(handle);
    142   };
    143 
    144   if (!$.event.special.tap) {
    145     $.event.special.tap = {
    146       setup: function setup(data, namespaces) {
    147         var $elem = $(this);
    148         $elem.bind('touchstart', $.event.special.tap.handler).bind('touchmove', $.event.special.tap.handler).bind('touchend', $.event.special.tap.handler);
    149       },
    150       teardown: function teardown(namespaces) {
    151         var $elem = $(this);
    152         $elem.unbind('touchstart', $.event.special.tap.handler).unbind('touchmove', $.event.special.tap.handler).unbind('touchend', $.event.special.tap.handler);
    153       },
    154       handler: function handler(event) {
    155         var $elem = $(this);
    156         $elem.data(event.type, 1);
    157 
    158         if (event.type === 'touchend' && !$elem.data('touchmove')) {
    159           event.type = 'tap';
    160           $.event.handle.apply(this, arguments);
    161         } else if ($elem.data('touchend')) {
    162           $elem.removeData('touchstart touchmove touchend');
    163         }
    164       }
    165     };
    166   }
    167 
    168   if (!$.fn.isInView) {
    169     $.fn.isInView = function (fullyInView) {
    170       var element = this;
    171       var pageTop = $(window).scrollTop();
    172       var pageBottom = pageTop + $(window).height();
    173       var elementTop = $(element).offset().top;
    174       var elementBottom = elementTop + $(element).height();
    175 
    176       if (fullyInView === true) {
    177         return pageTop < elementTop && pageBottom > elementBottom;
    178       } else {
    179         return elementTop <= pageBottom && elementBottom >= pageTop;
    180       }
    181     };
    182   }
    183 
    184   if (!$.throttle) {
    185     $.throttle = function (fn, threshhold, scope) {
    186       threshhold || (threshhold = 250);
    187       var last, deferTimer;
    188       return function () {
    189         var context = scope || this;
    190         var now = +new Date(),
    191             args = arguments;
    192 
    193         if (last && now < last + threshhold) {
    194           // hold on to it
    195           clearTimeout(deferTimer);
    196           deferTimer = setTimeout(function () {
    197             last = now;
    198             fn.apply(context, args);
    199           }, threshhold);
    200         } else {
    201           last = now;
    202           fn.apply(context, args);
    203         }
    204       };
    205     };
    206   }
    207 
    208   if (!$.debounce) {
    209     $.debounce = function (func, wait, immediate) {
    210       var timeout;
    211       return function () {
    212         var context = this,
    213             args = arguments;
    214 
    215         var later = function later() {
    216           timeout = null;
    217           if (!immediate) func.apply(context, args);
    218         };
    219 
    220         var callNow = immediate && !timeout;
    221         clearTimeout(timeout);
    222         timeout = setTimeout(later, wait);
    223         if (callNow) func.apply(context, args);
    224       };
    225     };
    226   }
    227 })(jQuery);
    228 
    229 /***/ }),
    230 
    231 /***/ "./js/backstretch.js":
    232 /*!***************************!*\
    233   !*** ./js/backstretch.js ***!
    234   \***************************/
    235 /*! no exports provided */
    236 /***/ (function(module, __webpack_exports__, __webpack_require__) {
    237 
    238 "use strict";
    239 __webpack_require__.r(__webpack_exports__);
    240 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./js/utils.js");
    241 
    242 Object(_utils__WEBPACK_IMPORTED_MODULE_0__["onDocReady"])(function ($) {
    243   if (window.materialis_backstretch) {
    244     window.materialis_backstretch.duration = parseInt(window.materialis_backstretch.duration);
    245     window.materialis_backstretch.transitionDuration = parseInt(window.materialis_backstretch.transitionDuration);
    246     var images = materialis_backstretch.images;
    247 
    248     if (!images) {
    249       return;
    250     }
    251 
    252     jQuery('.header-homepage, .header').backstretch(images, materialis_backstretch);
    253   }
    254 });
    255 
    256 /***/ }),
    257 
    258 /***/ "./js/blog-comments.js":
    259 /*!*****************************!*\
    260   !*** ./js/blog-comments.js ***!
    261   \*****************************/
    262 /*! no exports provided */
    263 /***/ (function(module, __webpack_exports__, __webpack_require__) {
    264 
    265 "use strict";
    266 __webpack_require__.r(__webpack_exports__);
    267 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./js/utils.js");
    268 
    269 Object(_utils__WEBPACK_IMPORTED_MODULE_0__["onDocReady"])(function ($) {
    270   var $commentsWrapper = jQuery('.comments-form'),
    271       $commentsForm = jQuery('#commentform');
    272 
    273   if (window.location.hash === "#respond") {
    274     $commentsWrapper.show();
    275   }
    276 
    277   $('.add-comment-toggler').click(function () {
    278     if ($commentsForm.is(':visible')) {
    279       jQuery('html, body').animate({
    280         scrollTop: $commentsForm.offset().top - jQuery('.navigation-bar.fixto-fixed').outerHeight() - 30
    281       }, 600);
    282       return;
    283     }
    284 
    285     $commentsWrapper.show();
    286     $('html, body').animate({
    287       scrollTop: $commentsWrapper.offset().top - jQuery('.navigation-bar.fixto-fixed').outerHeight() - 30
    288     }, 600);
    289     return false;
    290   });
    291 });
    292 
    293 /***/ }),
    294 
    295 /***/ "./js/counters.js":
    296 /*!************************!*\
    297   !*** ./js/counters.js ***!
    298   \************************/
    299 /*! no exports provided */
    300 /***/ (function(module, __webpack_exports__, __webpack_require__) {
    301 
    302 "use strict";
    303 __webpack_require__.r(__webpack_exports__);
    304 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./js/utils.js");
    305 
    306 
    307 (function ($) {
    308   function updateCounterCircle($el) {
    309     var $valueHolder = $el.find('[data-countup]');
    310     var val = $valueHolder.text();
    311     val = jQuery.map(val.match(/[\d.]*[\d]+/g), function (x) {
    312       return x;
    313     }).join([]);
    314     var max = $valueHolder.attr('data-max') !== undefined ? $valueHolder.attr('data-max') : 100;
    315     var min = $valueHolder.attr('data-min') !== undefined ? $valueHolder.attr('data-min') : 0;
    316 
    317     if (min > max) {
    318       var aux = max;
    319       max = min;
    320       min = aux;
    321     }
    322 
    323     if (!val) {
    324       val = min;
    325     }
    326 
    327     var percentage = val / max * 100;
    328     var $circle = $el.find('.circle-bar');
    329     var r = $circle.attr('r');
    330     var c = Math.PI * (r * 2);
    331 
    332     if (percentage < 0) {
    333       percentage = 0;
    334     }
    335 
    336     if (percentage > 100) {
    337       percentage = 100;
    338     }
    339 
    340     var pct = c * (100 - percentage) / 100;
    341     $circle.css({
    342       strokeDashoffset: pct
    343     });
    344     Object(_utils__WEBPACK_IMPORTED_MODULE_0__["onDocReady"])(function () {
    345       if (!wp || !wp.customize) {
    346         $circle.parent().height($circle.parent().width());
    347       }
    348     });
    349   }
    350 
    351   function initCounterCircle($circle) {
    352     updateCounterCircle($circle);
    353     $circle.find('[data-countup]').bind('countup.update', function () {
    354       updateCounterCircle($circle);
    355     }); // $circle.find('[data-countup]').bind('DOMSubtreeModified', updateCircleOnDOMSubtreeModified);
    356 
    357     $circle.data('doCircle', function () {
    358       updateCounterCircle($circle);
    359     });
    360   }
    361 
    362   function initCountUP($self, force) {
    363     var min = $self.attr('data-min') !== undefined ? $self.attr('data-min') : 0,
    364         stopAt = $self.attr('data-stop'),
    365         max = $self.attr('data-max') !== undefined ? $self.attr('data-max') : 100,
    366         prefix = $self.attr('data-prefix') || "",
    367         suffix = $self.attr('data-suffix') || "",
    368         duration = $self.attr('data-duration') || 2000,
    369         decimals = $self.attr('data-decimals') || 0;
    370 
    371     if (stopAt !== undefined) {
    372       max = stopAt;
    373     }
    374 
    375     var formattedMax = '';
    376 
    377     try {
    378       var counter = new CountUp($self[0], parseInt(min), parseInt(max), parseInt(decimals), parseInt(duration) / 1000, {
    379         prefix: prefix,
    380         suffix: suffix,
    381         onUpdate: function onUpdate(value) {
    382           $self.trigger('countup.update', [value]);
    383         }
    384       });
    385       formattedMax = counter.options.formattingFn(parseInt(max));
    386     } catch (e) {
    387       console.error('invalid countup args', {
    388         min: min,
    389         max: max,
    390         decimals: decimals,
    391         duration: duration,
    392         suffix: suffix,
    393         prefix: prefix
    394       });
    395     }
    396 
    397     $self.data('countup', counter);
    398     $self.attr('data-max-computed', formattedMax);
    399 
    400     if (force) {
    401       $self.data('countup').reset();
    402     }
    403 
    404     if ($self.isInView(true) || force) {
    405       $self.data('countup').start();
    406     }
    407 
    408     $self.data('restartCountUp', function () {
    409       initCountUP($self);
    410     });
    411   }
    412 
    413   $('.circle-counter').each(function () {
    414     initCounterCircle($(this));
    415   });
    416   var $countUPs = $('[data-countup]');
    417   $countUPs.each(function () {
    418     var $self = $(this);
    419     initCountUP($self);
    420   });
    421   $(window).on('scroll', function () {
    422     $countUPs.each(function () {
    423       var $self = $(this);
    424 
    425       if ($self.isInView(true) && !$self.data('one')) {
    426         $self.data('countup').start();
    427         $self.data('one', true);
    428       } else {// $self.data('countup').reset();
    429       }
    430     });
    431   });
    432   Object(_utils__WEBPACK_IMPORTED_MODULE_0__["onDocReady"])(function () {
    433     if (!wp || !wp.customize) {
    434       $(window).on('resize', function () {
    435         $('.circle-counter .circle-svg').each(function () {
    436           $(this).height($(this).width());
    437         });
    438       });
    439     }
    440   }); // customizer binding
    441 
    442   if (parent.CP_Customizer) {
    443     parent.CP_Customizer.addModule(function (CP_Customizer) {
    444       CP_Customizer.hooks.addAction('after_node_insert', function ($node) {
    445         if ($node.is('[data-countup]')) {
    446           if ($node.closest('.circle-counter').length) {
    447             initCounterCircle($node.closest('.circle-counter'));
    448           }
    449 
    450           initCountUP($node, true);
    451         }
    452 
    453         $node.find('[data-countup]').each(function () {
    454           if ($(this).closest('.circle-counter').length) {
    455             initCounterCircle($(this).closest('.circle-counter'));
    456           }
    457 
    458           initCountUP($(this), true);
    459         });
    460       });
    461     });
    462   } // Bar counters
    463 
    464 
    465   function initCountBar($self, force) {
    466     if ($self.data('one')) return;
    467     var min = $self.attr('data-min') !== undefined ? $self.attr('data-min') : 0;
    468     var max = $self.attr('data-max');
    469     var stop = $self.attr('data-stop');
    470     var color = $self.attr('data-bgcolor');
    471     var suffix = $self.attr('data-suffix');
    472     var text = $self.attr('data-text');
    473 
    474     if (stop !== undefined) {
    475       max = stop;
    476     }
    477 
    478     try {
    479       $self.LineProgressbar({
    480         min: min || 0,
    481         max: max || 100,
    482         stop: stop || 50,
    483         color: color || '#654ea3',
    484         suffix: suffix || '%',
    485         text: text || 'Category'
    486       });
    487     } catch (e) {
    488       console.error('invalid countup args', {
    489         min: min,
    490         max: max,
    491         stop: stop,
    492         color: color,
    493         suffix: suffix,
    494         text: text
    495       });
    496     }
    497 
    498     $self.data('restartCountBar', function ($item) {
    499       $self.LineProgressbar({
    500         min: $item.attr('data-min') || 0,
    501         max: $item.attr('data-max') || 100,
    502         stop: $item.attr('data-stop') || 50,
    503         color: $item.attr('data-bgcolor') || '#654ea3',
    504         suffix: $item.attr('data-suffix') || '%',
    505         text: $item.attr('data-text') || 'Category'
    506       });
    507     });
    508   }
    509 
    510   var $countBars = $('.progressline');
    511   /*
    512   $countBars.each(function () {
    513       var $self = $(this);
    514       initCountBar($self);
    515   });
    516   */
    517 
    518   $(window).on('scroll', function () {
    519     $countBars.each(function () {
    520       var $self = $(this);
    521 
    522       if ($self.isInView(true) && !$self.data('one')) {
    523         initCountBar($self);
    524         $self.data('one', true);
    525       }
    526     });
    527   });
    528 
    529   if (parent.CP_Customizer) {
    530     parent.CP_Customizer.addModule(function (CP_Customizer) {
    531       CP_Customizer.hooks.addAction('after_node_insert', function ($node) {
    532         if ($node.is('[data-countbar]')) {
    533           initCountBar($node, true);
    534         }
    535 
    536         $node.find('[data-countbar]').each(function () {
    537           initCountBar($(this), true);
    538         });
    539       });
    540     });
    541   }
    542 })(jQuery);
    543 
    544 /***/ }),
    545 
    546 /***/ "./js/footer.js":
    547 /*!**********************!*\
    548   !*** ./js/footer.js ***!
    549   \**********************/
    550 /*! no static exports found */
    551 /***/ (function(module, exports) {
    552 
    553 (function ($, MaterialisTheme) {
    554   function toggleFooter(footer, pageContent) {
    555     var footerTop = footer.offset().top + footer.outerHeight();
    556     var pageBottom = pageContent.offset().top + pageContent.height();
    557 
    558     if (footerTop >= pageBottom) {
    559       footer.css('visibility', 'visible');
    560     } else {
    561       footer.css('visibility', '');
    562     }
    563   }
    564 
    565   function updateFooter(footer, pageContent) {
    566     var margin = footer.outerHeight() - 2;
    567 
    568     if (pageContent.is('.boxed-layout')) {
    569       margin += 36;
    570     }
    571 
    572     pageContent.css("margin-bottom", margin);
    573     toggleFooter(footer, pageContent);
    574   }
    575 
    576   window.materialisFooterParalax = function () {
    577     var footer = $('.footer.paralax');
    578 
    579     if (footer.length) {
    580       if (footer.parents('.no-parallax').length) {
    581         footer.css('visibility', 'visible');
    582         return;
    583       }
    584 
    585       $('.header-wrapper').css('z-index', 1);
    586       var pageContent = footer.prev();
    587       pageContent.addClass('footer-shadow');
    588       pageContent.css({
    589         'position': 'relative',
    590         'z-index': 1
    591       });
    592       $(window).bind('resize.footerParalax', function () {
    593         updateFooter(footer, pageContent);
    594       });
    595       jQuery(document).ready(function () {
    596         window.setTimeout(function () {
    597           updateFooter(footer, pageContent);
    598         }, 100);
    599       });
    600       updateFooter(footer, pageContent);
    601       $(window).bind('scroll.footerParalax', function () {
    602         toggleFooter(footer, pageContent);
    603       });
    604     }
    605   };
    606 
    607   window.materialisStopFooterParalax = function () {
    608     var footer = $('.footer');
    609     var pageContent = footer.prev();
    610     $('.header-wrapper').css('z-index', 0);
    611     pageContent.removeClass('footer-shadow');
    612     pageContent.css('margin-bottom', '0px');
    613     $(window).unbind('resize.footerParalax');
    614     $(window).unbind('scroll.footerParalax');
    615   };
    616 
    617   materialisFooterParalax();
    618   /*
    619       if (footer.length && window.wp && window.wp.customize) {
    620           // Select the node that will be observed for mutations
    621           let debouncedUpdate = jQuery.debounce(updateFooter, 500);
    622           new MutationObserver(function (mutationsList) {
    623               for (let mutation of mutationsList) {
    624                   if (mutation.type === 'childList') {
    625                       debouncedUpdate();
    626                   }
    627                   else if (mutation.type === 'attributes') {
    628                       debouncedUpdate()
    629                   }
    630               }
    631           }).observe(footer[0], {
    632               attributes: true,
    633               childList: true,
    634               subtree: true
    635           });
    636       }
    637     */
    638 
    639   MaterialisTheme.updateFooterParallax = function () {
    640     var footer = $('.footer.paralax');
    641     var pageContent = footer.prev();
    642 
    643     if (footer.length) {
    644       updateFooter(footer, pageContent);
    645     }
    646   };
    647 })(jQuery, MaterialisTheme);
    648 
    649 /***/ }),
    650 
    651 /***/ "./js/form-fields/checkbox-in-label.js":
    652 /*!*********************************************!*\
    653   !*** ./js/form-fields/checkbox-in-label.js ***!
    654   \*********************************************/
    655 /*! exports provided: CheckboxInsideLabelField */
    656 /***/ (function(module, __webpack_exports__, __webpack_require__) {
    657 
    658 "use strict";
    659 __webpack_require__.r(__webpack_exports__);
    660 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CheckboxInsideLabelField", function() { return CheckboxInsideLabelField; });
    661 /* harmony import */ var _material_animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/animation */ "./node_modules/@material/animation/index.js");
    662 /* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/component */ "./node_modules/@material/base/component.js");
    663 /* harmony import */ var _material_selection_control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/selection-control */ "./node_modules/@material/selection-control/index.js");
    664 /* harmony import */ var _material_checkbox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material/checkbox */ "./node_modules/@material/checkbox/index.js");
    665 /* harmony import */ var _material_ripple__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material/ripple */ "./node_modules/@material/ripple/index.js");
    666 /* harmony import */ var _material_ripple_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material/ripple/util */ "./node_modules/@material/ripple/util.js");
    667 function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
    668 
    669 function _typeof(obj) {
    670   if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
    671     _typeof = function _typeof(obj) {
    672       return _typeof2(obj);
    673     };
    674   } else {
    675     _typeof = function _typeof(obj) {
    676       return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
    677     };
    678   }
    679 
    680   return _typeof(obj);
    681 }
    682 
    683 function _classCallCheck(instance, Constructor) {
    684   if (!(instance instanceof Constructor)) {
    685     throw new TypeError("Cannot call a class as a function");
    686   }
    687 }
    688 
    689 function _possibleConstructorReturn(self, call) {
    690   if (call && (_typeof(call) === "object" || typeof call === "function")) {
    691     return call;
    692   }
    693 
    694   return _assertThisInitialized(self);
    695 }
    696 
    697 function _assertThisInitialized(self) {
    698   if (self === void 0) {
    699     throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    700   }
    701 
    702   return self;
    703 }
    704 
    705 function _getPrototypeOf(o) {
    706   _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
    707     return o.__proto__ || Object.getPrototypeOf(o);
    708   };
    709   return _getPrototypeOf(o);
    710 }
    711 
    712 function _inherits(subClass, superClass) {
    713   if (typeof superClass !== "function" && superClass !== null) {
    714     throw new TypeError("Super expression must either be null or a function");
    715   }
    716 
    717   subClass.prototype = Object.create(superClass && superClass.prototype, {
    718     constructor: {
    719       value: subClass,
    720       writable: true,
    721       configurable: true
    722     }
    723   });
    724   if (superClass) _setPrototypeOf(subClass, superClass);
    725 }
    726 
    727 function _setPrototypeOf(o, p) {
    728   _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
    729     o.__proto__ = p;
    730     return o;
    731   };
    732 
    733   return _setPrototypeOf(o, p);
    734 }
    735 
    736 
    737 
    738 
    739 
    740 
    741 
    742 
    743 var CheckboxInsideLabelField =
    744 /*#__PURE__*/
    745 function (_MDCCheckbox) {
    746   _inherits(CheckboxInsideLabelField, _MDCCheckbox);
    747 
    748   function CheckboxInsideLabelField(input) {
    749     _classCallCheck(this, CheckboxInsideLabelField);
    750 
    751     var container = document.createElement('div');
    752     input.classList.add('mdc-checkbox__native-control');
    753     var svgPath = '<path class="mdc-checkbox__checkmark-path" fill="none" stroke="white" d="M1.73,12.91 8.1,19.28 22.79,4.59"/>';
    754     var mixedMark = '<div class="mdc-checkbox__mixedmark"></div>';
    755     var svg = '<svg class="mdc-checkbox__checkmark" viewBox="0 0 24 24">' + svgPath + '</svg>';
    756     var checkboxBackground = '<div class="mdc-checkbox__background">' + svg + mixedMark + '</div>';
    757     var labelContent = jQuery(input).parent().find('span').html();
    758     var labelWrapper = '<label for="' + jQuery(input).attr('id') + '">' + labelContent + '</label>';
    759     var checkboxContent = '<div class="mdc-checkbox">' + input.outerHTML + checkboxBackground + '</div>';
    760     var label = jQuery(input).parent();
    761     jQuery(container).addClass('mdc-form-field');
    762     jQuery(container).html(checkboxContent + labelWrapper);
    763     label.before(container);
    764     label.remove();
    765     return _possibleConstructorReturn(this, _getPrototypeOf(CheckboxInsideLabelField).call(this, container));
    766   }
    767 
    768   return CheckboxInsideLabelField;
    769 }(_material_checkbox__WEBPACK_IMPORTED_MODULE_3__["MDCCheckbox"]);
    770 
    771 
    772 
    773 /***/ }),
    774 
    775 /***/ "./js/form-fields/input-in-label.js":
    776 /*!******************************************!*\
    777   !*** ./js/form-fields/input-in-label.js ***!
    778   \******************************************/
    779 /*! exports provided: InputInsideLabelField */
    780 /***/ (function(module, __webpack_exports__, __webpack_require__) {
    781 
    782 "use strict";
    783 __webpack_require__.r(__webpack_exports__);
    784 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InputInsideLabelField", function() { return InputInsideLabelField; });
    785 /* harmony import */ var _material_textfield__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/textfield */ "./node_modules/@material/textfield/index.js");
    786 /* harmony import */ var _material_floating_label__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/floating-label */ "./node_modules/@material/floating-label/index.js");
    787 /* harmony import */ var _material_notched_outline__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/notched-outline */ "./node_modules/@material/notched-outline/index.js");
    788 /* harmony import */ var _material_line_ripple__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material/line-ripple */ "./node_modules/@material/line-ripple/index.js");
    789 /* harmony import */ var _material_textfield_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material/textfield/constants */ "./node_modules/@material/textfield/constants.js");
    790 function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
    791 
    792 function _typeof(obj) {
    793   if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
    794     _typeof = function _typeof(obj) {
    795       return _typeof2(obj);
    796     };
    797   } else {
    798     _typeof = function _typeof(obj) {
    799       return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
    800     };
    801   }
    802 
    803   return _typeof(obj);
    804 }
    805 
    806 function _classCallCheck(instance, Constructor) {
    807   if (!(instance instanceof Constructor)) {
    808     throw new TypeError("Cannot call a class as a function");
    809   }
    810 }
    811 
    812 function _defineProperties(target, props) {
    813   for (var i = 0; i < props.length; i++) {
    814     var descriptor = props[i];
    815     descriptor.enumerable = descriptor.enumerable || false;
    816     descriptor.configurable = true;
    817     if ("value" in descriptor) descriptor.writable = true;
    818     Object.defineProperty(target, descriptor.key, descriptor);
    819   }
    820 }
    821 
    822 function _createClass(Constructor, protoProps, staticProps) {
    823   if (protoProps) _defineProperties(Constructor.prototype, protoProps);
    824   if (staticProps) _defineProperties(Constructor, staticProps);
    825   return Constructor;
    826 }
    827 
    828 function _possibleConstructorReturn(self, call) {
    829   if (call && (_typeof(call) === "object" || typeof call === "function")) {
    830     return call;
    831   }
    832 
    833   return _assertThisInitialized(self);
    834 }
    835 
    836 function _assertThisInitialized(self) {
    837   if (self === void 0) {
    838     throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    839   }
    840 
    841   return self;
    842 }
    843 
    844 function _getPrototypeOf(o) {
    845   _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
    846     return o.__proto__ || Object.getPrototypeOf(o);
    847   };
    848   return _getPrototypeOf(o);
    849 }
    850 
    851 function _inherits(subClass, superClass) {
    852   if (typeof superClass !== "function" && superClass !== null) {
    853     throw new TypeError("Super expression must either be null or a function");
    854   }
    855 
    856   subClass.prototype = Object.create(superClass && superClass.prototype, {
    857     constructor: {
    858       value: subClass,
    859       writable: true,
    860       configurable: true
    861     }
    862   });
    863   if (superClass) _setPrototypeOf(subClass, superClass);
    864 }
    865 
    866 function _setPrototypeOf(o, p) {
    867   _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
    868     o.__proto__ = p;
    869     return o;
    870   };
    871 
    872   return _setPrototypeOf(o, p);
    873 }
    874 
    875 
    876 
    877 
    878 
    879 
    880 
    881 var InputInsideLabelField =
    882 /*#__PURE__*/
    883 function (_MDCTextField) {
    884   _inherits(InputInsideLabelField, _MDCTextField);
    885 
    886   function InputInsideLabelField(input, type) {
    887     var _this;
    888 
    889     _classCallCheck(this, InputInsideLabelField);
    890 
    891     var container = document.createElement('div');
    892 
    893     if (type == 1) {
    894       var label = jQuery(input).parent().parent();
    895       jQuery(label).attr('for', input.name);
    896       jQuery(label).find('br').remove();
    897       jQuery(label).find('span').remove();
    898     }
    899 
    900     if (type == 2) {
    901       var label = jQuery(input).parent().find('label');
    902 
    903       if (!label.length) {
    904         jQuery(input).parent().prepend('<label for="' + input.name + '">' + input.placeholder + '</label>');
    905         var label = jQuery(input).parent().find('label');
    906       }
    907     }
    908 
    909     if (type == 3) {
    910       var label = jQuery(input).parent().parent().find('label');
    911 
    912       if (!label.length) {
    913         jQuery(input).parent().parent().prepend('<label for="' + input.name + '">' + input.placeholder.replace('(optional)', '') + '</label>');
    914         var label = jQuery(input).parent().parent().find('label');
    915       }
    916 
    917       jQuery(input).parent().parent().find('.woocommerce-input-wrapper').remove();
    918     }
    919 
    920     label.before(container);
    921     container.appendChild(input);
    922     container.appendChild(label[0]);
    923     _this = _possibleConstructorReturn(this, _getPrototypeOf(InputInsideLabelField).call(this, container));
    924     /** @private {?Element} */
    925 
    926     _this.input_;
    927     /** @type {?MDCRipple} */
    928 
    929     _this.ripple;
    930     /** @private {?MDCLineRipple} */
    931 
    932     _this.lineRipple_;
    933     /** @private {?MDCTextFieldHelperText} */
    934 
    935     _this.helperText_;
    936     /** @private {?MDCTextFieldIcon} */
    937 
    938     _this.icon_;
    939     /** @private {?MDCFloatingLabel} */
    940 
    941     _this.label_;
    942     /** @private {?MDCNotchedOutline} */
    943 
    944     _this.outline_;
    945     return _this;
    946   }
    947 
    948   _createClass(InputInsideLabelField, [{
    949     key: "initialize",
    950     value: function initialize() {
    951       var _this2 = this;
    952 
    953       var rippleFactory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (el, foundation) {
    954         return new MDCRipple(el, foundation);
    955       };
    956       var lineRippleFactory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (el) {
    957         return new _material_line_ripple__WEBPACK_IMPORTED_MODULE_3__["MDCLineRipple"](el);
    958       };
    959       var helperTextFactory = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (el) {
    960         return new _material_textfield__WEBPACK_IMPORTED_MODULE_0__["MDCTextFieldHelperText"](el);
    961       };
    962       var iconFactory = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function (el) {
    963         return new _material_textfield__WEBPACK_IMPORTED_MODULE_0__["MDCTextFieldIcon"](el);
    964       };
    965       var labelFactory = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function (el) {
    966         return new _material_floating_label__WEBPACK_IMPORTED_MODULE_1__["MDCFloatingLabel"](el);
    967       };
    968       var outlineFactory = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : function (el) {
    969         return new _material_notched_outline__WEBPACK_IMPORTED_MODULE_2__["MDCNotchedOutline"](el);
    970       };
    971       this.input_ = this.root_.querySelector('input,textarea');
    972       this.input_.classList.add('mdc-text-field__input');
    973       var labelElement = this.root_.querySelector('label');
    974       this.root_.classList.add('mdc-text-field');
    975 
    976       if (this.input_.tagName.toLocaleLowerCase() === 'textarea') {
    977         this.root_.classList.add('mdc-text-field--textarea');
    978       }
    979 
    980       if (labelElement) {
    981         labelElement.classList.add('mdc-floating-label');
    982         this.label_ = labelFactory(labelElement);
    983       }
    984 
    985       var lineRippleElement = this.root_.querySelector(_material_textfield_constants__WEBPACK_IMPORTED_MODULE_4__["strings"].BOTTOM_LINE_SELECTOR);
    986 
    987       if (lineRippleElement) {
    988         this.lineRipple_ = lineRippleFactory(lineRippleElement);
    989       } else {
    990         if (this.input_.tagName.toLocaleLowerCase() !== 'textarea') {
    991           var newRipple = document.createElement('div');
    992           newRipple.classList.add('mdc-line-ripple');
    993           this.root_.appendChild(newRipple);
    994           this.lineRipple_ = lineRippleFactory(newRipple);
    995         }
    996       }
    997 
    998       var outlineElement = this.root_.querySelector(_material_textfield_constants__WEBPACK_IMPORTED_MODULE_4__["strings"].OUTLINE_SELECTOR);
    999 
   1000       if (outlineElement) {
   1001         this.outline_ = outlineFactory(outlineElement);
   1002       }
   1003 
   1004       if (this.input_.hasAttribute(_material_textfield_constants__WEBPACK_IMPORTED_MODULE_4__["strings"].ARIA_CONTROLS)) {
   1005         var helperTextElement = document.getElementById(this.input_.getAttribute(_material_textfield_constants__WEBPACK_IMPORTED_MODULE_4__["strings"].ARIA_CONTROLS));
   1006 
   1007         if (helperTextElement) {
   1008           this.helperText_ = helperTextFactory(helperTextElement);
   1009         }
   1010       }
   1011 
   1012       var iconElement = this.root_.querySelector(_material_textfield_constants__WEBPACK_IMPORTED_MODULE_4__["strings"].ICON_SELECTOR);
   1013 
   1014       if (iconElement) {
   1015         this.icon_ = iconFactory(iconElement);
   1016       }
   1017 
   1018       this.ripple = null;
   1019 
   1020       if (this.root_.classList.contains(_material_textfield_constants__WEBPACK_IMPORTED_MODULE_4__["cssClasses"].BOX) || this.root_.classList.contains(_material_textfield_constants__WEBPACK_IMPORTED_MODULE_4__["cssClasses"].OUTLINED)) {
   1021         // For outlined text fields, the ripple is instantiated on the outline element instead of the root element
   1022         // to clip the ripple at the outline while still allowing the label to be visible beyond the outline.
   1023         var rippleCapableSurface = outlineElement ? this.outline_ : this;
   1024         var rippleRoot = outlineElement ? outlineElement : this.root_;
   1025         var MATCHES = getMatchesProperty(HTMLElement.prototype);
   1026         var adapter = Object.assign(MDCRipple.createAdapter(
   1027         /** @type {!RippleCapableSurface} */
   1028         rippleCapableSurface), {
   1029           isSurfaceActive: function isSurfaceActive() {
   1030             return _this2.input_[MATCHES](':active');
   1031           },
   1032           registerInteractionHandler: function registerInteractionHandler(type, handler) {
   1033             return _this2.input_.addEventListener(type, handler);
   1034           },
   1035           deregisterInteractionHandler: function deregisterInteractionHandler(type, handler) {
   1036             return _this2.input_.removeEventListener(type, handler);
   1037           }
   1038         });
   1039         var foundation = new MDCRippleFoundation(adapter);
   1040         this.ripple = rippleFactory(rippleRoot, foundation);
   1041       }
   1042     }
   1043   }]);
   1044 
   1045   return InputInsideLabelField;
   1046 }(_material_textfield__WEBPACK_IMPORTED_MODULE_0__["MDCTextField"]);
   1047 
   1048 
   1049 
   1050 /***/ }),
   1051 
   1052 /***/ "./js/forms.js":
   1053 /*!*********************!*\
   1054   !*** ./js/forms.js ***!
   1055   \*********************/
   1056 /*! no exports provided */
   1057 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   1058 
   1059 "use strict";
   1060 __webpack_require__.r(__webpack_exports__);
   1061 /* harmony import */ var _material_form_field__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/form-field */ "./node_modules/@material/form-field/index.js");
   1062 /* harmony import */ var _material_textfield__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/textfield */ "./node_modules/@material/textfield/index.js");
   1063 /* harmony import */ var _material_checkbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/checkbox */ "./node_modules/@material/checkbox/index.js");
   1064 /* harmony import */ var _form_fields_input_in_label__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./form-fields/input-in-label */ "./js/form-fields/input-in-label.js");
   1065 /* harmony import */ var _form_fields_checkbox_in_label__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./form-fields/checkbox-in-label */ "./js/form-fields/checkbox-in-label.js");
   1066 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils */ "./js/utils.js");
   1067 //import {MDCFormField, MDCFormFieldFoundation} from '@material/form-field';
   1068 
   1069 
   1070 
   1071 
   1072 
   1073 
   1074 Object(_utils__WEBPACK_IMPORTED_MODULE_5__["onDocReady"])(function ($) {
   1075   var textFields = document.querySelectorAll('.mdc-text-field');
   1076   var inputSelector = 'input:not([type=hidden]):not([type=submit]):not([type=reset]):not([type=checkbox])';
   1077 
   1078   for (var i = 0, textField; textField = textFields[i]; i++) {
   1079     new _material_textfield__WEBPACK_IMPORTED_MODULE_1__["MDCTextField"](textField);
   1080   }
   1081 
   1082   var inputsInLabels = jQuery("p > label > span > ".concat(inputSelector, " , p > label > span > textarea"));
   1083 
   1084   for (var _i = 0; _i < inputsInLabels.length; _i++) {
   1085     var input = inputsInLabels[_i];
   1086 
   1087     if (Object(_utils__WEBPACK_IMPORTED_MODULE_5__["isVisible"])(input)) {
   1088       new _form_fields_input_in_label__WEBPACK_IMPORTED_MODULE_3__["InputInsideLabelField"](input, 1);
   1089     }
   1090   }
   1091 
   1092   var inputsInParagraphs = jQuery(".woocommerce p > ".concat(inputSelector, ", .woocommerce p > textarea"));
   1093 
   1094   for (var _i2 = 0; _i2 < inputsInParagraphs.length; _i2++) {
   1095     var _input = inputsInParagraphs[_i2];
   1096     new _form_fields_input_in_label__WEBPACK_IMPORTED_MODULE_3__["InputInsideLabelField"](_input, 2);
   1097   }
   1098 
   1099   var inputsInSpans = jQuery(".woocommerce p > span > ".concat(inputSelector, ", .woocommerce p > span > textarea"));
   1100 
   1101   for (var _i3 = 0; _i3 < inputsInSpans.length; _i3++) {
   1102     var _input2 = inputsInSpans[_i3];
   1103     new _form_fields_input_in_label__WEBPACK_IMPORTED_MODULE_3__["InputInsideLabelField"](_input2, 3);
   1104   }
   1105 
   1106   var checkboxesInLabels = jQuery(".woocommerce label > input[type=checkbox]");
   1107 
   1108   for (var _i4 = 0; _i4 < checkboxesInLabels.length; _i4++) {
   1109     var checkbox = checkboxesInLabels[_i4];
   1110     new _form_fields_checkbox_in_label__WEBPACK_IMPORTED_MODULE_4__["CheckboxInsideLabelField"](checkbox);
   1111   } // custom script for create an account from checkout -> to be moved
   1112 
   1113 
   1114   $('.woocommerce-checkout .woocommerce-account-fields #createaccount').on('change', function () {
   1115     $('div.create-account').hide();
   1116 
   1117     if ($(this).is(':checked')) {
   1118       // Ensure password is not pre-populated.
   1119       $('#account_password').val('').change();
   1120       $('div.create-account').slideDown();
   1121     }
   1122   });
   1123   /* custom script for create an account password from checkout -> to be moved */
   1124 
   1125   /* password strength label and password strength hint are added/removed on keyup, thus
   1126     making hard for MDCTextFieldHelperText to be implemented on MDCTextField */
   1127 
   1128   $('.woocommerce #account_password, .woocommerce .edit-account #password_1').on('keyup', function () {
   1129     var _this = this;
   1130 
   1131     sleep(100).then(function () {
   1132       var hasPasswordLabel = false,
   1133           hasPasswordHint = false;
   1134       var parent = $(_this).parent();
   1135       var passwordLabel = parent.find('.woocommerce-password-strength');
   1136       var passwordHint = parent.find('.woocommerce-password-hint');
   1137       var parentMarginBottom = 8;
   1138 
   1139       if (passwordLabel.css('display') == 'block') {
   1140         hasPasswordLabel = true;
   1141         var passwordLabelHeight = 30;
   1142 
   1143         if (passwordLabel.outerHeight() != 6) {
   1144           passwordLabelHeight = passwordLabel.outerHeight();
   1145         }
   1146 
   1147         passwordLabel.css('bottom', '-' + passwordLabelHeight + 'px');
   1148         parentMarginBottom += passwordLabelHeight;
   1149       }
   1150 
   1151       if (passwordHint.length) {
   1152         hasPasswordHint = true;
   1153         passwordHint.css('position', 'absolute');
   1154         passwordHint.css('bottom', '-' + (passwordHint.outerHeight() + passwordLabelHeight) + 'px');
   1155         passwordHint.show();
   1156         parentMarginBottom += passwordHint.outerHeight();
   1157       }
   1158 
   1159       parent.css('margin-bottom', parentMarginBottom + 'px');
   1160     });
   1161   });
   1162 });
   1163 
   1164 function sleep(ms) {
   1165   return new Promise(function (resolve) {
   1166     return setTimeout(resolve, ms);
   1167   });
   1168 }
   1169 
   1170 /***/ }),
   1171 
   1172 /***/ "./js/gallery.js":
   1173 /*!***********************!*\
   1174   !*** ./js/gallery.js ***!
   1175   \***********************/
   1176 /*! no static exports found */
   1177 /***/ (function(module, exports) {
   1178 
   1179 (function ($) {
   1180   window.MaterialisCaptionsGallery = function (gallery) {
   1181     var $gallery = $(gallery);
   1182 
   1183     if (!$gallery.is('.captions-enabled') || $gallery.attr('data-ready')) {
   1184       return;
   1185     }
   1186 
   1187     $gallery.find('dl').each(function () {
   1188       var $dl = $(this);
   1189 
   1190       if ($dl.find('dd').length === 0 && $dl.find('img').attr('alt')) {
   1191         $dl.append("<dd class='wp-caption-text gallery-caption'>" + $dl.find('img').attr('alt') + "</dd>");
   1192       }
   1193 
   1194       if ($dl.find('dd').length) {
   1195         $dl.find('a').attr('data-caption', $dl.find('dd').html());
   1196       }
   1197     });
   1198     $gallery.attr('data-ready', 'true');
   1199   };
   1200 
   1201   $(function ($) {
   1202     var $captionsGalleries = $(".materialis-gallery.captions-enabled");
   1203     $captionsGalleries.each(function () {
   1204       window.MaterialisCaptionsGallery(this);
   1205     });
   1206   });
   1207 })(jQuery);
   1208 
   1209 /***/ }),
   1210 
   1211 /***/ "./js/header-animations.js":
   1212 /*!*********************************!*\
   1213   !*** ./js/header-animations.js ***!
   1214   \*********************************/
   1215 /*! no exports provided */
   1216 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   1217 
   1218 "use strict";
   1219 __webpack_require__.r(__webpack_exports__);
   1220 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./js/utils.js");
   1221 
   1222 Object(_utils__WEBPACK_IMPORTED_MODULE_0__["onDocReady"])(function () {
   1223   var morphed = jQuery("[data-text-effect]");
   1224 
   1225   if (jQuery.fn.typed && morphed.length && JSON.parse(materialis_morph.header_text_morph)) {
   1226     morphed.each(function () {
   1227       jQuery(this).empty();
   1228       jQuery(this).typed({
   1229         strings: JSON.parse(jQuery(this).attr('data-text-effect')),
   1230         typeSpeed: parseInt(materialis_morph.header_text_morph_speed),
   1231         loop: true
   1232       });
   1233     });
   1234   }
   1235 });
   1236 
   1237 /***/ }),
   1238 
   1239 /***/ "./js/homepage-arrow.js":
   1240 /*!******************************!*\
   1241   !*** ./js/homepage-arrow.js ***!
   1242   \******************************/
   1243 /*! no exports provided */
   1244 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   1245 
   1246 "use strict";
   1247 __webpack_require__.r(__webpack_exports__);
   1248 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./js/utils.js");
   1249 
   1250 Object(_utils__WEBPACK_IMPORTED_MODULE_0__["onDocReady"])(function ($) {
   1251   $('.header-homepage-arrow-c').click(function () {
   1252     scrollToSection($('body').find('[data-id]').first());
   1253   });
   1254 });
   1255 
   1256 /***/ }),
   1257 
   1258 /***/ "./js/masonry.js":
   1259 /*!***********************!*\
   1260   !*** ./js/masonry.js ***!
   1261   \***********************/
   1262 /*! no exports provided */
   1263 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   1264 
   1265 "use strict";
   1266 __webpack_require__.r(__webpack_exports__);
   1267 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./js/utils.js");
   1268 
   1269 Object(_utils__WEBPACK_IMPORTED_MODULE_0__["onDocReady"])(function ($) {
   1270   if (!MaterialisTheme.blog_posts_as_masonry_grid) {
   1271     return;
   1272   }
   1273 
   1274   var postsListRow = $(".post-list.row");
   1275 
   1276   if (!postsListRow.length) {
   1277     return true;
   1278   }
   1279 
   1280   function imageLoaded() {
   1281     loadedImages++;
   1282 
   1283     if (images.length === loadedImages && postsListRow.data().postsListRow) {
   1284       postsListRow.data().masonry.layout();
   1285     }
   1286   }
   1287 
   1288   var items = postsListRow.find(".post-list-item").not('.highlighted-post'),
   1289       images = postsListRow.find('img'),
   1290       loadedImages = 0,
   1291       debouncepostsListRowRefresh = jQuery.debounce(function () {
   1292     postsListRow.data().masonry.layout();
   1293   }, 500);
   1294   items.each(function () {
   1295     $(this).css({
   1296       width: $(this).css('max-width')
   1297     });
   1298   });
   1299   postsListRow.masonry({
   1300     itemSelector: '.post-list-item',
   1301     percentPosition: true,
   1302     columnWidth: items.eq(0).attr('data-masonry-width')
   1303   });
   1304   images.each(function () {
   1305     $(this).on('load', imageLoaded);
   1306     debouncepostsListRowRefresh();
   1307   });
   1308 });
   1309 
   1310 /***/ }),
   1311 
   1312 /***/ "./js/offscreen-menu.js":
   1313 /*!******************************!*\
   1314   !*** ./js/offscreen-menu.js ***!
   1315   \******************************/
   1316 /*! no exports provided */
   1317 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   1318 
   1319 "use strict";
   1320 __webpack_require__.r(__webpack_exports__);
   1321 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./js/utils.js");
   1322 
   1323 Object(_utils__WEBPACK_IMPORTED_MODULE_0__["onDocReady"])(function () {
   1324   var $menus = jQuery('.offcanvas_menu');
   1325   var $offCanvasWrapper = jQuery('#offcanvas-wrapper');
   1326 
   1327   if ($offCanvasWrapper.length) {
   1328     jQuery('html').addClass('has-offscreen');
   1329     $offCanvasWrapper.appendTo('body');
   1330     $offCanvasWrapper.removeClass('force-hide');
   1331     $offCanvasWrapper.on('kube.offcanvas.open', function () {
   1332       jQuery('html').addClass('offcanvas-opened');
   1333     });
   1334     $offCanvasWrapper.on('kube.offcanvas.close', function () {
   1335       jQuery('html').removeClass('offcanvas-opened');
   1336     });
   1337   }
   1338 
   1339   $menus.each(function () {
   1340     var $menu = jQuery(this);
   1341     $menu.on('materialis.open-all', function () {
   1342       jQuery(this).find('.menu-item-has-children, .page_item_has_children').each(function () {
   1343         jQuery(this).addClass('open');
   1344         jQuery(this).children('ul').slideDown(100);
   1345       });
   1346     });
   1347     $menu.find('.menu-item-has-children > a, .page_item_has_children > a').each(function () {
   1348       if (jQuery(this).children('i.mdi.mdi-chevron-right').length === 0) {
   1349         jQuery(this).append('<i class="mdi mdi-chevron-right"></i>');
   1350       }
   1351     });
   1352     $menu.on('click', '.menu-item-has-children a, .page_item_has_children a,.menu-item-has-children .mdi-chevron-right, .page_item_has_children .mdi-chevron-right', function (event) {
   1353       var $this = jQuery(this);
   1354       var $li = $this.closest('li');
   1355 
   1356       if ($li.hasClass('open')) {
   1357         if ($this.is('a')) {
   1358           return true;
   1359         }
   1360 
   1361         $li.children('ul').slideUp(100, function () {
   1362           $li.find('ul').each(function () {
   1363             jQuery(this).parent().removeClass('open');
   1364             jQuery(this).css('display', 'none');
   1365           });
   1366         });
   1367       } else {
   1368         if ($li.children('ul').length) {
   1369           $li.children('ul').slideDown(100);
   1370         } else {
   1371           return true;
   1372         }
   1373       }
   1374 
   1375       $li.toggleClass('open');
   1376       event.preventDefault();
   1377       event.stopPropagation();
   1378     });
   1379   });
   1380 });
   1381 
   1382 /***/ }),
   1383 
   1384 /***/ "./js/polyfills.js":
   1385 /*!*************************!*\
   1386   !*** ./js/polyfills.js ***!
   1387   \*************************/
   1388 /*! no static exports found */
   1389 /***/ (function(module, exports) {
   1390 
   1391 (function (ElementProto) {
   1392   if (typeof ElementProto.matches !== 'function') {
   1393     ElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {
   1394       var element = this;
   1395       var elements = (element.document || element.ownerDocument).querySelectorAll(selector);
   1396       var index = 0;
   1397 
   1398       while (elements[index] && elements[index] !== element) {
   1399         ++index;
   1400       }
   1401 
   1402       return Boolean(elements[index]);
   1403     };
   1404   }
   1405 
   1406   if (typeof ElementProto.closest !== 'function') {
   1407     ElementProto.closest = function closest(selector) {
   1408       var element = this;
   1409 
   1410       while (element && element.nodeType === 1) {
   1411         if (element.matches(selector)) {
   1412           return element;
   1413         }
   1414 
   1415         element = element.parentNode;
   1416       }
   1417 
   1418       return null;
   1419     };
   1420   }
   1421 })(window.Element.prototype);
   1422 
   1423 (function () {
   1424   if (typeof Object.assign != 'function') {
   1425     // Must be writable: true, enumerable: false, configurable: true
   1426     Object.defineProperty(Object, "assign", {
   1427       value: function assign(target, varArgs) {
   1428         // .length of function is 2
   1429         'use strict';
   1430 
   1431         if (target == null) {
   1432           // TypeError if undefined or null
   1433           throw new TypeError('Cannot convert undefined or null to object');
   1434         }
   1435 
   1436         var to = Object(target);
   1437 
   1438         for (var index = 1; index < arguments.length; index++) {
   1439           var nextSource = arguments[index];
   1440 
   1441           if (nextSource != null) {
   1442             // Skip over if undefined or null
   1443             for (var nextKey in nextSource) {
   1444               // Avoid bugs when hasOwnProperty is shadowed
   1445               if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
   1446                 to[nextKey] = nextSource[nextKey];
   1447               }
   1448             }
   1449           }
   1450         }
   1451 
   1452         return to;
   1453       },
   1454       writable: true,
   1455       configurable: true
   1456     });
   1457   }
   1458 })();
   1459 
   1460 /***/ }),
   1461 
   1462 /***/ "./js/ripple.js":
   1463 /*!**********************!*\
   1464   !*** ./js/ripple.js ***!
   1465   \**********************/
   1466 /*! no exports provided */
   1467 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   1468 
   1469 "use strict";
   1470 __webpack_require__.r(__webpack_exports__);
   1471 /* harmony import */ var _material_ripple__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/ripple */ "./node_modules/@material/ripple/index.js");
   1472 /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./js/utils.js");
   1473 
   1474 
   1475 Object(_utils__WEBPACK_IMPORTED_MODULE_1__["onDocReady"])(function () {
   1476   var btns = document.querySelectorAll('.button');
   1477 
   1478   for (var i = 0, btn; btn = btns[i]; i++) {
   1479     _material_ripple__WEBPACK_IMPORTED_MODULE_0__["MDCRipple"].attachTo(btn);
   1480   }
   1481 });
   1482 Object(_utils__WEBPACK_IMPORTED_MODULE_1__["onDocReady"])(function ($) {
   1483   var menuElements = [];
   1484 
   1485   if (document.querySelectorAll('#main_menu').length !== 0) {
   1486     menuElements = document.querySelectorAll('#main_menu li a, #materialis-footer-menu li a');
   1487   } else {
   1488     menuElements = document.querySelectorAll('#materialis-footer-menu li a');
   1489   }
   1490 
   1491   for (var i = 0, menuElement; menuElement = menuElements[i]; i++) {
   1492     _material_ripple__WEBPACK_IMPORTED_MODULE_0__["MDCRipple"].attachTo(menuElement);
   1493   }
   1494 }); // woocommerce
   1495 
   1496 function sleep(ms) {
   1497   return new Promise(function (resolve) {
   1498     return setTimeout(resolve, ms);
   1499   });
   1500 }
   1501 
   1502 Object(_utils__WEBPACK_IMPORTED_MODULE_1__["onDocReady"])(function ($) {
   1503   var wooCommentSubmit = document.querySelectorAll('.woocommerce .product #respond input#submit');
   1504 
   1505   if (wooCommentSubmit.length) {
   1506     _material_ripple__WEBPACK_IMPORTED_MODULE_0__["MDCRipple"].attachTo(wooCommentSubmit[0]);
   1507   }
   1508 
   1509   sleep(1000).then(function () {
   1510     var miniCartBtns = document.querySelectorAll('.materialis-woo-header-cart .woocommerce-mini-cart__buttons .button');
   1511 
   1512     for (var i = 0, cbtn; cbtn = miniCartBtns[i]; i++) {
   1513       _material_ripple__WEBPACK_IMPORTED_MODULE_0__["MDCRipple"].attachTo(cbtn);
   1514     }
   1515   });
   1516 });
   1517 
   1518 /***/ }),
   1519 
   1520 /***/ "./js/theme.js":
   1521 /*!*********************!*\
   1522   !*** ./js/theme.js ***!
   1523   \*********************/
   1524 /*! no static exports found */
   1525 /***/ (function(module, exports, __webpack_require__) {
   1526 
   1527 (function (MaterialisTheme) {
   1528   __webpack_require__(/*! ./polyfills */ "./js/polyfills.js");
   1529 
   1530   __webpack_require__(/*! es6-promise */ "./node_modules/es6-promise/dist/es6-promise.js").polyfill();
   1531 
   1532   __webpack_require__(/*! ./_theme */ "./js/_theme.js");
   1533 
   1534   __webpack_require__(/*! ./ripple */ "./js/ripple.js");
   1535 
   1536   __webpack_require__(/*! ./offscreen-menu */ "./js/offscreen-menu.js");
   1537 
   1538   __webpack_require__(/*! ./masonry */ "./js/masonry.js");
   1539 
   1540   __webpack_require__(/*! ./blog-comments */ "./js/blog-comments.js");
   1541 
   1542   __webpack_require__(/*! ./forms */ "./js/forms.js");
   1543 
   1544   __webpack_require__(/*! ./backstretch */ "./js/backstretch.js");
   1545 
   1546   __webpack_require__(/*! ./masonry */ "./js/masonry.js");
   1547 
   1548   __webpack_require__(/*! ./homepage-arrow */ "./js/homepage-arrow.js");
   1549 
   1550   __webpack_require__(/*! ./counters */ "./js/counters.js");
   1551 
   1552   __webpack_require__(/*! ./header-animations */ "./js/header-animations.js");
   1553 
   1554   __webpack_require__(/*! ./footer */ "./js/footer.js");
   1555 
   1556   __webpack_require__(/*! ./gallery */ "./js/gallery.js");
   1557 })(function () {
   1558   window.MaterialisTheme = window.MaterialisTheme || {};
   1559   return window.MaterialisTheme;
   1560 }()); // require('./header-video');
   1561 
   1562 /***/ }),
   1563 
   1564 /***/ "./js/utils.js":
   1565 /*!*********************!*\
   1566   !*** ./js/utils.js ***!
   1567   \*********************/
   1568 /*! exports provided: onDocReady, isVisible */
   1569 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   1570 
   1571 "use strict";
   1572 __webpack_require__.r(__webpack_exports__);
   1573 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onDocReady", function() { return onDocReady; });
   1574 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isVisible", function() { return isVisible; });
   1575 // function onDocReady(callback) {
   1576 //     // in case the document is already rendered
   1577 //     if (document.readyState === 'complete') {
   1578 //         callback(jQuery);
   1579 //     } else {
   1580 //         if (document.addEventListener) {
   1581 //             document.addEventListener('DOMContentLoaded', function () {
   1582 //                 callback(jQuery);
   1583 //             });
   1584 //         } else document.attachEvent('onreadystatechange', function () {
   1585 //             if (document.readyState === 'complete') callback(jQuery);
   1586 //         });
   1587 //     }
   1588 // }
   1589 var onDocReady = jQuery;
   1590 
   1591 var isVisible = function isVisible(element) {
   1592   return jQuery(element).is(':visible');
   1593 };
   1594 
   1595 
   1596 
   1597 /***/ }),
   1598 
   1599 /***/ "./node_modules/@material/animation/index.js":
   1600 /*!***************************************************!*\
   1601   !*** ./node_modules/@material/animation/index.js ***!
   1602   \***************************************************/
   1603 /*! exports provided: transformStyleProperties, getCorrectEventName, getCorrectPropertyName */
   1604 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   1605 
   1606 "use strict";
   1607 __webpack_require__.r(__webpack_exports__);
   1608 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "transformStyleProperties", function() { return transformStyleProperties; });
   1609 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCorrectEventName", function() { return getCorrectEventName; });
   1610 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCorrectPropertyName", function() { return getCorrectPropertyName; });
   1611 /**
   1612  * Copyright 2016 Google Inc. All Rights Reserved.
   1613  *
   1614  * Licensed under the Apache License, Version 2.0 (the "License");
   1615  * you may not use this file except in compliance with the License.
   1616  * You may obtain a copy of the License at
   1617  *
   1618  *      http://www.apache.org/licenses/LICENSE-2.0
   1619  *
   1620  * Unless required by applicable law or agreed to in writing, software
   1621  * distributed under the License is distributed on an "AS IS" BASIS,
   1622  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   1623  * See the License for the specific language governing permissions and
   1624  * limitations under the License.
   1625  */
   1626 
   1627 /**
   1628  * @typedef {{
   1629  *   noPrefix: string,
   1630  *   webkitPrefix: string
   1631  * }}
   1632  */
   1633 var VendorPropertyMapType;
   1634 /** @const {Object<string, !VendorPropertyMapType>} */
   1635 
   1636 var eventTypeMap = {
   1637   'animationstart': {
   1638     noPrefix: 'animationstart',
   1639     webkitPrefix: 'webkitAnimationStart',
   1640     styleProperty: 'animation'
   1641   },
   1642   'animationend': {
   1643     noPrefix: 'animationend',
   1644     webkitPrefix: 'webkitAnimationEnd',
   1645     styleProperty: 'animation'
   1646   },
   1647   'animationiteration': {
   1648     noPrefix: 'animationiteration',
   1649     webkitPrefix: 'webkitAnimationIteration',
   1650     styleProperty: 'animation'
   1651   },
   1652   'transitionend': {
   1653     noPrefix: 'transitionend',
   1654     webkitPrefix: 'webkitTransitionEnd',
   1655     styleProperty: 'transition'
   1656   }
   1657 };
   1658 /** @const {Object<string, !VendorPropertyMapType>} */
   1659 
   1660 var cssPropertyMap = {
   1661   'animation': {
   1662     noPrefix: 'animation',
   1663     webkitPrefix: '-webkit-animation'
   1664   },
   1665   'transform': {
   1666     noPrefix: 'transform',
   1667     webkitPrefix: '-webkit-transform'
   1668   },
   1669   'transition': {
   1670     noPrefix: 'transition',
   1671     webkitPrefix: '-webkit-transition'
   1672   }
   1673 };
   1674 /**
   1675  * @param {!Object} windowObj
   1676  * @return {boolean}
   1677  */
   1678 
   1679 function hasProperShape(windowObj) {
   1680   return windowObj['document'] !== undefined && typeof windowObj['document']['createElement'] === 'function';
   1681 }
   1682 /**
   1683  * @param {string} eventType
   1684  * @return {boolean}
   1685  */
   1686 
   1687 
   1688 function eventFoundInMaps(eventType) {
   1689   return eventType in eventTypeMap || eventType in cssPropertyMap;
   1690 }
   1691 /**
   1692  * @param {string} eventType
   1693  * @param {!Object<string, !VendorPropertyMapType>} map
   1694  * @param {!Element} el
   1695  * @return {string}
   1696  */
   1697 
   1698 
   1699 function getJavaScriptEventName(eventType, map, el) {
   1700   return map[eventType].styleProperty in el.style ? map[eventType].noPrefix : map[eventType].webkitPrefix;
   1701 }
   1702 /**
   1703  * Helper function to determine browser prefix for CSS3 animation events
   1704  * and property names.
   1705  * @param {!Object} windowObj
   1706  * @param {string} eventType
   1707  * @return {string}
   1708  */
   1709 
   1710 
   1711 function getAnimationName(windowObj, eventType) {
   1712   if (!hasProperShape(windowObj) || !eventFoundInMaps(eventType)) {
   1713     return eventType;
   1714   }
   1715 
   1716   var map =
   1717   /** @type {!Object<string, !VendorPropertyMapType>} */
   1718   eventType in eventTypeMap ? eventTypeMap : cssPropertyMap;
   1719   var el = windowObj['document']['createElement']('div');
   1720   var eventName = '';
   1721 
   1722   if (map === eventTypeMap) {
   1723     eventName = getJavaScriptEventName(eventType, map, el);
   1724   } else {
   1725     eventName = map[eventType].noPrefix in el.style ? map[eventType].noPrefix : map[eventType].webkitPrefix;
   1726   }
   1727 
   1728   return eventName;
   1729 } // Public functions to access getAnimationName() for JavaScript events or CSS
   1730 // property names.
   1731 
   1732 
   1733 var transformStyleProperties = ['transform', 'WebkitTransform', 'MozTransform', 'OTransform', 'MSTransform'];
   1734 /**
   1735  * @param {!Object} windowObj
   1736  * @param {string} eventType
   1737  * @return {string}
   1738  */
   1739 
   1740 function getCorrectEventName(windowObj, eventType) {
   1741   return getAnimationName(windowObj, eventType);
   1742 }
   1743 /**
   1744  * @param {!Object} windowObj
   1745  * @param {string} eventType
   1746  * @return {string}
   1747  */
   1748 
   1749 function getCorrectPropertyName(windowObj, eventType) {
   1750   return getAnimationName(windowObj, eventType);
   1751 }
   1752 
   1753 /***/ }),
   1754 
   1755 /***/ "./node_modules/@material/base/component.js":
   1756 /*!**************************************************!*\
   1757   !*** ./node_modules/@material/base/component.js ***!
   1758   \**************************************************/
   1759 /*! exports provided: default */
   1760 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   1761 
   1762 "use strict";
   1763 __webpack_require__.r(__webpack_exports__);
   1764 /* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation */ "./node_modules/@material/base/foundation.js");
   1765 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   1766 
   1767 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); } }
   1768 
   1769 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   1770 
   1771 /**
   1772  * @license
   1773  * Copyright 2016 Google Inc.
   1774  *
   1775  * Licensed under the Apache License, Version 2.0 (the "License");
   1776  * you may not use this file except in compliance with the License.
   1777  * You may obtain a copy of the License at
   1778  *
   1779  *   http://www.apache.org/licenses/LICENSE-2.0
   1780  *
   1781  * Unless required by applicable law or agreed to in writing, software
   1782  * distributed under the License is distributed on an "AS IS" BASIS,
   1783  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   1784  * See the License for the specific language governing permissions and
   1785  * limitations under the License.
   1786  */
   1787 
   1788 /**
   1789  * @template F
   1790  */
   1791 
   1792 var MDCComponent =
   1793 /*#__PURE__*/
   1794 function () {
   1795   _createClass(MDCComponent, null, [{
   1796     key: "attachTo",
   1797 
   1798     /**
   1799      * @param {!Element} root
   1800      * @return {!MDCComponent}
   1801      */
   1802     value: function attachTo(root) {
   1803       // Subclasses which extend MDCBase should provide an attachTo() method that takes a root element and
   1804       // returns an instantiated component with its root set to that element. Also note that in the cases of
   1805       // subclasses, an explicit foundation class will not have to be passed in; it will simply be initialized
   1806       // from getDefaultFoundation().
   1807       return new MDCComponent(root, new _foundation__WEBPACK_IMPORTED_MODULE_0__["default"]());
   1808     }
   1809     /**
   1810      * @param {!Element} root
   1811      * @param {F=} foundation
   1812      * @param {...?} args
   1813      */
   1814 
   1815   }]);
   1816 
   1817   function MDCComponent(root) {
   1818     var foundation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
   1819 
   1820     _classCallCheck(this, MDCComponent);
   1821 
   1822     /** @protected {!Element} */
   1823     this.root_ = root;
   1824 
   1825     for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
   1826       args[_key - 2] = arguments[_key];
   1827     }
   1828 
   1829     this.initialize.apply(this, args); // Note that we initialize foundation here and not within the constructor's default param so that
   1830     // this.root_ is defined and can be used within the foundation class.
   1831 
   1832     /** @protected {!F} */
   1833 
   1834     this.foundation_ = foundation === undefined ? this.getDefaultFoundation() : foundation;
   1835     this.foundation_.init();
   1836     this.initialSyncWithDOM();
   1837   }
   1838 
   1839   _createClass(MDCComponent, [{
   1840     key: "initialize",
   1841     value: function initialize()
   1842     /* ...args */
   1843     {} // Subclasses can override this to do any additional setup work that would be considered part of a
   1844     // "constructor". Essentially, it is a hook into the parent constructor before the foundation is
   1845     // initialized. Any additional arguments besides root and foundation will be passed in here.
   1846 
   1847     /**
   1848      * @return {!F} foundation
   1849      */
   1850 
   1851   }, {
   1852     key: "getDefaultFoundation",
   1853     value: function getDefaultFoundation() {
   1854       // Subclasses must override this method to return a properly configured foundation class for the
   1855       // component.
   1856       throw new Error('Subclasses must override getDefaultFoundation to return a properly configured ' + 'foundation class');
   1857     }
   1858   }, {
   1859     key: "initialSyncWithDOM",
   1860     value: function initialSyncWithDOM() {// Subclasses should override this method if they need to perform work to synchronize with a host DOM
   1861       // object. An example of this would be a form control wrapper that needs to synchronize its internal state
   1862       // to some property or attribute of the host DOM. Please note: this is *not* the place to perform DOM
   1863       // reads/writes that would cause layout / paint, as this is called synchronously from within the constructor.
   1864     }
   1865   }, {
   1866     key: "destroy",
   1867     value: function destroy() {
   1868       // Subclasses may implement this method to release any resources / deregister any listeners they have
   1869       // attached. An example of this might be deregistering a resize event from the window object.
   1870       this.foundation_.destroy();
   1871     }
   1872     /**
   1873      * Wrapper method to add an event listener to the component's root element. This is most useful when
   1874      * listening for custom events.
   1875      * @param {string} evtType
   1876      * @param {!Function} handler
   1877      */
   1878 
   1879   }, {
   1880     key: "listen",
   1881     value: function listen(evtType, handler) {
   1882       this.root_.addEventListener(evtType, handler);
   1883     }
   1884     /**
   1885      * Wrapper method to remove an event listener to the component's root element. This is most useful when
   1886      * unlistening for custom events.
   1887      * @param {string} evtType
   1888      * @param {!Function} handler
   1889      */
   1890 
   1891   }, {
   1892     key: "unlisten",
   1893     value: function unlisten(evtType, handler) {
   1894       this.root_.removeEventListener(evtType, handler);
   1895     }
   1896     /**
   1897      * Fires a cross-browser-compatible custom event from the component root of the given type,
   1898      * with the given data.
   1899      * @param {string} evtType
   1900      * @param {!Object} evtData
   1901      * @param {boolean=} shouldBubble
   1902      */
   1903 
   1904   }, {
   1905     key: "emit",
   1906     value: function emit(evtType, evtData) {
   1907       var shouldBubble = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
   1908       var evt;
   1909 
   1910       if (typeof CustomEvent === 'function') {
   1911         evt = new CustomEvent(evtType, {
   1912           detail: evtData,
   1913           bubbles: shouldBubble
   1914         });
   1915       } else {
   1916         evt = document.createEvent('CustomEvent');
   1917         evt.initCustomEvent(evtType, shouldBubble, false, evtData);
   1918       }
   1919 
   1920       this.root_.dispatchEvent(evt);
   1921     }
   1922   }]);
   1923 
   1924   return MDCComponent;
   1925 }();
   1926 
   1927 /* harmony default export */ __webpack_exports__["default"] = (MDCComponent);
   1928 
   1929 /***/ }),
   1930 
   1931 /***/ "./node_modules/@material/base/foundation.js":
   1932 /*!***************************************************!*\
   1933   !*** ./node_modules/@material/base/foundation.js ***!
   1934   \***************************************************/
   1935 /*! exports provided: default */
   1936 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   1937 
   1938 "use strict";
   1939 __webpack_require__.r(__webpack_exports__);
   1940 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   1941 
   1942 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); } }
   1943 
   1944 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   1945 
   1946 /**
   1947  * @license
   1948  * Copyright 2016 Google Inc.
   1949  *
   1950  * Licensed under the Apache License, Version 2.0 (the "License");
   1951  * you may not use this file except in compliance with the License.
   1952  * You may obtain a copy of the License at
   1953  *
   1954  *   http://www.apache.org/licenses/LICENSE-2.0
   1955  *
   1956  * Unless required by applicable law or agreed to in writing, software
   1957  * distributed under the License is distributed on an "AS IS" BASIS,
   1958  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   1959  * See the License for the specific language governing permissions and
   1960  * limitations under the License.
   1961  */
   1962 
   1963 /**
   1964  * @template A
   1965  */
   1966 var MDCFoundation =
   1967 /*#__PURE__*/
   1968 function () {
   1969   _createClass(MDCFoundation, null, [{
   1970     key: "cssClasses",
   1971 
   1972     /** @return enum{cssClasses} */
   1973     get: function get() {
   1974       // Classes extending MDCFoundation should implement this method to return an object which exports every
   1975       // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'}
   1976       return {};
   1977     }
   1978     /** @return enum{strings} */
   1979 
   1980   }, {
   1981     key: "strings",
   1982     get: function get() {
   1983       // Classes extending MDCFoundation should implement this method to return an object which exports all
   1984       // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'}
   1985       return {};
   1986     }
   1987     /** @return enum{numbers} */
   1988 
   1989   }, {
   1990     key: "numbers",
   1991     get: function get() {
   1992       // Classes extending MDCFoundation should implement this method to return an object which exports all
   1993       // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350}
   1994       return {};
   1995     }
   1996     /** @return {!Object} */
   1997 
   1998   }, {
   1999     key: "defaultAdapter",
   2000     get: function get() {
   2001       // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient
   2002       // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter
   2003       // validation.
   2004       return {};
   2005     }
   2006     /**
   2007      * @param {A=} adapter
   2008      */
   2009 
   2010   }]);
   2011 
   2012   function MDCFoundation() {
   2013     var adapter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
   2014 
   2015     _classCallCheck(this, MDCFoundation);
   2016 
   2017     /** @protected {!A} */
   2018     this.adapter_ = adapter;
   2019   }
   2020 
   2021   _createClass(MDCFoundation, [{
   2022     key: "init",
   2023     value: function init() {// Subclasses should override this method to perform initialization routines (registering events, etc.)
   2024     }
   2025   }, {
   2026     key: "destroy",
   2027     value: function destroy() {// Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)
   2028     }
   2029   }]);
   2030 
   2031   return MDCFoundation;
   2032 }();
   2033 
   2034 /* harmony default export */ __webpack_exports__["default"] = (MDCFoundation);
   2035 
   2036 /***/ }),
   2037 
   2038 /***/ "./node_modules/@material/checkbox/adapter.js":
   2039 /*!****************************************************!*\
   2040   !*** ./node_modules/@material/checkbox/adapter.js ***!
   2041   \****************************************************/
   2042 /*! exports provided: default */
   2043 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   2044 
   2045 "use strict";
   2046 __webpack_require__.r(__webpack_exports__);
   2047 /* harmony import */ var _material_selection_control_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/selection-control/index */ "./node_modules/@material/selection-control/index.js");
   2048 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   2049 
   2050 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); } }
   2051 
   2052 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   2053 
   2054 /**
   2055  * @license
   2056  * Copyright 2016 Google Inc. All Rights Reserved.
   2057  *
   2058  * Licensed under the Apache License, Version 2.0 (the "License");
   2059  * you may not use this file except in compliance with the License.
   2060  * You may obtain a copy of the License at
   2061  *
   2062  *      http://www.apache.org/licenses/LICENSE-2.0
   2063  *
   2064  * Unless required by applicable law or agreed to in writing, software
   2065  * distributed under the License is distributed on an "AS IS" BASIS,
   2066  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   2067  * See the License for the specific language governing permissions and
   2068  * limitations under the License.
   2069  */
   2070 
   2071 /* eslint-disable no-unused-vars */
   2072 
   2073 /* eslint no-unused-vars: [2, {"args": "none"}] */
   2074 
   2075 /**
   2076  * Adapter for MDC Checkbox. Provides an interface for managing
   2077  * - classes
   2078  * - dom
   2079  * - event handlers
   2080  *
   2081  * Additionally, provides type information for the adapter to the Closure
   2082  * compiler.
   2083  *
   2084  * Implement this adapter for your framework of choice to delegate updates to
   2085  * the component in your framework of choice. See architecture documentation
   2086  * for more details.
   2087  * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md
   2088  *
   2089  * @record
   2090  */
   2091 
   2092 var MDCCheckboxAdapter =
   2093 /*#__PURE__*/
   2094 function () {
   2095   function MDCCheckboxAdapter() {
   2096     _classCallCheck(this, MDCCheckboxAdapter);
   2097   }
   2098 
   2099   _createClass(MDCCheckboxAdapter, [{
   2100     key: "addClass",
   2101 
   2102     /** @param {string} className */
   2103     value: function addClass(className) {}
   2104     /** @param {string} className */
   2105 
   2106   }, {
   2107     key: "removeClass",
   2108     value: function removeClass(className) {}
   2109     /**
   2110      * Sets an attribute with a given value on the input element.
   2111      * @param {string} attr
   2112      * @param {string} value
   2113      */
   2114 
   2115   }, {
   2116     key: "setNativeControlAttr",
   2117     value: function setNativeControlAttr(attr, value) {}
   2118     /**
   2119      * Removes an attribute from the input element.
   2120      * @param {string} attr
   2121      */
   2122 
   2123   }, {
   2124     key: "removeNativeControlAttr",
   2125     value: function removeNativeControlAttr(attr) {}
   2126     /** @param {!EventListener} handler */
   2127 
   2128   }, {
   2129     key: "registerAnimationEndHandler",
   2130     value: function registerAnimationEndHandler(handler) {}
   2131     /** @param {!EventListener} handler */
   2132 
   2133   }, {
   2134     key: "deregisterAnimationEndHandler",
   2135     value: function deregisterAnimationEndHandler(handler) {}
   2136     /** @param {!EventListener} handler */
   2137 
   2138   }, {
   2139     key: "registerChangeHandler",
   2140     value: function registerChangeHandler(handler) {}
   2141     /** @param {!EventListener} handler */
   2142 
   2143   }, {
   2144     key: "deregisterChangeHandler",
   2145     value: function deregisterChangeHandler(handler) {}
   2146     /** @return {!MDCSelectionControlState} */
   2147 
   2148   }, {
   2149     key: "getNativeControl",
   2150     value: function getNativeControl() {}
   2151   }, {
   2152     key: "forceLayout",
   2153     value: function forceLayout() {}
   2154     /** @return {boolean} */
   2155 
   2156   }, {
   2157     key: "isAttachedToDOM",
   2158     value: function isAttachedToDOM() {}
   2159   }]);
   2160 
   2161   return MDCCheckboxAdapter;
   2162 }();
   2163 
   2164 /* harmony default export */ __webpack_exports__["default"] = (MDCCheckboxAdapter);
   2165 
   2166 /***/ }),
   2167 
   2168 /***/ "./node_modules/@material/checkbox/constants.js":
   2169 /*!******************************************************!*\
   2170   !*** ./node_modules/@material/checkbox/constants.js ***!
   2171   \******************************************************/
   2172 /*! exports provided: cssClasses, strings, numbers */
   2173 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   2174 
   2175 "use strict";
   2176 __webpack_require__.r(__webpack_exports__);
   2177 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; });
   2178 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return strings; });
   2179 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "numbers", function() { return numbers; });
   2180 /**
   2181  * @license
   2182  * Copyright 2016 Google Inc. All Rights Reserved.
   2183  *
   2184  * Licensed under the Apache License, Version 2.0 (the "License");
   2185  * you may not use this file except in compliance with the License.
   2186  * You may obtain a copy of the License at
   2187  *
   2188  *      http://www.apache.org/licenses/LICENSE-2.0
   2189  *
   2190  * Unless required by applicable law or agreed to in writing, software
   2191  * distributed under the License is distributed on an "AS IS" BASIS,
   2192  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   2193  * See the License for the specific language governing permissions and
   2194  * limitations under the License.
   2195  */
   2196 
   2197 /** @const {string} */
   2198 var ROOT = 'mdc-checkbox';
   2199 /** @enum {string} */
   2200 
   2201 var cssClasses = {
   2202   UPGRADED: 'mdc-checkbox--upgraded',
   2203   CHECKED: 'mdc-checkbox--checked',
   2204   INDETERMINATE: 'mdc-checkbox--indeterminate',
   2205   DISABLED: 'mdc-checkbox--disabled',
   2206   ANIM_UNCHECKED_CHECKED: 'mdc-checkbox--anim-unchecked-checked',
   2207   ANIM_UNCHECKED_INDETERMINATE: 'mdc-checkbox--anim-unchecked-indeterminate',
   2208   ANIM_CHECKED_UNCHECKED: 'mdc-checkbox--anim-checked-unchecked',
   2209   ANIM_CHECKED_INDETERMINATE: 'mdc-checkbox--anim-checked-indeterminate',
   2210   ANIM_INDETERMINATE_CHECKED: 'mdc-checkbox--anim-indeterminate-checked',
   2211   ANIM_INDETERMINATE_UNCHECKED: 'mdc-checkbox--anim-indeterminate-unchecked'
   2212 };
   2213 /** @enum {string} */
   2214 
   2215 var strings = {
   2216   NATIVE_CONTROL_SELECTOR: ".".concat(ROOT, "__native-control"),
   2217   TRANSITION_STATE_INIT: 'init',
   2218   TRANSITION_STATE_CHECKED: 'checked',
   2219   TRANSITION_STATE_UNCHECKED: 'unchecked',
   2220   TRANSITION_STATE_INDETERMINATE: 'indeterminate',
   2221   ARIA_CHECKED_ATTR: 'aria-checked',
   2222   ARIA_CHECKED_INDETERMINATE_VALUE: 'mixed'
   2223 };
   2224 /** @enum {number} */
   2225 
   2226 var numbers = {
   2227   ANIM_END_LATCH_MS: 250
   2228 };
   2229 
   2230 
   2231 /***/ }),
   2232 
   2233 /***/ "./node_modules/@material/checkbox/foundation.js":
   2234 /*!*******************************************************!*\
   2235   !*** ./node_modules/@material/checkbox/foundation.js ***!
   2236   \*******************************************************/
   2237 /*! exports provided: default */
   2238 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   2239 
   2240 "use strict";
   2241 __webpack_require__.r(__webpack_exports__);
   2242 /* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/@material/base/foundation.js");
   2243 /* harmony import */ var _material_selection_control_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/selection-control/index */ "./node_modules/@material/selection-control/index.js");
   2244 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/checkbox/adapter.js");
   2245 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/checkbox/constants.js");
   2246 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   2247 
   2248 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   2249 
   2250 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   2251 
   2252 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   2253 
   2254 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   2255 
   2256 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); } }
   2257 
   2258 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   2259 
   2260 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   2261 
   2262 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   2263 
   2264 /**
   2265  * @license
   2266  * Copyright 2016 Google Inc. All Rights Reserved.
   2267  *
   2268  * Licensed under the Apache License, Version 2.0 (the "License");
   2269  * you may not use this file except in compliance with the License.
   2270  * You may obtain a copy of the License at
   2271  *
   2272  *      http://www.apache.org/licenses/LICENSE-2.0
   2273  *
   2274  * Unless required by applicable law or agreed to in writing, software
   2275  * distributed under the License is distributed on an "AS IS" BASIS,
   2276  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   2277  * See the License for the specific language governing permissions and
   2278  * limitations under the License.
   2279  */
   2280 
   2281 /* eslint-disable no-unused-vars */
   2282 
   2283 
   2284 
   2285 /* eslint-enable no-unused-vars */
   2286 
   2287 
   2288 /** @const {!Array<string>} */
   2289 
   2290 var CB_PROTO_PROPS = ['checked', 'indeterminate'];
   2291 /**
   2292  * @extends {MDCFoundation<!MDCCheckboxAdapter>}
   2293  */
   2294 
   2295 var MDCCheckboxFoundation =
   2296 /*#__PURE__*/
   2297 function (_MDCFoundation) {
   2298   _inherits(MDCCheckboxFoundation, _MDCFoundation);
   2299 
   2300   _createClass(MDCCheckboxFoundation, null, [{
   2301     key: "cssClasses",
   2302 
   2303     /** @return enum {cssClasses} */
   2304     get: function get() {
   2305       return _constants__WEBPACK_IMPORTED_MODULE_3__["cssClasses"];
   2306     }
   2307     /** @return enum {strings} */
   2308 
   2309   }, {
   2310     key: "strings",
   2311     get: function get() {
   2312       return _constants__WEBPACK_IMPORTED_MODULE_3__["strings"];
   2313     }
   2314     /** @return enum {numbers} */
   2315 
   2316   }, {
   2317     key: "numbers",
   2318     get: function get() {
   2319       return _constants__WEBPACK_IMPORTED_MODULE_3__["numbers"];
   2320     }
   2321     /** @return {!MDCCheckboxAdapter} */
   2322 
   2323   }, {
   2324     key: "defaultAdapter",
   2325     get: function get() {
   2326       return (
   2327         /** @type {!MDCCheckboxAdapter} */
   2328         {
   2329           addClass: function addClass()
   2330           /* className: string */
   2331           {},
   2332           removeClass: function removeClass()
   2333           /* className: string */
   2334           {},
   2335           setNativeControlAttr: function setNativeControlAttr()
   2336           /* attr: string, value: string */
   2337           {},
   2338           removeNativeControlAttr: function removeNativeControlAttr()
   2339           /* attr: string */
   2340           {},
   2341           registerAnimationEndHandler: function registerAnimationEndHandler()
   2342           /* handler: EventListener */
   2343           {},
   2344           deregisterAnimationEndHandler: function deregisterAnimationEndHandler()
   2345           /* handler: EventListener */
   2346           {},
   2347           registerChangeHandler: function registerChangeHandler()
   2348           /* handler: EventListener */
   2349           {},
   2350           deregisterChangeHandler: function deregisterChangeHandler()
   2351           /* handler: EventListener */
   2352           {},
   2353           getNativeControl: function getNativeControl()
   2354           /* !MDCSelectionControlState */
   2355           {},
   2356           forceLayout: function forceLayout() {},
   2357           isAttachedToDOM: function isAttachedToDOM()
   2358           /* boolean */
   2359           {}
   2360         }
   2361       );
   2362     }
   2363   }]);
   2364 
   2365   function MDCCheckboxFoundation(adapter) {
   2366     var _this;
   2367 
   2368     _classCallCheck(this, MDCCheckboxFoundation);
   2369 
   2370     _this = _possibleConstructorReturn(this, _getPrototypeOf(MDCCheckboxFoundation).call(this, Object.assign(MDCCheckboxFoundation.defaultAdapter, adapter)));
   2371     /** @private {string} */
   2372 
   2373     _this.currentCheckState_ = _constants__WEBPACK_IMPORTED_MODULE_3__["strings"].TRANSITION_STATE_INIT;
   2374     /** @private {string} */
   2375 
   2376     _this.currentAnimationClass_ = '';
   2377     /** @private {number} */
   2378 
   2379     _this.animEndLatchTimer_ = 0;
   2380 
   2381     _this.animEndHandler_ =
   2382     /** @private {!EventListener} */
   2383     function () {
   2384       return _this.handleAnimationEnd();
   2385     };
   2386 
   2387     _this.changeHandler_ =
   2388     /** @private {!EventListener} */
   2389     function () {
   2390       return _this.handleChange();
   2391     };
   2392 
   2393     return _this;
   2394   }
   2395 
   2396   _createClass(MDCCheckboxFoundation, [{
   2397     key: "init",
   2398     value: function init() {
   2399       this.currentCheckState_ = this.determineCheckState_(this.getNativeControl_());
   2400       this.updateAriaChecked_();
   2401       this.adapter_.addClass(_constants__WEBPACK_IMPORTED_MODULE_3__["cssClasses"].UPGRADED);
   2402       this.adapter_.registerChangeHandler(this.changeHandler_);
   2403       this.installPropertyChangeHooks_();
   2404     }
   2405   }, {
   2406     key: "destroy",
   2407     value: function destroy() {
   2408       this.adapter_.deregisterChangeHandler(this.changeHandler_);
   2409       this.uninstallPropertyChangeHooks_();
   2410     }
   2411     /** @return {boolean} */
   2412 
   2413   }, {
   2414     key: "isChecked",
   2415     value: function isChecked() {
   2416       return this.getNativeControl_().checked;
   2417     }
   2418     /** @param {boolean} checked */
   2419 
   2420   }, {
   2421     key: "setChecked",
   2422     value: function setChecked(checked) {
   2423       this.getNativeControl_().checked = checked;
   2424     }
   2425     /** @return {boolean} */
   2426 
   2427   }, {
   2428     key: "isIndeterminate",
   2429     value: function isIndeterminate() {
   2430       return this.getNativeControl_().indeterminate;
   2431     }
   2432     /** @param {boolean} indeterminate */
   2433 
   2434   }, {
   2435     key: "setIndeterminate",
   2436     value: function setIndeterminate(indeterminate) {
   2437       this.getNativeControl_().indeterminate = indeterminate;
   2438     }
   2439     /** @return {boolean} */
   2440 
   2441   }, {
   2442     key: "isDisabled",
   2443     value: function isDisabled() {
   2444       return this.getNativeControl_().disabled;
   2445     }
   2446     /** @param {boolean} disabled */
   2447 
   2448   }, {
   2449     key: "setDisabled",
   2450     value: function setDisabled(disabled) {
   2451       this.getNativeControl_().disabled = disabled;
   2452 
   2453       if (disabled) {
   2454         this.adapter_.addClass(_constants__WEBPACK_IMPORTED_MODULE_3__["cssClasses"].DISABLED);
   2455       } else {
   2456         this.adapter_.removeClass(_constants__WEBPACK_IMPORTED_MODULE_3__["cssClasses"].DISABLED);
   2457       }
   2458     }
   2459     /** @return {?string} */
   2460 
   2461   }, {
   2462     key: "getValue",
   2463     value: function getValue() {
   2464       return this.getNativeControl_().value;
   2465     }
   2466     /** @param {?string} value */
   2467 
   2468   }, {
   2469     key: "setValue",
   2470     value: function setValue(value) {
   2471       this.getNativeControl_().value = value;
   2472     }
   2473     /**
   2474      * Handles the animationend event for the checkbox
   2475      */
   2476 
   2477   }, {
   2478     key: "handleAnimationEnd",
   2479     value: function handleAnimationEnd() {
   2480       var _this2 = this;
   2481 
   2482       clearTimeout(this.animEndLatchTimer_);
   2483       this.animEndLatchTimer_ = setTimeout(function () {
   2484         _this2.adapter_.removeClass(_this2.currentAnimationClass_);
   2485 
   2486         _this2.adapter_.deregisterAnimationEndHandler(_this2.animEndHandler_);
   2487       }, _constants__WEBPACK_IMPORTED_MODULE_3__["numbers"].ANIM_END_LATCH_MS);
   2488     }
   2489     /**
   2490      * Handles the change event for the checkbox
   2491      */
   2492 
   2493   }, {
   2494     key: "handleChange",
   2495     value: function handleChange() {
   2496       this.transitionCheckState_();
   2497     }
   2498     /** @private */
   2499 
   2500   }, {
   2501     key: "installPropertyChangeHooks_",
   2502     value: function installPropertyChangeHooks_() {
   2503       var _this3 = this;
   2504 
   2505       var nativeCb = this.getNativeControl_();
   2506       var cbProto = Object.getPrototypeOf(nativeCb);
   2507       CB_PROTO_PROPS.forEach(function (controlState) {
   2508         var desc = Object.getOwnPropertyDescriptor(cbProto, controlState); // We have to check for this descriptor, since some browsers (Safari) don't support its return.
   2509         // See: https://bugs.webkit.org/show_bug.cgi?id=49739
   2510 
   2511         if (validDescriptor(desc)) {
   2512           var nativeCbDesc =
   2513           /** @type {!ObjectPropertyDescriptor} */
   2514           {
   2515             get: desc.get,
   2516             set: function set(state) {
   2517               desc.set.call(nativeCb, state);
   2518 
   2519               _this3.transitionCheckState_();
   2520             },
   2521             configurable: desc.configurable,
   2522             enumerable: desc.enumerable
   2523           };
   2524           Object.defineProperty(nativeCb, controlState, nativeCbDesc);
   2525         }
   2526       });
   2527     }
   2528     /** @private */
   2529 
   2530   }, {
   2531     key: "uninstallPropertyChangeHooks_",
   2532     value: function uninstallPropertyChangeHooks_() {
   2533       var nativeCb = this.getNativeControl_();
   2534       var cbProto = Object.getPrototypeOf(nativeCb);
   2535       CB_PROTO_PROPS.forEach(function (controlState) {
   2536         var desc =
   2537         /** @type {!ObjectPropertyDescriptor} */
   2538         Object.getOwnPropertyDescriptor(cbProto, controlState);
   2539 
   2540         if (validDescriptor(desc)) {
   2541           Object.defineProperty(nativeCb, controlState, desc);
   2542         }
   2543       });
   2544     }
   2545     /** @private */
   2546 
   2547   }, {
   2548     key: "transitionCheckState_",
   2549     value: function transitionCheckState_() {
   2550       var nativeCb = this.adapter_.getNativeControl();
   2551 
   2552       if (!nativeCb) {
   2553         return;
   2554       }
   2555 
   2556       var oldState = this.currentCheckState_;
   2557       var newState = this.determineCheckState_(nativeCb);
   2558 
   2559       if (oldState === newState) {
   2560         return;
   2561       }
   2562 
   2563       this.updateAriaChecked_(); // Check to ensure that there isn't a previously existing animation class, in case for example
   2564       // the user interacted with the checkbox before the animation was finished.
   2565 
   2566       if (this.currentAnimationClass_.length > 0) {
   2567         clearTimeout(this.animEndLatchTimer_);
   2568         this.adapter_.forceLayout();
   2569         this.adapter_.removeClass(this.currentAnimationClass_);
   2570       }
   2571 
   2572       this.currentAnimationClass_ = this.getTransitionAnimationClass_(oldState, newState);
   2573       this.currentCheckState_ = newState; // Check for parentNode so that animations are only run when the element is attached
   2574       // to the DOM.
   2575 
   2576       if (this.adapter_.isAttachedToDOM() && this.currentAnimationClass_.length > 0) {
   2577         this.adapter_.addClass(this.currentAnimationClass_);
   2578         this.adapter_.registerAnimationEndHandler(this.animEndHandler_);
   2579       }
   2580     }
   2581     /**
   2582      * @param {!MDCSelectionControlState} nativeCb
   2583      * @return {string}
   2584      * @private
   2585      */
   2586 
   2587   }, {
   2588     key: "determineCheckState_",
   2589     value: function determineCheckState_(nativeCb) {
   2590       var TRANSITION_STATE_INDETERMINATE = _constants__WEBPACK_IMPORTED_MODULE_3__["strings"].TRANSITION_STATE_INDETERMINATE,
   2591           TRANSITION_STATE_CHECKED = _constants__WEBPACK_IMPORTED_MODULE_3__["strings"].TRANSITION_STATE_CHECKED,
   2592           TRANSITION_STATE_UNCHECKED = _constants__WEBPACK_IMPORTED_MODULE_3__["strings"].TRANSITION_STATE_UNCHECKED;
   2593 
   2594       if (nativeCb.indeterminate) {
   2595         return TRANSITION_STATE_INDETERMINATE;
   2596       }
   2597 
   2598       return nativeCb.checked ? TRANSITION_STATE_CHECKED : TRANSITION_STATE_UNCHECKED;
   2599     }
   2600     /**
   2601      * @param {string} oldState
   2602      * @param {string} newState
   2603      * @return {string}
   2604      */
   2605 
   2606   }, {
   2607     key: "getTransitionAnimationClass_",
   2608     value: function getTransitionAnimationClass_(oldState, newState) {
   2609       var TRANSITION_STATE_INIT = _constants__WEBPACK_IMPORTED_MODULE_3__["strings"].TRANSITION_STATE_INIT,
   2610           TRANSITION_STATE_CHECKED = _constants__WEBPACK_IMPORTED_MODULE_3__["strings"].TRANSITION_STATE_CHECKED,
   2611           TRANSITION_STATE_UNCHECKED = _constants__WEBPACK_IMPORTED_MODULE_3__["strings"].TRANSITION_STATE_UNCHECKED;
   2612       var _MDCCheckboxFoundatio = MDCCheckboxFoundation.cssClasses,
   2613           ANIM_UNCHECKED_CHECKED = _MDCCheckboxFoundatio.ANIM_UNCHECKED_CHECKED,
   2614           ANIM_UNCHECKED_INDETERMINATE = _MDCCheckboxFoundatio.ANIM_UNCHECKED_INDETERMINATE,
   2615           ANIM_CHECKED_UNCHECKED = _MDCCheckboxFoundatio.ANIM_CHECKED_UNCHECKED,
   2616           ANIM_CHECKED_INDETERMINATE = _MDCCheckboxFoundatio.ANIM_CHECKED_INDETERMINATE,
   2617           ANIM_INDETERMINATE_CHECKED = _MDCCheckboxFoundatio.ANIM_INDETERMINATE_CHECKED,
   2618           ANIM_INDETERMINATE_UNCHECKED = _MDCCheckboxFoundatio.ANIM_INDETERMINATE_UNCHECKED;
   2619 
   2620       switch (oldState) {
   2621         case TRANSITION_STATE_INIT:
   2622           if (newState === TRANSITION_STATE_UNCHECKED) {
   2623             return '';
   2624           }
   2625 
   2626         // fallthrough
   2627 
   2628         case TRANSITION_STATE_UNCHECKED:
   2629           return newState === TRANSITION_STATE_CHECKED ? ANIM_UNCHECKED_CHECKED : ANIM_UNCHECKED_INDETERMINATE;
   2630 
   2631         case TRANSITION_STATE_CHECKED:
   2632           return newState === TRANSITION_STATE_UNCHECKED ? ANIM_CHECKED_UNCHECKED : ANIM_CHECKED_INDETERMINATE;
   2633         // TRANSITION_STATE_INDETERMINATE
   2634 
   2635         default:
   2636           return newState === TRANSITION_STATE_CHECKED ? ANIM_INDETERMINATE_CHECKED : ANIM_INDETERMINATE_UNCHECKED;
   2637       }
   2638     }
   2639   }, {
   2640     key: "updateAriaChecked_",
   2641     value: function updateAriaChecked_() {
   2642       // Ensure aria-checked is set to mixed if checkbox is in indeterminate state.
   2643       if (this.isIndeterminate()) {
   2644         this.adapter_.setNativeControlAttr(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ARIA_CHECKED_ATTR, _constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ARIA_CHECKED_INDETERMINATE_VALUE);
   2645       } else {
   2646         this.adapter_.removeNativeControlAttr(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ARIA_CHECKED_ATTR);
   2647       }
   2648     }
   2649     /**
   2650      * @return {!MDCSelectionControlState}
   2651      * @private
   2652      */
   2653 
   2654   }, {
   2655     key: "getNativeControl_",
   2656     value: function getNativeControl_() {
   2657       return this.adapter_.getNativeControl() || {
   2658         checked: false,
   2659         indeterminate: false,
   2660         disabled: false,
   2661         value: null
   2662       };
   2663     }
   2664   }]);
   2665 
   2666   return MDCCheckboxFoundation;
   2667 }(_material_base_foundation__WEBPACK_IMPORTED_MODULE_0__["default"]);
   2668 /**
   2669  * @param {ObjectPropertyDescriptor|undefined} inputPropDesc
   2670  * @return {boolean}
   2671  */
   2672 
   2673 
   2674 function validDescriptor(inputPropDesc) {
   2675   return !!inputPropDesc && typeof inputPropDesc.set === 'function';
   2676 }
   2677 
   2678 /* harmony default export */ __webpack_exports__["default"] = (MDCCheckboxFoundation);
   2679 
   2680 /***/ }),
   2681 
   2682 /***/ "./node_modules/@material/checkbox/index.js":
   2683 /*!**************************************************!*\
   2684   !*** ./node_modules/@material/checkbox/index.js ***!
   2685   \**************************************************/
   2686 /*! exports provided: MDCCheckboxFoundation, MDCCheckbox */
   2687 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   2688 
   2689 "use strict";
   2690 __webpack_require__.r(__webpack_exports__);
   2691 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCCheckbox", function() { return MDCCheckbox; });
   2692 /* harmony import */ var _material_animation_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/animation/index */ "./node_modules/@material/checkbox/node_modules/@material/animation/index.js");
   2693 /* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/component */ "./node_modules/@material/base/component.js");
   2694 /* harmony import */ var _material_selection_control_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/selection-control/index */ "./node_modules/@material/selection-control/index.js");
   2695 /* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation */ "./node_modules/@material/checkbox/foundation.js");
   2696 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCCheckboxFoundation", function() { return _foundation__WEBPACK_IMPORTED_MODULE_3__["default"]; });
   2697 
   2698 /* harmony import */ var _material_ripple_index__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material/ripple/index */ "./node_modules/@material/ripple/index.js");
   2699 /* harmony import */ var _material_ripple_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material/ripple/util */ "./node_modules/@material/ripple/util.js");
   2700 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   2701 
   2702 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   2703 
   2704 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   2705 
   2706 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   2707 
   2708 function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
   2709 
   2710 function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
   2711 
   2712 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   2713 
   2714 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); } }
   2715 
   2716 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   2717 
   2718 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   2719 
   2720 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   2721 
   2722 /**
   2723  * @license
   2724  * Copyright 2016 Google Inc. All Rights Reserved.
   2725  *
   2726  * Licensed under the Apache License, Version 2.0 (the "License");
   2727  * you may not use this file except in compliance with the License.
   2728  * You may obtain a copy of the License at
   2729  *
   2730  *      http://www.apache.org/licenses/LICENSE-2.0
   2731  *
   2732  * Unless required by applicable law or agreed to in writing, software
   2733  * distributed under the License is distributed on an "AS IS" BASIS,
   2734  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   2735  * See the License for the specific language governing permissions and
   2736  * limitations under the License.
   2737  */
   2738 
   2739 
   2740 /* eslint-disable no-unused-vars */
   2741 
   2742 
   2743 /* eslint-enable no-unused-vars */
   2744 
   2745 
   2746 
   2747 
   2748 /**
   2749  * @extends MDCComponent<!MDCCheckboxFoundation>
   2750  * @implements {MDCSelectionControl}
   2751  */
   2752 
   2753 var MDCCheckbox =
   2754 /*#__PURE__*/
   2755 function (_MDCComponent) {
   2756   _inherits(MDCCheckbox, _MDCComponent);
   2757 
   2758   _createClass(MDCCheckbox, [{
   2759     key: "nativeCb_",
   2760 
   2761     /**
   2762      * Returns the state of the native control element, or null if the native control element is not present.
   2763      * @return {?MDCSelectionControlState}
   2764      * @private
   2765      */
   2766     get: function get() {
   2767       var NATIVE_CONTROL_SELECTOR = _foundation__WEBPACK_IMPORTED_MODULE_3__["default"].strings.NATIVE_CONTROL_SELECTOR;
   2768       var cbEl =
   2769       /** @type {?MDCSelectionControlState} */
   2770       this.root_.querySelector(NATIVE_CONTROL_SELECTOR);
   2771       return cbEl;
   2772     }
   2773   }], [{
   2774     key: "attachTo",
   2775     value: function attachTo(root) {
   2776       return new MDCCheckbox(root);
   2777     }
   2778   }]);
   2779 
   2780   function MDCCheckbox() {
   2781     var _getPrototypeOf2;
   2782 
   2783     var _this;
   2784 
   2785     _classCallCheck(this, MDCCheckbox);
   2786 
   2787     for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
   2788       args[_key] = arguments[_key];
   2789     }
   2790 
   2791     _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(MDCCheckbox)).call.apply(_getPrototypeOf2, [this].concat(args)));
   2792     /** @private {!MDCRipple} */
   2793 
   2794     _this.ripple_ = _this.initRipple_();
   2795     return _this;
   2796   }
   2797   /**
   2798    * @return {!MDCRipple}
   2799    * @private
   2800    */
   2801 
   2802 
   2803   _createClass(MDCCheckbox, [{
   2804     key: "initRipple_",
   2805     value: function initRipple_() {
   2806       var _this2 = this;
   2807 
   2808       var MATCHES = Object(_material_ripple_util__WEBPACK_IMPORTED_MODULE_5__["getMatchesProperty"])(HTMLElement.prototype);
   2809       var adapter = Object.assign(_material_ripple_index__WEBPACK_IMPORTED_MODULE_4__["MDCRipple"].createAdapter(this), {
   2810         isUnbounded: function isUnbounded() {
   2811           return true;
   2812         },
   2813         isSurfaceActive: function isSurfaceActive() {
   2814           return _this2.nativeCb_[MATCHES](':active');
   2815         },
   2816         registerInteractionHandler: function registerInteractionHandler(type, handler) {
   2817           return _this2.nativeCb_.addEventListener(type, handler);
   2818         },
   2819         deregisterInteractionHandler: function deregisterInteractionHandler(type, handler) {
   2820           return _this2.nativeCb_.removeEventListener(type, handler);
   2821         }
   2822       });
   2823       var foundation = new _material_ripple_index__WEBPACK_IMPORTED_MODULE_4__["MDCRippleFoundation"](adapter);
   2824       return new _material_ripple_index__WEBPACK_IMPORTED_MODULE_4__["MDCRipple"](this.root_, foundation);
   2825     }
   2826     /** @return {!MDCCheckboxFoundation} */
   2827 
   2828   }, {
   2829     key: "getDefaultFoundation",
   2830     value: function getDefaultFoundation() {
   2831       var _this3 = this;
   2832 
   2833       return new _foundation__WEBPACK_IMPORTED_MODULE_3__["default"]({
   2834         addClass: function addClass(className) {
   2835           return _this3.root_.classList.add(className);
   2836         },
   2837         removeClass: function removeClass(className) {
   2838           return _this3.root_.classList.remove(className);
   2839         },
   2840         setNativeControlAttr: function setNativeControlAttr(attr, value) {
   2841           return _this3.nativeCb_.setAttribute(attr, value);
   2842         },
   2843         removeNativeControlAttr: function removeNativeControlAttr(attr) {
   2844           return _this3.nativeCb_.removeAttribute(attr);
   2845         },
   2846         registerAnimationEndHandler: function registerAnimationEndHandler(handler) {
   2847           return _this3.root_.addEventListener(Object(_material_animation_index__WEBPACK_IMPORTED_MODULE_0__["getCorrectEventName"])(window, 'animationend'), handler);
   2848         },
   2849         deregisterAnimationEndHandler: function deregisterAnimationEndHandler(handler) {
   2850           return _this3.root_.removeEventListener(Object(_material_animation_index__WEBPACK_IMPORTED_MODULE_0__["getCorrectEventName"])(window, 'animationend'), handler);
   2851         },
   2852         registerChangeHandler: function registerChangeHandler(handler) {
   2853           return _this3.nativeCb_.addEventListener('change', handler);
   2854         },
   2855         deregisterChangeHandler: function deregisterChangeHandler(handler) {
   2856           return _this3.nativeCb_.removeEventListener('change', handler);
   2857         },
   2858         getNativeControl: function getNativeControl() {
   2859           return _this3.nativeCb_;
   2860         },
   2861         forceLayout: function forceLayout() {
   2862           return _this3.root_.offsetWidth;
   2863         },
   2864         isAttachedToDOM: function isAttachedToDOM() {
   2865           return Boolean(_this3.root_.parentNode);
   2866         }
   2867       });
   2868     }
   2869     /** @return {!MDCRipple} */
   2870 
   2871   }, {
   2872     key: "destroy",
   2873     value: function destroy() {
   2874       this.ripple_.destroy();
   2875 
   2876       _get(_getPrototypeOf(MDCCheckbox.prototype), "destroy", this).call(this);
   2877     }
   2878   }, {
   2879     key: "ripple",
   2880     get: function get() {
   2881       return this.ripple_;
   2882     }
   2883     /** @return {boolean} */
   2884 
   2885   }, {
   2886     key: "checked",
   2887     get: function get() {
   2888       return this.foundation_.isChecked();
   2889     }
   2890     /** @param {boolean} checked */
   2891     ,
   2892     set: function set(checked) {
   2893       this.foundation_.setChecked(checked);
   2894     }
   2895     /** @return {boolean} */
   2896 
   2897   }, {
   2898     key: "indeterminate",
   2899     get: function get() {
   2900       return this.foundation_.isIndeterminate();
   2901     }
   2902     /** @param {boolean} indeterminate */
   2903     ,
   2904     set: function set(indeterminate) {
   2905       this.foundation_.setIndeterminate(indeterminate);
   2906     }
   2907     /** @return {boolean} */
   2908 
   2909   }, {
   2910     key: "disabled",
   2911     get: function get() {
   2912       return this.foundation_.isDisabled();
   2913     }
   2914     /** @param {boolean} disabled */
   2915     ,
   2916     set: function set(disabled) {
   2917       this.foundation_.setDisabled(disabled);
   2918     }
   2919     /** @return {?string} */
   2920 
   2921   }, {
   2922     key: "value",
   2923     get: function get() {
   2924       return this.foundation_.getValue();
   2925     }
   2926     /** @param {?string} value */
   2927     ,
   2928     set: function set(value) {
   2929       this.foundation_.setValue(value);
   2930     }
   2931   }]);
   2932 
   2933   return MDCCheckbox;
   2934 }(_material_base_component__WEBPACK_IMPORTED_MODULE_1__["default"]);
   2935 
   2936 
   2937 
   2938 /***/ }),
   2939 
   2940 /***/ "./node_modules/@material/checkbox/node_modules/@material/animation/index.js":
   2941 /*!***********************************************************************************!*\
   2942   !*** ./node_modules/@material/checkbox/node_modules/@material/animation/index.js ***!
   2943   \***********************************************************************************/
   2944 /*! exports provided: transformStyleProperties, getCorrectEventName, getCorrectPropertyName */
   2945 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   2946 
   2947 "use strict";
   2948 __webpack_require__.r(__webpack_exports__);
   2949 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "transformStyleProperties", function() { return transformStyleProperties; });
   2950 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCorrectEventName", function() { return getCorrectEventName; });
   2951 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCorrectPropertyName", function() { return getCorrectPropertyName; });
   2952 /**
   2953  * @license
   2954  * Copyright 2016 Google Inc. All Rights Reserved.
   2955  *
   2956  * Licensed under the Apache License, Version 2.0 (the "License");
   2957  * you may not use this file except in compliance with the License.
   2958  * You may obtain a copy of the License at
   2959  *
   2960  *      http://www.apache.org/licenses/LICENSE-2.0
   2961  *
   2962  * Unless required by applicable law or agreed to in writing, software
   2963  * distributed under the License is distributed on an "AS IS" BASIS,
   2964  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   2965  * See the License for the specific language governing permissions and
   2966  * limitations under the License.
   2967  */
   2968 
   2969 /**
   2970  * @typedef {{
   2971  *   noPrefix: string,
   2972  *   webkitPrefix: string,
   2973  *   styleProperty: string
   2974  * }}
   2975  */
   2976 var VendorPropertyMapType;
   2977 /** @const {Object<string, !VendorPropertyMapType>} */
   2978 
   2979 var eventTypeMap = {
   2980   'animationstart': {
   2981     noPrefix: 'animationstart',
   2982     webkitPrefix: 'webkitAnimationStart',
   2983     styleProperty: 'animation'
   2984   },
   2985   'animationend': {
   2986     noPrefix: 'animationend',
   2987     webkitPrefix: 'webkitAnimationEnd',
   2988     styleProperty: 'animation'
   2989   },
   2990   'animationiteration': {
   2991     noPrefix: 'animationiteration',
   2992     webkitPrefix: 'webkitAnimationIteration',
   2993     styleProperty: 'animation'
   2994   },
   2995   'transitionend': {
   2996     noPrefix: 'transitionend',
   2997     webkitPrefix: 'webkitTransitionEnd',
   2998     styleProperty: 'transition'
   2999   }
   3000 };
   3001 /** @const {Object<string, !VendorPropertyMapType>} */
   3002 
   3003 var cssPropertyMap = {
   3004   'animation': {
   3005     noPrefix: 'animation',
   3006     webkitPrefix: '-webkit-animation'
   3007   },
   3008   'transform': {
   3009     noPrefix: 'transform',
   3010     webkitPrefix: '-webkit-transform'
   3011   },
   3012   'transition': {
   3013     noPrefix: 'transition',
   3014     webkitPrefix: '-webkit-transition'
   3015   }
   3016 };
   3017 /**
   3018  * @param {!Object} windowObj
   3019  * @return {boolean}
   3020  */
   3021 
   3022 function hasProperShape(windowObj) {
   3023   return windowObj['document'] !== undefined && typeof windowObj['document']['createElement'] === 'function';
   3024 }
   3025 /**
   3026  * @param {string} eventType
   3027  * @return {boolean}
   3028  */
   3029 
   3030 
   3031 function eventFoundInMaps(eventType) {
   3032   return eventType in eventTypeMap || eventType in cssPropertyMap;
   3033 }
   3034 /**
   3035  * @param {string} eventType
   3036  * @param {!Object<string, !VendorPropertyMapType>} map
   3037  * @param {!Element} el
   3038  * @return {string}
   3039  */
   3040 
   3041 
   3042 function getJavaScriptEventName(eventType, map, el) {
   3043   return map[eventType].styleProperty in el.style ? map[eventType].noPrefix : map[eventType].webkitPrefix;
   3044 }
   3045 /**
   3046  * Helper function to determine browser prefix for CSS3 animation events
   3047  * and property names.
   3048  * @param {!Object} windowObj
   3049  * @param {string} eventType
   3050  * @return {string}
   3051  */
   3052 
   3053 
   3054 function getAnimationName(windowObj, eventType) {
   3055   if (!hasProperShape(windowObj) || !eventFoundInMaps(eventType)) {
   3056     return eventType;
   3057   }
   3058 
   3059   var map =
   3060   /** @type {!Object<string, !VendorPropertyMapType>} */
   3061   eventType in eventTypeMap ? eventTypeMap : cssPropertyMap;
   3062   var el = windowObj['document']['createElement']('div');
   3063   var eventName = '';
   3064 
   3065   if (map === eventTypeMap) {
   3066     eventName = getJavaScriptEventName(eventType, map, el);
   3067   } else {
   3068     eventName = map[eventType].noPrefix in el.style ? map[eventType].noPrefix : map[eventType].webkitPrefix;
   3069   }
   3070 
   3071   return eventName;
   3072 } // Public functions to access getAnimationName() for JavaScript events or CSS
   3073 // property names.
   3074 
   3075 
   3076 var transformStyleProperties = ['transform', 'WebkitTransform', 'MozTransform', 'OTransform', 'MSTransform'];
   3077 /**
   3078  * @param {!Object} windowObj
   3079  * @param {string} eventType
   3080  * @return {string}
   3081  */
   3082 
   3083 function getCorrectEventName(windowObj, eventType) {
   3084   return getAnimationName(windowObj, eventType);
   3085 }
   3086 /**
   3087  * @param {!Object} windowObj
   3088  * @param {string} eventType
   3089  * @return {string}
   3090  */
   3091 
   3092 
   3093 function getCorrectPropertyName(windowObj, eventType) {
   3094   return getAnimationName(windowObj, eventType);
   3095 }
   3096 
   3097 
   3098 
   3099 /***/ }),
   3100 
   3101 /***/ "./node_modules/@material/floating-label/adapter.js":
   3102 /*!**********************************************************!*\
   3103   !*** ./node_modules/@material/floating-label/adapter.js ***!
   3104   \**********************************************************/
   3105 /*! exports provided: default */
   3106 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   3107 
   3108 "use strict";
   3109 __webpack_require__.r(__webpack_exports__);
   3110 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   3111 
   3112 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); } }
   3113 
   3114 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   3115 
   3116 /**
   3117  * @license
   3118  * Copyright 2017 Google Inc. All Rights Reserved.
   3119  *
   3120  * Licensed under the Apache License, Version 2.0 (the "License");
   3121  * you may not use this file except in compliance with the License.
   3122  * You may obtain a copy of the License at
   3123  *
   3124  *      http://www.apache.org/licenses/LICENSE-2.0
   3125  *
   3126  * Unless required by applicable law or agreed to in writing, software
   3127  * distributed under the License is distributed on an "AS IS" BASIS,
   3128  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   3129  * See the License for the specific language governing permissions and
   3130  * limitations under the License.
   3131  */
   3132 
   3133 /* eslint no-unused-vars: [2, {"args": "none"}] */
   3134 
   3135 /**
   3136  * Adapter for MDC Floating Label.
   3137  *
   3138  * Defines the shape of the adapter expected by the foundation. Implement this
   3139  * adapter to integrate the floating label into your framework. See
   3140  * https://github.com/material-components/material-components-web/blob/master/docs/authoring-components.md
   3141  * for more information.
   3142  *
   3143  * @record
   3144  */
   3145 var MDCFloatingLabelAdapter =
   3146 /*#__PURE__*/
   3147 function () {
   3148   function MDCFloatingLabelAdapter() {
   3149     _classCallCheck(this, MDCFloatingLabelAdapter);
   3150   }
   3151 
   3152   _createClass(MDCFloatingLabelAdapter, [{
   3153     key: "addClass",
   3154 
   3155     /**
   3156      * Adds a class to the label element.
   3157      * @param {string} className
   3158      */
   3159     value: function addClass(className) {}
   3160     /**
   3161      * Removes a class from the label element.
   3162      * @param {string} className
   3163      */
   3164 
   3165   }, {
   3166     key: "removeClass",
   3167     value: function removeClass(className) {}
   3168     /**
   3169      * Returns the width of the label element.
   3170      * @return {number}
   3171      */
   3172 
   3173   }, {
   3174     key: "getWidth",
   3175     value: function getWidth() {}
   3176     /**
   3177      * Registers an event listener on the root element for a given event.
   3178      * @param {string} evtType
   3179      * @param {function(!Event): undefined} handler
   3180      */
   3181 
   3182   }, {
   3183     key: "registerInteractionHandler",
   3184     value: function registerInteractionHandler(evtType, handler) {}
   3185     /**
   3186      * Deregisters an event listener on the root element for a given event.
   3187      * @param {string} evtType
   3188      * @param {function(!Event): undefined} handler
   3189      */
   3190 
   3191   }, {
   3192     key: "deregisterInteractionHandler",
   3193     value: function deregisterInteractionHandler(evtType, handler) {}
   3194   }]);
   3195 
   3196   return MDCFloatingLabelAdapter;
   3197 }();
   3198 
   3199 /* harmony default export */ __webpack_exports__["default"] = (MDCFloatingLabelAdapter);
   3200 
   3201 /***/ }),
   3202 
   3203 /***/ "./node_modules/@material/floating-label/constants.js":
   3204 /*!************************************************************!*\
   3205   !*** ./node_modules/@material/floating-label/constants.js ***!
   3206   \************************************************************/
   3207 /*! exports provided: cssClasses */
   3208 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   3209 
   3210 "use strict";
   3211 __webpack_require__.r(__webpack_exports__);
   3212 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; });
   3213 /**
   3214  * @license
   3215  * Copyright 2016 Google Inc. All Rights Reserved.
   3216  *
   3217  * Licensed under the Apache License, Version 2.0 (the "License");
   3218  * you may not use this file except in compliance with the License.
   3219  * You may obtain a copy of the License at
   3220  *
   3221  *      http://www.apache.org/licenses/LICENSE-2.0
   3222  *
   3223  * Unless required by applicable law or agreed to in writing, software
   3224  * distributed under the License is distributed on an "AS IS" BASIS,
   3225  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   3226  * See the License for the specific language governing permissions and
   3227  * limitations under the License.
   3228  */
   3229 
   3230 /** @enum {string} */
   3231 var cssClasses = {
   3232   LABEL_FLOAT_ABOVE: 'mdc-floating-label--float-above',
   3233   LABEL_SHAKE: 'mdc-floating-label--shake'
   3234 };
   3235 
   3236 
   3237 /***/ }),
   3238 
   3239 /***/ "./node_modules/@material/floating-label/foundation.js":
   3240 /*!*************************************************************!*\
   3241   !*** ./node_modules/@material/floating-label/foundation.js ***!
   3242   \*************************************************************/
   3243 /*! exports provided: default */
   3244 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   3245 
   3246 "use strict";
   3247 __webpack_require__.r(__webpack_exports__);
   3248 /* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/@material/base/foundation.js");
   3249 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/floating-label/adapter.js");
   3250 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/floating-label/constants.js");
   3251 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   3252 
   3253 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   3254 
   3255 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   3256 
   3257 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   3258 
   3259 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   3260 
   3261 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); } }
   3262 
   3263 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   3264 
   3265 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   3266 
   3267 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   3268 
   3269 /**
   3270  * @license
   3271  * Copyright 2016 Google Inc. All Rights Reserved.
   3272  *
   3273  * Licensed under the Apache License, Version 2.0 (the "License");
   3274  * you may not use this file except in compliance with the License.
   3275  * You may obtain a copy of the License at
   3276  *
   3277  *      http://www.apache.org/licenses/LICENSE-2.0
   3278  *
   3279  * Unless required by applicable law or agreed to in writing, software
   3280  * distributed under the License is distributed on an "AS IS" BASIS,
   3281  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   3282  * See the License for the specific language governing permissions and
   3283  * limitations under the License.
   3284  */
   3285 
   3286 
   3287 
   3288 /**
   3289  * @extends {MDCFoundation<!MDCFloatingLabelAdapter>}
   3290  * @final
   3291  */
   3292 
   3293 var MDCFloatingLabelFoundation =
   3294 /*#__PURE__*/
   3295 function (_MDCFoundation) {
   3296   _inherits(MDCFloatingLabelFoundation, _MDCFoundation);
   3297 
   3298   _createClass(MDCFloatingLabelFoundation, null, [{
   3299     key: "cssClasses",
   3300 
   3301     /** @return enum {string} */
   3302     get: function get() {
   3303       return _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"];
   3304     }
   3305     /**
   3306      * {@see MDCFloatingLabelAdapter} for typing information on parameters and return
   3307      * types.
   3308      * @return {!MDCFloatingLabelAdapter}
   3309      */
   3310 
   3311   }, {
   3312     key: "defaultAdapter",
   3313     get: function get() {
   3314       return (
   3315         /** @type {!MDCFloatingLabelAdapter} */
   3316         {
   3317           addClass: function addClass() {},
   3318           removeClass: function removeClass() {},
   3319           getWidth: function getWidth() {},
   3320           registerInteractionHandler: function registerInteractionHandler() {},
   3321           deregisterInteractionHandler: function deregisterInteractionHandler() {}
   3322         }
   3323       );
   3324     }
   3325     /**
   3326      * @param {!MDCFloatingLabelAdapter} adapter
   3327      */
   3328 
   3329   }]);
   3330 
   3331   function MDCFloatingLabelFoundation(adapter) {
   3332     var _this;
   3333 
   3334     _classCallCheck(this, MDCFloatingLabelFoundation);
   3335 
   3336     _this = _possibleConstructorReturn(this, _getPrototypeOf(MDCFloatingLabelFoundation).call(this, Object.assign(MDCFloatingLabelFoundation.defaultAdapter, adapter)));
   3337     /** @private {function(!Event): undefined} */
   3338 
   3339     _this.shakeAnimationEndHandler_ = function () {
   3340       return _this.handleShakeAnimationEnd_();
   3341     };
   3342 
   3343     return _this;
   3344   }
   3345 
   3346   _createClass(MDCFloatingLabelFoundation, [{
   3347     key: "init",
   3348     value: function init() {
   3349       this.adapter_.registerInteractionHandler('animationend', this.shakeAnimationEndHandler_);
   3350     }
   3351   }, {
   3352     key: "destroy",
   3353     value: function destroy() {
   3354       this.adapter_.deregisterInteractionHandler('animationend', this.shakeAnimationEndHandler_);
   3355     }
   3356     /**
   3357      * Returns the width of the label element.
   3358      * @return {number}
   3359      */
   3360 
   3361   }, {
   3362     key: "getWidth",
   3363     value: function getWidth() {
   3364       return this.adapter_.getWidth();
   3365     }
   3366     /**
   3367      * Styles the label to produce the label shake for errors.
   3368      * @param {boolean} shouldShake adds shake class if true,
   3369      * otherwise removes shake class.
   3370      */
   3371 
   3372   }, {
   3373     key: "shake",
   3374     value: function shake(shouldShake) {
   3375       var LABEL_SHAKE = MDCFloatingLabelFoundation.cssClasses.LABEL_SHAKE;
   3376 
   3377       if (shouldShake) {
   3378         this.adapter_.addClass(LABEL_SHAKE);
   3379       } else {
   3380         this.adapter_.removeClass(LABEL_SHAKE);
   3381       }
   3382     }
   3383     /**
   3384      * Styles the label to float or dock.
   3385      * @param {boolean} shouldFloat adds float class if true, otherwise remove
   3386      * float and shake class to dock label.
   3387      */
   3388 
   3389   }, {
   3390     key: "float",
   3391     value: function float(shouldFloat) {
   3392       var _MDCFloatingLabelFoun = MDCFloatingLabelFoundation.cssClasses,
   3393           LABEL_FLOAT_ABOVE = _MDCFloatingLabelFoun.LABEL_FLOAT_ABOVE,
   3394           LABEL_SHAKE = _MDCFloatingLabelFoun.LABEL_SHAKE;
   3395 
   3396       if (shouldFloat) {
   3397         this.adapter_.addClass(LABEL_FLOAT_ABOVE);
   3398       } else {
   3399         this.adapter_.removeClass(LABEL_FLOAT_ABOVE);
   3400         this.adapter_.removeClass(LABEL_SHAKE);
   3401       }
   3402     }
   3403     /**
   3404      * Handles an interaction event on the root element.
   3405      */
   3406 
   3407   }, {
   3408     key: "handleShakeAnimationEnd_",
   3409     value: function handleShakeAnimationEnd_() {
   3410       var LABEL_SHAKE = MDCFloatingLabelFoundation.cssClasses.LABEL_SHAKE;
   3411       this.adapter_.removeClass(LABEL_SHAKE);
   3412     }
   3413   }]);
   3414 
   3415   return MDCFloatingLabelFoundation;
   3416 }(_material_base_foundation__WEBPACK_IMPORTED_MODULE_0__["default"]);
   3417 
   3418 /* harmony default export */ __webpack_exports__["default"] = (MDCFloatingLabelFoundation);
   3419 
   3420 /***/ }),
   3421 
   3422 /***/ "./node_modules/@material/floating-label/index.js":
   3423 /*!********************************************************!*\
   3424   !*** ./node_modules/@material/floating-label/index.js ***!
   3425   \********************************************************/
   3426 /*! exports provided: MDCFloatingLabel, MDCFloatingLabelFoundation */
   3427 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   3428 
   3429 "use strict";
   3430 __webpack_require__.r(__webpack_exports__);
   3431 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFloatingLabel", function() { return MDCFloatingLabel; });
   3432 /* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/component */ "./node_modules/@material/base/component.js");
   3433 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/floating-label/adapter.js");
   3434 /* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation */ "./node_modules/@material/floating-label/foundation.js");
   3435 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCFloatingLabelFoundation", function() { return _foundation__WEBPACK_IMPORTED_MODULE_2__["default"]; });
   3436 
   3437 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   3438 
   3439 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   3440 
   3441 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); } }
   3442 
   3443 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   3444 
   3445 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   3446 
   3447 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   3448 
   3449 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   3450 
   3451 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   3452 
   3453 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   3454 
   3455 /**
   3456  * @license
   3457  * Copyright 2016 Google Inc. All Rights Reserved.
   3458  *
   3459  * Licensed under the Apache License, Version 2.0 (the "License");
   3460  * you may not use this file except in compliance with the License.
   3461  * You may obtain a copy of the License at
   3462  *
   3463  *      http://www.apache.org/licenses/LICENSE-2.0
   3464  *
   3465  * Unless required by applicable law or agreed to in writing, software
   3466  * distributed under the License is distributed on an "AS IS" BASIS,
   3467  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   3468  * See the License for the specific language governing permissions and
   3469  * limitations under the License.
   3470  */
   3471 
   3472 
   3473 
   3474 /**
   3475  * @extends {MDCComponent<!MDCFloatingLabelFoundation>}
   3476  * @final
   3477  */
   3478 
   3479 var MDCFloatingLabel =
   3480 /*#__PURE__*/
   3481 function (_MDCComponent) {
   3482   _inherits(MDCFloatingLabel, _MDCComponent);
   3483 
   3484   function MDCFloatingLabel() {
   3485     _classCallCheck(this, MDCFloatingLabel);
   3486 
   3487     return _possibleConstructorReturn(this, _getPrototypeOf(MDCFloatingLabel).apply(this, arguments));
   3488   }
   3489 
   3490   _createClass(MDCFloatingLabel, [{
   3491     key: "shake",
   3492 
   3493     /**
   3494      * Styles the label to produce the label shake for errors.
   3495      * @param {boolean} shouldShake styles the label to shake by adding shake class
   3496      * if true, otherwise will stop shaking by removing shake class.
   3497      */
   3498     value: function shake(shouldShake) {
   3499       this.foundation_.shake(shouldShake);
   3500     }
   3501     /**
   3502      * Styles label to float/dock.
   3503      * @param {boolean} shouldFloat styles the label to float by adding float class
   3504      * if true, otherwise docks the label by removing the float class.
   3505      */
   3506 
   3507   }, {
   3508     key: "float",
   3509     value: function float(shouldFloat) {
   3510       this.foundation_.float(shouldFloat);
   3511     }
   3512     /**
   3513      * @return {number}
   3514      */
   3515 
   3516   }, {
   3517     key: "getWidth",
   3518     value: function getWidth() {
   3519       return this.foundation_.getWidth();
   3520     }
   3521     /**
   3522      * @return {!MDCFloatingLabelFoundation}
   3523      */
   3524 
   3525   }, {
   3526     key: "getDefaultFoundation",
   3527     value: function getDefaultFoundation() {
   3528       var _this = this;
   3529 
   3530       return new _foundation__WEBPACK_IMPORTED_MODULE_2__["default"]({
   3531         addClass: function addClass(className) {
   3532           return _this.root_.classList.add(className);
   3533         },
   3534         removeClass: function removeClass(className) {
   3535           return _this.root_.classList.remove(className);
   3536         },
   3537         getWidth: function getWidth() {
   3538           return _this.root_.offsetWidth;
   3539         },
   3540         registerInteractionHandler: function registerInteractionHandler(evtType, handler) {
   3541           return _this.root_.addEventListener(evtType, handler);
   3542         },
   3543         deregisterInteractionHandler: function deregisterInteractionHandler(evtType, handler) {
   3544           return _this.root_.removeEventListener(evtType, handler);
   3545         }
   3546       });
   3547     }
   3548   }], [{
   3549     key: "attachTo",
   3550 
   3551     /**
   3552      * @param {!Element} root
   3553      * @return {!MDCFloatingLabel}
   3554      */
   3555     value: function attachTo(root) {
   3556       return new MDCFloatingLabel(root);
   3557     }
   3558   }]);
   3559 
   3560   return MDCFloatingLabel;
   3561 }(_material_base_component__WEBPACK_IMPORTED_MODULE_0__["default"]);
   3562 
   3563 
   3564 
   3565 /***/ }),
   3566 
   3567 /***/ "./node_modules/@material/form-field/adapter.js":
   3568 /*!******************************************************!*\
   3569   !*** ./node_modules/@material/form-field/adapter.js ***!
   3570   \******************************************************/
   3571 /*! exports provided: default */
   3572 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   3573 
   3574 "use strict";
   3575 __webpack_require__.r(__webpack_exports__);
   3576 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   3577 
   3578 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); } }
   3579 
   3580 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   3581 
   3582 /**
   3583  * @license
   3584  * Copyright 2016 Google Inc. All Rights Reserved.
   3585  *
   3586  * Licensed under the Apache License, Version 2.0 (the "License");
   3587  * you may not use this file except in compliance with the License.
   3588  * You may obtain a copy of the License at
   3589  *
   3590  *      http://www.apache.org/licenses/LICENSE-2.0
   3591  *
   3592  * Unless required by applicable law or agreed to in writing, software
   3593  * distributed under the License is distributed on an "AS IS" BASIS,
   3594  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   3595  * See the License for the specific language governing permissions and
   3596  * limitations under the License.
   3597  */
   3598 
   3599 /* eslint no-unused-vars: [2, {"args": "none"}] */
   3600 
   3601 /**
   3602  * Adapter for MDC Form Field. Provides an interface for managing
   3603  * - event handlers
   3604  * - ripple activation
   3605  *
   3606  * Additionally, provides type information for the adapter to the Closure
   3607  * compiler.
   3608  *
   3609  * Implement this adapter for your framework of choice to delegate updates to
   3610  * the component in your framework of choice. See architecture documentation
   3611  * for more details.
   3612  * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md
   3613  *
   3614  * @record
   3615  */
   3616 var MDCFormFieldAdapter =
   3617 /*#__PURE__*/
   3618 function () {
   3619   function MDCFormFieldAdapter() {
   3620     _classCallCheck(this, MDCFormFieldAdapter);
   3621   }
   3622 
   3623   _createClass(MDCFormFieldAdapter, [{
   3624     key: "registerInteractionHandler",
   3625 
   3626     /**
   3627      * @param {string} type
   3628      * @param {!EventListener} handler
   3629      */
   3630     value: function registerInteractionHandler(type, handler) {}
   3631     /**
   3632      * @param {string} type
   3633      * @param {!EventListener} handler
   3634      */
   3635 
   3636   }, {
   3637     key: "deregisterInteractionHandler",
   3638     value: function deregisterInteractionHandler(type, handler) {}
   3639   }, {
   3640     key: "activateInputRipple",
   3641     value: function activateInputRipple() {}
   3642   }, {
   3643     key: "deactivateInputRipple",
   3644     value: function deactivateInputRipple() {}
   3645   }]);
   3646 
   3647   return MDCFormFieldAdapter;
   3648 }();
   3649 
   3650 /* harmony default export */ __webpack_exports__["default"] = (MDCFormFieldAdapter);
   3651 
   3652 /***/ }),
   3653 
   3654 /***/ "./node_modules/@material/form-field/constants.js":
   3655 /*!********************************************************!*\
   3656   !*** ./node_modules/@material/form-field/constants.js ***!
   3657   \********************************************************/
   3658 /*! exports provided: cssClasses, strings */
   3659 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   3660 
   3661 "use strict";
   3662 __webpack_require__.r(__webpack_exports__);
   3663 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; });
   3664 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return strings; });
   3665 /**
   3666  * @license
   3667  * Copyright 2017 Google Inc. All Rights Reserved.
   3668  *
   3669  * Licensed under the Apache License, Version 2.0 (the "License");
   3670  * you may not use this file except in compliance with the License.
   3671  * You may obtain a copy of the License at
   3672  *
   3673  *      http://www.apache.org/licenses/LICENSE-2.0
   3674  *
   3675  * Unless required by applicable law or agreed to in writing, software
   3676  * distributed under the License is distributed on an "AS IS" BASIS,
   3677  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   3678  * See the License for the specific language governing permissions and
   3679  * limitations under the License.
   3680  */
   3681 
   3682 /** @enum {string} */
   3683 var cssClasses = {
   3684   ROOT: 'mdc-form-field'
   3685 };
   3686 /** @enum {string} */
   3687 
   3688 var strings = {
   3689   LABEL_SELECTOR: '.mdc-form-field > label'
   3690 };
   3691 
   3692 
   3693 /***/ }),
   3694 
   3695 /***/ "./node_modules/@material/form-field/foundation.js":
   3696 /*!*********************************************************!*\
   3697   !*** ./node_modules/@material/form-field/foundation.js ***!
   3698   \*********************************************************/
   3699 /*! exports provided: default */
   3700 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   3701 
   3702 "use strict";
   3703 __webpack_require__.r(__webpack_exports__);
   3704 /* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/@material/base/foundation.js");
   3705 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/form-field/adapter.js");
   3706 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/form-field/constants.js");
   3707 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   3708 
   3709 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   3710 
   3711 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   3712 
   3713 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   3714 
   3715 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   3716 
   3717 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); } }
   3718 
   3719 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   3720 
   3721 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   3722 
   3723 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   3724 
   3725 /**
   3726  * @license
   3727  * Copyright 2017 Google Inc. All Rights Reserved.
   3728  *
   3729  * Licensed under the Apache License, Version 2.0 (the "License");
   3730  * you may not use this file except in compliance with the License.
   3731  * You may obtain a copy of the License at
   3732  *
   3733  *      http://www.apache.org/licenses/LICENSE-2.0
   3734  *
   3735  * Unless required by applicable law or agreed to in writing, software
   3736  * distributed under the License is distributed on an "AS IS" BASIS,
   3737  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   3738  * See the License for the specific language governing permissions and
   3739  * limitations under the License.
   3740  */
   3741 
   3742 
   3743 
   3744 /**
   3745  * @extends {MDCFoundation<!MDCFormFieldAdapter>}
   3746  */
   3747 
   3748 var MDCFormFieldFoundation =
   3749 /*#__PURE__*/
   3750 function (_MDCFoundation) {
   3751   _inherits(MDCFormFieldFoundation, _MDCFoundation);
   3752 
   3753   _createClass(MDCFormFieldFoundation, null, [{
   3754     key: "cssClasses",
   3755 
   3756     /** @return enum {cssClasses} */
   3757     get: function get() {
   3758       return _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"];
   3759     }
   3760     /** @return enum {strings} */
   3761 
   3762   }, {
   3763     key: "strings",
   3764     get: function get() {
   3765       return _constants__WEBPACK_IMPORTED_MODULE_2__["strings"];
   3766     }
   3767     /** @return {!MDCFormFieldAdapter} */
   3768 
   3769   }, {
   3770     key: "defaultAdapter",
   3771     get: function get() {
   3772       return {
   3773         registerInteractionHandler: function registerInteractionHandler()
   3774         /* type: string, handler: EventListener */
   3775         {},
   3776         deregisterInteractionHandler: function deregisterInteractionHandler()
   3777         /* type: string, handler: EventListener */
   3778         {},
   3779         activateInputRipple: function activateInputRipple() {},
   3780         deactivateInputRipple: function deactivateInputRipple() {}
   3781       };
   3782     }
   3783   }]);
   3784 
   3785   function MDCFormFieldFoundation(adapter) {
   3786     var _this;
   3787 
   3788     _classCallCheck(this, MDCFormFieldFoundation);
   3789 
   3790     _this = _possibleConstructorReturn(this, _getPrototypeOf(MDCFormFieldFoundation).call(this, Object.assign(MDCFormFieldFoundation.defaultAdapter, adapter)));
   3791     /** @private {!EventListener} */
   3792 
   3793     _this.clickHandler_ =
   3794     /** @type {!EventListener} */
   3795     function () {
   3796       return _this.handleClick_();
   3797     };
   3798 
   3799     return _this;
   3800   }
   3801 
   3802   _createClass(MDCFormFieldFoundation, [{
   3803     key: "init",
   3804     value: function init() {
   3805       this.adapter_.registerInteractionHandler('click', this.clickHandler_);
   3806     }
   3807   }, {
   3808     key: "destroy",
   3809     value: function destroy() {
   3810       this.adapter_.deregisterInteractionHandler('click', this.clickHandler_);
   3811     }
   3812     /** @private */
   3813 
   3814   }, {
   3815     key: "handleClick_",
   3816     value: function handleClick_() {
   3817       var _this2 = this;
   3818 
   3819       this.adapter_.activateInputRipple();
   3820       requestAnimationFrame(function () {
   3821         return _this2.adapter_.deactivateInputRipple();
   3822       });
   3823     }
   3824   }]);
   3825 
   3826   return MDCFormFieldFoundation;
   3827 }(_material_base_foundation__WEBPACK_IMPORTED_MODULE_0__["default"]);
   3828 
   3829 /* harmony default export */ __webpack_exports__["default"] = (MDCFormFieldFoundation);
   3830 
   3831 /***/ }),
   3832 
   3833 /***/ "./node_modules/@material/form-field/index.js":
   3834 /*!****************************************************!*\
   3835   !*** ./node_modules/@material/form-field/index.js ***!
   3836   \****************************************************/
   3837 /*! exports provided: MDCFormField, MDCFormFieldFoundation */
   3838 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   3839 
   3840 "use strict";
   3841 __webpack_require__.r(__webpack_exports__);
   3842 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFormField", function() { return MDCFormField; });
   3843 /* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/component */ "./node_modules/@material/base/component.js");
   3844 /* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation */ "./node_modules/@material/form-field/foundation.js");
   3845 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCFormFieldFoundation", function() { return _foundation__WEBPACK_IMPORTED_MODULE_1__["default"]; });
   3846 
   3847 /* harmony import */ var _material_selection_control_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/selection-control/index */ "./node_modules/@material/selection-control/index.js");
   3848 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   3849 
   3850 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   3851 
   3852 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   3853 
   3854 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   3855 
   3856 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   3857 
   3858 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); } }
   3859 
   3860 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   3861 
   3862 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   3863 
   3864 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   3865 
   3866 /**
   3867  * @license
   3868  * Copyright 2017 Google Inc. All Rights Reserved.
   3869  *
   3870  * Licensed under the Apache License, Version 2.0 (the "License");
   3871  * you may not use this file except in compliance with the License.
   3872  * You may obtain a copy of the License at
   3873  *
   3874  *      http://www.apache.org/licenses/LICENSE-2.0
   3875  *
   3876  * Unless required by applicable law or agreed to in writing, software
   3877  * distributed under the License is distributed on an "AS IS" BASIS,
   3878  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   3879  * See the License for the specific language governing permissions and
   3880  * limitations under the License.
   3881  */
   3882 
   3883 
   3884 /* eslint-disable no-unused-vars */
   3885 
   3886 
   3887 /* eslint-enable no-unused-vars */
   3888 
   3889 /**
   3890  * @extends MDCComponent<!MDCFormFieldFoundation>
   3891  */
   3892 
   3893 var MDCFormField =
   3894 /*#__PURE__*/
   3895 function (_MDCComponent) {
   3896   _inherits(MDCFormField, _MDCComponent);
   3897 
   3898   _createClass(MDCFormField, [{
   3899     key: "input",
   3900 
   3901     /** @param {?MDCSelectionControl} input */
   3902     set: function set(input) {
   3903       this.input_ = input;
   3904     }
   3905     /** @return {?MDCSelectionControl} */
   3906     ,
   3907     get: function get() {
   3908       return this.input_;
   3909     }
   3910   }], [{
   3911     key: "attachTo",
   3912     value: function attachTo(root) {
   3913       return new MDCFormField(root);
   3914     }
   3915   }]);
   3916 
   3917   function MDCFormField() {
   3918     var _getPrototypeOf2;
   3919 
   3920     var _this;
   3921 
   3922     _classCallCheck(this, MDCFormField);
   3923 
   3924     for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
   3925       args[_key] = arguments[_key];
   3926     }
   3927 
   3928     _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(MDCFormField)).call.apply(_getPrototypeOf2, [this].concat(args)));
   3929     /** @private {?MDCSelectionControl} */
   3930 
   3931     _this.input_;
   3932     return _this;
   3933   }
   3934   /**
   3935    * @return {!Element}
   3936    * @private
   3937    */
   3938 
   3939 
   3940   _createClass(MDCFormField, [{
   3941     key: "getDefaultFoundation",
   3942 
   3943     /** @return {!MDCFormFieldFoundation} */
   3944     value: function getDefaultFoundation() {
   3945       var _this2 = this;
   3946 
   3947       return new _foundation__WEBPACK_IMPORTED_MODULE_1__["default"]({
   3948         registerInteractionHandler: function registerInteractionHandler(type, handler) {
   3949           return _this2.label_.addEventListener(type, handler);
   3950         },
   3951         deregisterInteractionHandler: function deregisterInteractionHandler(type, handler) {
   3952           return _this2.label_.removeEventListener(type, handler);
   3953         },
   3954         activateInputRipple: function activateInputRipple() {
   3955           if (_this2.input_ && _this2.input_.ripple) {
   3956             _this2.input_.ripple.activate();
   3957           }
   3958         },
   3959         deactivateInputRipple: function deactivateInputRipple() {
   3960           if (_this2.input_ && _this2.input_.ripple) {
   3961             _this2.input_.ripple.deactivate();
   3962           }
   3963         }
   3964       });
   3965     }
   3966   }, {
   3967     key: "label_",
   3968     get: function get() {
   3969       var LABEL_SELECTOR = _foundation__WEBPACK_IMPORTED_MODULE_1__["default"].strings.LABEL_SELECTOR;
   3970       return (
   3971         /** @type {!Element} */
   3972         this.root_.querySelector(LABEL_SELECTOR)
   3973       );
   3974     }
   3975   }]);
   3976 
   3977   return MDCFormField;
   3978 }(_material_base_component__WEBPACK_IMPORTED_MODULE_0__["default"]);
   3979 
   3980 
   3981 
   3982 /***/ }),
   3983 
   3984 /***/ "./node_modules/@material/line-ripple/adapter.js":
   3985 /*!*******************************************************!*\
   3986   !*** ./node_modules/@material/line-ripple/adapter.js ***!
   3987   \*******************************************************/
   3988 /*! exports provided: default */
   3989 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   3990 
   3991 "use strict";
   3992 __webpack_require__.r(__webpack_exports__);
   3993 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   3994 
   3995 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); } }
   3996 
   3997 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   3998 
   3999 /**
   4000  * @license
   4001  * Copyright 2018 Google Inc. All Rights Reserved.
   4002  *
   4003  * Licensed under the Apache License, Version 2.0 (the "License");
   4004  * you may not use this file except in compliance with the License.
   4005  * You may obtain a copy of the License at
   4006  *
   4007  *      http://www.apache.org/licenses/LICENSE-2.0
   4008  *
   4009  * Unless required by applicable law or agreed to in writing, software
   4010  * distributed under the License is distributed on an "AS IS" BASIS,
   4011  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   4012  * See the License for the specific language governing permissions and
   4013  * limitations under the License.
   4014  */
   4015 
   4016 /* eslint no-unused-vars: [2, {"args": "none"}] */
   4017 
   4018 /**
   4019  * Adapter for MDC TextField Line Ripple.
   4020  *
   4021  * Defines the shape of the adapter expected by the foundation. Implement this
   4022  * adapter to integrate the line ripple into your framework. See
   4023  * https://github.com/material-components/material-components-web/blob/master/docs/authoring-components.md
   4024  * for more information.
   4025  *
   4026  * @record
   4027  */
   4028 var MDCLineRippleAdapter =
   4029 /*#__PURE__*/
   4030 function () {
   4031   function MDCLineRippleAdapter() {
   4032     _classCallCheck(this, MDCLineRippleAdapter);
   4033   }
   4034 
   4035   _createClass(MDCLineRippleAdapter, [{
   4036     key: "addClass",
   4037 
   4038     /**
   4039      * Adds a class to the line ripple element.
   4040      * @param {string} className
   4041      */
   4042     value: function addClass(className) {}
   4043     /**
   4044      * Removes a class from the line ripple element.
   4045      * @param {string} className
   4046      */
   4047 
   4048   }, {
   4049     key: "removeClass",
   4050     value: function removeClass(className) {}
   4051     /**
   4052      * @param {string} className
   4053      * @return {boolean}
   4054      */
   4055 
   4056   }, {
   4057     key: "hasClass",
   4058     value: function hasClass(className) {}
   4059     /**
   4060      * Sets the style property with propertyName to value on the root element.
   4061      * @param {string} propertyName
   4062      * @param {string} value
   4063      */
   4064 
   4065   }, {
   4066     key: "setStyle",
   4067     value: function setStyle(propertyName, value) {}
   4068     /**
   4069      * Registers an event listener on the line ripple element for a given event.
   4070      * @param {string} evtType
   4071      * @param {function(!Event): undefined} handler
   4072      */
   4073 
   4074   }, {
   4075     key: "registerEventHandler",
   4076     value: function registerEventHandler(evtType, handler) {}
   4077     /**
   4078      * Deregisters an event listener on the line ripple element for a given event.
   4079      * @param {string} evtType
   4080      * @param {function(!Event): undefined} handler
   4081      */
   4082 
   4083   }, {
   4084     key: "deregisterEventHandler",
   4085     value: function deregisterEventHandler(evtType, handler) {}
   4086   }]);
   4087 
   4088   return MDCLineRippleAdapter;
   4089 }();
   4090 
   4091 /* harmony default export */ __webpack_exports__["default"] = (MDCLineRippleAdapter);
   4092 
   4093 /***/ }),
   4094 
   4095 /***/ "./node_modules/@material/line-ripple/constants.js":
   4096 /*!*********************************************************!*\
   4097   !*** ./node_modules/@material/line-ripple/constants.js ***!
   4098   \*********************************************************/
   4099 /*! exports provided: cssClasses */
   4100 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   4101 
   4102 "use strict";
   4103 __webpack_require__.r(__webpack_exports__);
   4104 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; });
   4105 /**
   4106  * @license
   4107  * Copyright 2018 Google Inc. All Rights Reserved.
   4108  *
   4109  * Licensed under the Apache License, Version 2.0 (the "License");
   4110  * you may not use this file except in compliance with the License.
   4111  * You may obtain a copy of the License at
   4112  *
   4113  *      http://www.apache.org/licenses/LICENSE-2.0
   4114  *
   4115  * Unless required by applicable law or agreed to in writing, software
   4116  * distributed under the License is distributed on an "AS IS" BASIS,
   4117  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   4118  * See the License for the specific language governing permissions and
   4119  * limitations under the License.
   4120  */
   4121 
   4122 /** @enum {string} */
   4123 var cssClasses = {
   4124   LINE_RIPPLE_ACTIVE: 'mdc-line-ripple--active',
   4125   LINE_RIPPLE_DEACTIVATING: 'mdc-line-ripple--deactivating'
   4126 };
   4127 
   4128 
   4129 /***/ }),
   4130 
   4131 /***/ "./node_modules/@material/line-ripple/foundation.js":
   4132 /*!**********************************************************!*\
   4133   !*** ./node_modules/@material/line-ripple/foundation.js ***!
   4134   \**********************************************************/
   4135 /*! exports provided: default */
   4136 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   4137 
   4138 "use strict";
   4139 __webpack_require__.r(__webpack_exports__);
   4140 /* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/@material/base/foundation.js");
   4141 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/line-ripple/adapter.js");
   4142 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/line-ripple/constants.js");
   4143 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   4144 
   4145 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   4146 
   4147 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   4148 
   4149 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   4150 
   4151 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   4152 
   4153 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); } }
   4154 
   4155 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   4156 
   4157 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   4158 
   4159 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   4160 
   4161 /**
   4162  * @license
   4163  * Copyright 2018 Google Inc. All Rights Reserved.
   4164  *
   4165  * Licensed under the Apache License, Version 2.0 (the "License");
   4166  * you may not use this file except in compliance with the License.
   4167  * You may obtain a copy of the License at
   4168  *
   4169  *      http://www.apache.org/licenses/LICENSE-2.0
   4170  *
   4171  * Unless required by applicable law or agreed to in writing, software
   4172  * distributed under the License is distributed on an "AS IS" BASIS,
   4173  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   4174  * See the License for the specific language governing permissions and
   4175  * limitations under the License.
   4176  */
   4177 
   4178 
   4179 
   4180 /**
   4181  * @extends {MDCFoundation<!MDCLineRippleAdapter>}
   4182  * @final
   4183  */
   4184 
   4185 var MDCLineRippleFoundation =
   4186 /*#__PURE__*/
   4187 function (_MDCFoundation) {
   4188   _inherits(MDCLineRippleFoundation, _MDCFoundation);
   4189 
   4190   _createClass(MDCLineRippleFoundation, null, [{
   4191     key: "cssClasses",
   4192 
   4193     /** @return enum {string} */
   4194     get: function get() {
   4195       return _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"];
   4196     }
   4197     /**
   4198      * {@see MDCLineRippleAdapter} for typing information on parameters and return
   4199      * types.
   4200      * @return {!MDCLineRippleAdapter}
   4201      */
   4202 
   4203   }, {
   4204     key: "defaultAdapter",
   4205     get: function get() {
   4206       return (
   4207         /** @type {!MDCLineRippleAdapter} */
   4208         {
   4209           addClass: function addClass() {},
   4210           removeClass: function removeClass() {},
   4211           hasClass: function hasClass() {},
   4212           setStyle: function setStyle() {},
   4213           registerEventHandler: function registerEventHandler() {},
   4214           deregisterEventHandler: function deregisterEventHandler() {}
   4215         }
   4216       );
   4217     }
   4218     /**
   4219      * @param {!MDCLineRippleAdapter=} adapter
   4220      */
   4221 
   4222   }]);
   4223 
   4224   function MDCLineRippleFoundation() {
   4225     var _this;
   4226 
   4227     var adapter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] :
   4228     /** @type {!MDCLineRippleAdapter} */
   4229     {};
   4230 
   4231     _classCallCheck(this, MDCLineRippleFoundation);
   4232 
   4233     _this = _possibleConstructorReturn(this, _getPrototypeOf(MDCLineRippleFoundation).call(this, Object.assign(MDCLineRippleFoundation.defaultAdapter, adapter)));
   4234     /** @private {function(!Event): undefined} */
   4235 
   4236     _this.transitionEndHandler_ = function (evt) {
   4237       return _this.handleTransitionEnd(evt);
   4238     };
   4239 
   4240     return _this;
   4241   }
   4242 
   4243   _createClass(MDCLineRippleFoundation, [{
   4244     key: "init",
   4245     value: function init() {
   4246       this.adapter_.registerEventHandler('transitionend', this.transitionEndHandler_);
   4247     }
   4248   }, {
   4249     key: "destroy",
   4250     value: function destroy() {
   4251       this.adapter_.deregisterEventHandler('transitionend', this.transitionEndHandler_);
   4252     }
   4253     /**
   4254      * Activates the line ripple
   4255      */
   4256 
   4257   }, {
   4258     key: "activate",
   4259     value: function activate() {
   4260       this.adapter_.removeClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].LINE_RIPPLE_DEACTIVATING);
   4261       this.adapter_.addClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].LINE_RIPPLE_ACTIVE);
   4262     }
   4263     /**
   4264      * Sets the center of the ripple animation to the given X coordinate.
   4265      * @param {number} xCoordinate
   4266      */
   4267 
   4268   }, {
   4269     key: "setRippleCenter",
   4270     value: function setRippleCenter(xCoordinate) {
   4271       this.adapter_.setStyle('transform-origin', "".concat(xCoordinate, "px center"));
   4272     }
   4273     /**
   4274      * Deactivates the line ripple
   4275      */
   4276 
   4277   }, {
   4278     key: "deactivate",
   4279     value: function deactivate() {
   4280       this.adapter_.addClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].LINE_RIPPLE_DEACTIVATING);
   4281     }
   4282     /**
   4283      * Handles a transition end event
   4284      * @param {!Event} evt
   4285      */
   4286 
   4287   }, {
   4288     key: "handleTransitionEnd",
   4289     value: function handleTransitionEnd(evt) {
   4290       // Wait for the line ripple to be either transparent or opaque
   4291       // before emitting the animation end event
   4292       var isDeactivating = this.adapter_.hasClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].LINE_RIPPLE_DEACTIVATING);
   4293 
   4294       if (evt.propertyName === 'opacity') {
   4295         if (isDeactivating) {
   4296           this.adapter_.removeClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].LINE_RIPPLE_ACTIVE);
   4297           this.adapter_.removeClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].LINE_RIPPLE_DEACTIVATING);
   4298         }
   4299       }
   4300     }
   4301   }]);
   4302 
   4303   return MDCLineRippleFoundation;
   4304 }(_material_base_foundation__WEBPACK_IMPORTED_MODULE_0__["default"]);
   4305 
   4306 /* harmony default export */ __webpack_exports__["default"] = (MDCLineRippleFoundation);
   4307 
   4308 /***/ }),
   4309 
   4310 /***/ "./node_modules/@material/line-ripple/index.js":
   4311 /*!*****************************************************!*\
   4312   !*** ./node_modules/@material/line-ripple/index.js ***!
   4313   \*****************************************************/
   4314 /*! exports provided: MDCLineRipple, MDCLineRippleFoundation */
   4315 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   4316 
   4317 "use strict";
   4318 __webpack_require__.r(__webpack_exports__);
   4319 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCLineRipple", function() { return MDCLineRipple; });
   4320 /* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/component */ "./node_modules/@material/base/component.js");
   4321 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/line-ripple/adapter.js");
   4322 /* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation */ "./node_modules/@material/line-ripple/foundation.js");
   4323 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCLineRippleFoundation", function() { return _foundation__WEBPACK_IMPORTED_MODULE_2__["default"]; });
   4324 
   4325 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   4326 
   4327 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   4328 
   4329 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); } }
   4330 
   4331 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   4332 
   4333 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   4334 
   4335 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   4336 
   4337 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   4338 
   4339 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   4340 
   4341 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   4342 
   4343 /**
   4344  * @license
   4345  * Copyright 2018 Google Inc. All Rights Reserved.
   4346  *
   4347  * Licensed under the Apache License, Version 2.0 (the "License");
   4348  * you may not use this file except in compliance with the License.
   4349  * You may obtain a copy of the License at
   4350  *
   4351  *      http://www.apache.org/licenses/LICENSE-2.0
   4352  *
   4353  * Unless required by applicable law or agreed to in writing, software
   4354  * distributed under the License is distributed on an "AS IS" BASIS,
   4355  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   4356  * See the License for the specific language governing permissions and
   4357  * limitations under the License.
   4358  */
   4359 
   4360 
   4361 
   4362 /**
   4363  * @extends {MDCComponent<!MDCLineRippleFoundation>}
   4364  * @final
   4365  */
   4366 
   4367 var MDCLineRipple =
   4368 /*#__PURE__*/
   4369 function (_MDCComponent) {
   4370   _inherits(MDCLineRipple, _MDCComponent);
   4371 
   4372   function MDCLineRipple() {
   4373     _classCallCheck(this, MDCLineRipple);
   4374 
   4375     return _possibleConstructorReturn(this, _getPrototypeOf(MDCLineRipple).apply(this, arguments));
   4376   }
   4377 
   4378   _createClass(MDCLineRipple, [{
   4379     key: "activate",
   4380 
   4381     /**
   4382      * Activates the line ripple
   4383      */
   4384     value: function activate() {
   4385       this.foundation_.activate();
   4386     }
   4387     /**
   4388      * Deactivates the line ripple
   4389      */
   4390 
   4391   }, {
   4392     key: "deactivate",
   4393     value: function deactivate() {
   4394       this.foundation_.deactivate();
   4395     }
   4396     /**
   4397      * Sets the transform origin given a user's click location. The `rippleCenter` is the
   4398      * x-coordinate of the middle of the ripple.
   4399      * @param {number} xCoordinate
   4400      */
   4401 
   4402   }, {
   4403     key: "setRippleCenter",
   4404     value: function setRippleCenter(xCoordinate) {
   4405       this.foundation_.setRippleCenter(xCoordinate);
   4406     }
   4407     /**
   4408      * @return {!MDCLineRippleFoundation}
   4409      */
   4410 
   4411   }, {
   4412     key: "getDefaultFoundation",
   4413     value: function getDefaultFoundation() {
   4414       var _this = this;
   4415 
   4416       return new _foundation__WEBPACK_IMPORTED_MODULE_2__["default"](
   4417       /** @type {!MDCLineRippleAdapter} */
   4418       Object.assign({
   4419         addClass: function addClass(className) {
   4420           return _this.root_.classList.add(className);
   4421         },
   4422         removeClass: function removeClass(className) {
   4423           return _this.root_.classList.remove(className);
   4424         },
   4425         hasClass: function hasClass(className) {
   4426           return _this.root_.classList.contains(className);
   4427         },
   4428         setStyle: function setStyle(propertyName, value) {
   4429           return _this.root_.style[propertyName] = value;
   4430         },
   4431         registerEventHandler: function registerEventHandler(evtType, handler) {
   4432           return _this.root_.addEventListener(evtType, handler);
   4433         },
   4434         deregisterEventHandler: function deregisterEventHandler(evtType, handler) {
   4435           return _this.root_.removeEventListener(evtType, handler);
   4436         }
   4437       }));
   4438     }
   4439   }], [{
   4440     key: "attachTo",
   4441 
   4442     /**
   4443      * @param {!Element} root
   4444      * @return {!MDCLineRipple}
   4445      */
   4446     value: function attachTo(root) {
   4447       return new MDCLineRipple(root);
   4448     }
   4449   }]);
   4450 
   4451   return MDCLineRipple;
   4452 }(_material_base_component__WEBPACK_IMPORTED_MODULE_0__["default"]);
   4453 
   4454 
   4455 
   4456 /***/ }),
   4457 
   4458 /***/ "./node_modules/@material/notched-outline/adapter.js":
   4459 /*!***********************************************************!*\
   4460   !*** ./node_modules/@material/notched-outline/adapter.js ***!
   4461   \***********************************************************/
   4462 /*! exports provided: default */
   4463 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   4464 
   4465 "use strict";
   4466 __webpack_require__.r(__webpack_exports__);
   4467 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   4468 
   4469 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); } }
   4470 
   4471 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   4472 
   4473 /**
   4474  * @license
   4475  * Copyright 2017 Google Inc. All Rights Reserved.
   4476  *
   4477  * Licensed under the Apache License, Version 2.0 (the "License");
   4478  * you may not use this file except in compliance with the License.
   4479  * You may obtain a copy of the License at
   4480  *
   4481  *      http://www.apache.org/licenses/LICENSE-2.0
   4482  *
   4483  * Unless required by applicable law or agreed to in writing, software
   4484  * distributed under the License is distributed on an "AS IS" BASIS,
   4485  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   4486  * See the License for the specific language governing permissions and
   4487  * limitations under the License.
   4488  */
   4489 
   4490 /* eslint no-unused-vars: [2, {"args": "none"}] */
   4491 
   4492 /**
   4493  * Adapter for MDC Notched Outline.
   4494  *
   4495  * Defines the shape of the adapter expected by the foundation. Implement this
   4496  * adapter to integrate the Notched Outline into your framework. See
   4497  * https://github.com/material-components/material-components-web/blob/master/docs/authoring-components.md
   4498  * for more information.
   4499  *
   4500  * @record
   4501  */
   4502 var MDCNotchedOutlineAdapter =
   4503 /*#__PURE__*/
   4504 function () {
   4505   function MDCNotchedOutlineAdapter() {
   4506     _classCallCheck(this, MDCNotchedOutlineAdapter);
   4507   }
   4508 
   4509   _createClass(MDCNotchedOutlineAdapter, [{
   4510     key: "getWidth",
   4511 
   4512     /**
   4513      * Returns the width of the root element.
   4514      * @return {number}
   4515      */
   4516     value: function getWidth() {}
   4517     /**
   4518      * Returns the height of the root element.
   4519      * @return {number}
   4520      */
   4521 
   4522   }, {
   4523     key: "getHeight",
   4524     value: function getHeight() {}
   4525     /**
   4526      * Adds a class to the root element.
   4527      * @param {string} className
   4528      */
   4529 
   4530   }, {
   4531     key: "addClass",
   4532     value: function addClass(className) {}
   4533     /**
   4534      * Removes a class from the root element.
   4535      * @param {string} className
   4536      */
   4537 
   4538   }, {
   4539     key: "removeClass",
   4540     value: function removeClass(className) {}
   4541     /**
   4542      * Sets the "d" attribute of the outline element's SVG path.
   4543      * @param {string} value
   4544      */
   4545 
   4546   }, {
   4547     key: "setOutlinePathAttr",
   4548     value: function setOutlinePathAttr(value) {}
   4549     /**
   4550      * Returns the idle outline element's computed style value of the given css property `propertyName`.
   4551      * We achieve this via `getComputedStyle(...).getPropertyValue(propertyName)`.
   4552      * @param {string} propertyName
   4553      * @return {string}
   4554      */
   4555 
   4556   }, {
   4557     key: "getIdleOutlineStyleValue",
   4558     value: function getIdleOutlineStyleValue(propertyName) {}
   4559   }]);
   4560 
   4561   return MDCNotchedOutlineAdapter;
   4562 }();
   4563 
   4564 /* harmony default export */ __webpack_exports__["default"] = (MDCNotchedOutlineAdapter);
   4565 
   4566 /***/ }),
   4567 
   4568 /***/ "./node_modules/@material/notched-outline/constants.js":
   4569 /*!*************************************************************!*\
   4570   !*** ./node_modules/@material/notched-outline/constants.js ***!
   4571   \*************************************************************/
   4572 /*! exports provided: cssClasses, strings */
   4573 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   4574 
   4575 "use strict";
   4576 __webpack_require__.r(__webpack_exports__);
   4577 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; });
   4578 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return strings; });
   4579 /**
   4580  * @license
   4581  * Copyright 2018 Google Inc. All Rights Reserved.
   4582  *
   4583  * Licensed under the Apache License, Version 2.0 (the "License");
   4584  * you may not use this file except in compliance with the License.
   4585  * You may obtain a copy of the License at
   4586  *
   4587  *      http://www.apache.org/licenses/LICENSE-2.0
   4588  *
   4589  * Unless required by applicable law or agreed to in writing, software
   4590  * distributed under the License is distributed on an "AS IS" BASIS,
   4591  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   4592  * See the License for the specific language governing permissions and
   4593  * limitations under the License.
   4594  */
   4595 
   4596 /** @enum {string} */
   4597 var strings = {
   4598   PATH_SELECTOR: '.mdc-notched-outline__path',
   4599   IDLE_OUTLINE_SELECTOR: '.mdc-notched-outline__idle'
   4600 };
   4601 /** @enum {string} */
   4602 
   4603 var cssClasses = {
   4604   OUTLINE_NOTCHED: 'mdc-notched-outline--notched'
   4605 };
   4606 
   4607 
   4608 /***/ }),
   4609 
   4610 /***/ "./node_modules/@material/notched-outline/foundation.js":
   4611 /*!**************************************************************!*\
   4612   !*** ./node_modules/@material/notched-outline/foundation.js ***!
   4613   \**************************************************************/
   4614 /*! exports provided: default */
   4615 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   4616 
   4617 "use strict";
   4618 __webpack_require__.r(__webpack_exports__);
   4619 /* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/@material/base/foundation.js");
   4620 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/notched-outline/adapter.js");
   4621 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/notched-outline/constants.js");
   4622 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   4623 
   4624 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   4625 
   4626 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   4627 
   4628 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   4629 
   4630 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   4631 
   4632 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); } }
   4633 
   4634 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   4635 
   4636 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   4637 
   4638 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   4639 
   4640 /**
   4641  * @license
   4642  * Copyright 2017 Google Inc. All Rights Reserved.
   4643  *
   4644  * Licensed under the Apache License, Version 2.0 (the "License");
   4645  * you may not use this file except in compliance with the License.
   4646  * You may obtain a copy of the License at
   4647  *
   4648  *      http://www.apache.org/licenses/LICENSE-2.0
   4649  *
   4650  * Unless required by applicable law or agreed to in writing, software
   4651  * distributed under the License is distributed on an "AS IS" BASIS,
   4652  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   4653  * See the License for the specific language governing permissions and
   4654  * limitations under the License.
   4655  */
   4656 
   4657 
   4658 
   4659 /**
   4660  * @extends {MDCFoundation<!MDCNotchedOutlineAdapter>}
   4661  * @final
   4662  */
   4663 
   4664 var MDCNotchedOutlineFoundation =
   4665 /*#__PURE__*/
   4666 function (_MDCFoundation) {
   4667   _inherits(MDCNotchedOutlineFoundation, _MDCFoundation);
   4668 
   4669   _createClass(MDCNotchedOutlineFoundation, null, [{
   4670     key: "strings",
   4671 
   4672     /** @return enum {string} */
   4673     get: function get() {
   4674       return _constants__WEBPACK_IMPORTED_MODULE_2__["strings"];
   4675     }
   4676     /** @return enum {string} */
   4677 
   4678   }, {
   4679     key: "cssClasses",
   4680     get: function get() {
   4681       return _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"];
   4682     }
   4683     /**
   4684      * {@see MDCNotchedOutlineAdapter} for typing information on parameters and return
   4685      * types.
   4686      * @return {!MDCNotchedOutlineAdapter}
   4687      */
   4688 
   4689   }, {
   4690     key: "defaultAdapter",
   4691     get: function get() {
   4692       return (
   4693         /** @type {!MDCNotchedOutlineAdapter} */
   4694         {
   4695           getWidth: function getWidth() {},
   4696           getHeight: function getHeight() {},
   4697           addClass: function addClass() {},
   4698           removeClass: function removeClass() {},
   4699           setOutlinePathAttr: function setOutlinePathAttr() {},
   4700           getIdleOutlineStyleValue: function getIdleOutlineStyleValue() {}
   4701         }
   4702       );
   4703     }
   4704     /**
   4705      * @param {!MDCNotchedOutlineAdapter} adapter
   4706      */
   4707 
   4708   }]);
   4709 
   4710   function MDCNotchedOutlineFoundation(adapter) {
   4711     _classCallCheck(this, MDCNotchedOutlineFoundation);
   4712 
   4713     return _possibleConstructorReturn(this, _getPrototypeOf(MDCNotchedOutlineFoundation).call(this, Object.assign(MDCNotchedOutlineFoundation.defaultAdapter, adapter)));
   4714   }
   4715   /**
   4716    * Adds the outline notched selector and updates the notch width
   4717    * calculated based off of notchWidth and isRtl.
   4718    * @param {number} notchWidth
   4719    * @param {boolean=} isRtl
   4720    */
   4721 
   4722 
   4723   _createClass(MDCNotchedOutlineFoundation, [{
   4724     key: "notch",
   4725     value: function notch(notchWidth) {
   4726       var isRtl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
   4727       var OUTLINE_NOTCHED = MDCNotchedOutlineFoundation.cssClasses.OUTLINE_NOTCHED;
   4728       this.adapter_.addClass(OUTLINE_NOTCHED);
   4729       this.updateSvgPath_(notchWidth, isRtl);
   4730     }
   4731     /**
   4732      * Removes notched outline selector to close the notch in the outline.
   4733      */
   4734 
   4735   }, {
   4736     key: "closeNotch",
   4737     value: function closeNotch() {
   4738       var OUTLINE_NOTCHED = MDCNotchedOutlineFoundation.cssClasses.OUTLINE_NOTCHED;
   4739       this.adapter_.removeClass(OUTLINE_NOTCHED);
   4740     }
   4741     /**
   4742      * Updates the SVG path of the focus outline element based on the notchWidth
   4743      * and the RTL context.
   4744      * @param {number} notchWidth
   4745      * @param {boolean=} isRtl
   4746      * @private
   4747      */
   4748 
   4749   }, {
   4750     key: "updateSvgPath_",
   4751     value: function updateSvgPath_(notchWidth, isRtl) {
   4752       // Fall back to reading a specific corner's style because Firefox doesn't report the style on border-radius.
   4753       var radiusStyleValue = this.adapter_.getIdleOutlineStyleValue('border-radius') || this.adapter_.getIdleOutlineStyleValue('border-top-left-radius');
   4754       var radius = parseFloat(radiusStyleValue);
   4755       var width = this.adapter_.getWidth();
   4756       var height = this.adapter_.getHeight();
   4757       var cornerWidth = radius + 1.2;
   4758       var leadingStrokeLength = Math.abs(11 - cornerWidth);
   4759       var paddedNotchWidth = notchWidth + 8; // The right, bottom, and left sides of the outline follow the same SVG path.
   4760 
   4761       var pathMiddle = 'a' + radius + ',' + radius + ' 0 0 1 ' + radius + ',' + radius + 'v' + (height - 2 * cornerWidth) + 'a' + radius + ',' + radius + ' 0 0 1 ' + -radius + ',' + radius + 'h' + (-width + 2 * cornerWidth) + 'a' + radius + ',' + radius + ' 0 0 1 ' + -radius + ',' + -radius + 'v' + (-height + 2 * cornerWidth) + 'a' + radius + ',' + radius + ' 0 0 1 ' + radius + ',' + -radius;
   4762       var path;
   4763 
   4764       if (!isRtl) {
   4765         path = 'M' + (cornerWidth + leadingStrokeLength + paddedNotchWidth) + ',' + 1 + 'h' + (width - 2 * cornerWidth - paddedNotchWidth - leadingStrokeLength) + pathMiddle + 'h' + leadingStrokeLength;
   4766       } else {
   4767         path = 'M' + (width - cornerWidth - leadingStrokeLength) + ',' + 1 + 'h' + leadingStrokeLength + pathMiddle + 'h' + (width - 2 * cornerWidth - paddedNotchWidth - leadingStrokeLength);
   4768       }
   4769 
   4770       this.adapter_.setOutlinePathAttr(path);
   4771     }
   4772   }]);
   4773 
   4774   return MDCNotchedOutlineFoundation;
   4775 }(_material_base_foundation__WEBPACK_IMPORTED_MODULE_0__["default"]);
   4776 
   4777 /* harmony default export */ __webpack_exports__["default"] = (MDCNotchedOutlineFoundation);
   4778 
   4779 /***/ }),
   4780 
   4781 /***/ "./node_modules/@material/notched-outline/index.js":
   4782 /*!*********************************************************!*\
   4783   !*** ./node_modules/@material/notched-outline/index.js ***!
   4784   \*********************************************************/
   4785 /*! exports provided: MDCNotchedOutline, MDCNotchedOutlineFoundation */
   4786 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   4787 
   4788 "use strict";
   4789 __webpack_require__.r(__webpack_exports__);
   4790 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCNotchedOutline", function() { return MDCNotchedOutline; });
   4791 /* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/component */ "./node_modules/@material/base/component.js");
   4792 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/notched-outline/adapter.js");
   4793 /* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation */ "./node_modules/@material/notched-outline/foundation.js");
   4794 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCNotchedOutlineFoundation", function() { return _foundation__WEBPACK_IMPORTED_MODULE_2__["default"]; });
   4795 
   4796 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/notched-outline/constants.js");
   4797 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   4798 
   4799 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   4800 
   4801 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); } }
   4802 
   4803 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   4804 
   4805 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   4806 
   4807 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   4808 
   4809 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   4810 
   4811 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   4812 
   4813 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   4814 
   4815 /**
   4816  * @license
   4817  * Copyright 2017 Google Inc. All Rights Reserved.
   4818  *
   4819  * Licensed under the Apache License, Version 2.0 (the "License");
   4820  * you may not use this file except in compliance with the License.
   4821  * You may obtain a copy of the License at
   4822  *
   4823  *      http://www.apache.org/licenses/LICENSE-2.0
   4824  *
   4825  * Unless required by applicable law or agreed to in writing, software
   4826  * distributed under the License is distributed on an "AS IS" BASIS,
   4827  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   4828  * See the License for the specific language governing permissions and
   4829  * limitations under the License.
   4830  */
   4831 
   4832 
   4833 
   4834 
   4835 /**
   4836  * @extends {MDCComponent<!MDCNotchedOutlineFoundation>}
   4837  * @final
   4838  */
   4839 
   4840 var MDCNotchedOutline =
   4841 /*#__PURE__*/
   4842 function (_MDCComponent) {
   4843   _inherits(MDCNotchedOutline, _MDCComponent);
   4844 
   4845   function MDCNotchedOutline() {
   4846     _classCallCheck(this, MDCNotchedOutline);
   4847 
   4848     return _possibleConstructorReturn(this, _getPrototypeOf(MDCNotchedOutline).apply(this, arguments));
   4849   }
   4850 
   4851   _createClass(MDCNotchedOutline, [{
   4852     key: "notch",
   4853 
   4854     /**
   4855       * Updates outline selectors and SVG path to open notch.
   4856       * @param {number} notchWidth The notch width in the outline.
   4857       * @param {boolean=} isRtl Determines if outline is rtl. If rtl is true, notch
   4858       * will be right justified in outline path, otherwise left justified.
   4859       */
   4860     value: function notch(notchWidth, isRtl) {
   4861       this.foundation_.notch(notchWidth, isRtl);
   4862     }
   4863     /**
   4864      * Updates the outline selectors to close notch and return it to idle state.
   4865      */
   4866 
   4867   }, {
   4868     key: "closeNotch",
   4869     value: function closeNotch() {
   4870       this.foundation_.closeNotch();
   4871     }
   4872     /**
   4873      * @return {!MDCNotchedOutlineFoundation}
   4874      */
   4875 
   4876   }, {
   4877     key: "getDefaultFoundation",
   4878     value: function getDefaultFoundation() {
   4879       var _this = this;
   4880 
   4881       return new _foundation__WEBPACK_IMPORTED_MODULE_2__["default"]({
   4882         getWidth: function getWidth() {
   4883           return _this.root_.offsetWidth;
   4884         },
   4885         getHeight: function getHeight() {
   4886           return _this.root_.offsetHeight;
   4887         },
   4888         addClass: function addClass(className) {
   4889           return _this.root_.classList.add(className);
   4890         },
   4891         removeClass: function removeClass(className) {
   4892           return _this.root_.classList.remove(className);
   4893         },
   4894         setOutlinePathAttr: function setOutlinePathAttr(value) {
   4895           var path = _this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].PATH_SELECTOR);
   4896 
   4897           path.setAttribute('d', value);
   4898         },
   4899         getIdleOutlineStyleValue: function getIdleOutlineStyleValue(propertyName) {
   4900           var idleOutlineElement = _this.root_.parentNode.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].IDLE_OUTLINE_SELECTOR);
   4901 
   4902           return window.getComputedStyle(idleOutlineElement).getPropertyValue(propertyName);
   4903         }
   4904       });
   4905     }
   4906   }], [{
   4907     key: "attachTo",
   4908 
   4909     /**
   4910      * @param {!Element} root
   4911      * @return {!MDCNotchedOutline}
   4912      */
   4913     value: function attachTo(root) {
   4914       return new MDCNotchedOutline(root);
   4915     }
   4916   }]);
   4917 
   4918   return MDCNotchedOutline;
   4919 }(_material_base_component__WEBPACK_IMPORTED_MODULE_0__["default"]);
   4920 
   4921 
   4922 
   4923 /***/ }),
   4924 
   4925 /***/ "./node_modules/@material/ripple/adapter.js":
   4926 /*!**************************************************!*\
   4927   !*** ./node_modules/@material/ripple/adapter.js ***!
   4928   \**************************************************/
   4929 /*! exports provided: default */
   4930 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   4931 
   4932 "use strict";
   4933 __webpack_require__.r(__webpack_exports__);
   4934 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   4935 
   4936 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); } }
   4937 
   4938 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   4939 
   4940 /**
   4941  * @license
   4942  * Copyright 2016 Google Inc. All Rights Reserved.
   4943  *
   4944  * Licensed under the Apache License, Version 2.0 (the "License");
   4945  * you may not use this file except in compliance with the License.
   4946  * You may obtain a copy of the License at
   4947  *
   4948  *      http://www.apache.org/licenses/LICENSE-2.0
   4949  *
   4950  * Unless required by applicable law or agreed to in writing, software
   4951  * distributed under the License is distributed on an "AS IS" BASIS,
   4952  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   4953  * See the License for the specific language governing permissions and
   4954  * limitations under the License.
   4955  */
   4956 
   4957 /* eslint no-unused-vars: [2, {"args": "none"}] */
   4958 
   4959 /**
   4960  * Adapter for MDC Ripple. Provides an interface for managing
   4961  * - classes
   4962  * - dom
   4963  * - CSS variables
   4964  * - position
   4965  * - dimensions
   4966  * - scroll position
   4967  * - event handlers
   4968  * - unbounded, active and disabled states
   4969  *
   4970  * Additionally, provides type information for the adapter to the Closure
   4971  * compiler.
   4972  *
   4973  * Implement this adapter for your framework of choice to delegate updates to
   4974  * the component in your framework of choice. See architecture documentation
   4975  * for more details.
   4976  * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md
   4977  *
   4978  * @record
   4979  */
   4980 var MDCRippleAdapter =
   4981 /*#__PURE__*/
   4982 function () {
   4983   function MDCRippleAdapter() {
   4984     _classCallCheck(this, MDCRippleAdapter);
   4985   }
   4986 
   4987   _createClass(MDCRippleAdapter, [{
   4988     key: "browserSupportsCssVars",
   4989 
   4990     /** @return {boolean} */
   4991     value: function browserSupportsCssVars() {}
   4992     /** @return {boolean} */
   4993 
   4994   }, {
   4995     key: "isUnbounded",
   4996     value: function isUnbounded() {}
   4997     /** @return {boolean} */
   4998 
   4999   }, {
   5000     key: "isSurfaceActive",
   5001     value: function isSurfaceActive() {}
   5002     /** @return {boolean} */
   5003 
   5004   }, {
   5005     key: "isSurfaceDisabled",
   5006     value: function isSurfaceDisabled() {}
   5007     /** @param {string} className */
   5008 
   5009   }, {
   5010     key: "addClass",
   5011     value: function addClass(className) {}
   5012     /** @param {string} className */
   5013 
   5014   }, {
   5015     key: "removeClass",
   5016     value: function removeClass(className) {}
   5017     /** @param {!EventTarget} target */
   5018 
   5019   }, {
   5020     key: "containsEventTarget",
   5021     value: function containsEventTarget(target) {}
   5022     /**
   5023      * @param {string} evtType
   5024      * @param {!Function} handler
   5025      */
   5026 
   5027   }, {
   5028     key: "registerInteractionHandler",
   5029     value: function registerInteractionHandler(evtType, handler) {}
   5030     /**
   5031      * @param {string} evtType
   5032      * @param {!Function} handler
   5033      */
   5034 
   5035   }, {
   5036     key: "deregisterInteractionHandler",
   5037     value: function deregisterInteractionHandler(evtType, handler) {}
   5038     /**
   5039      * @param {string} evtType
   5040      * @param {!Function} handler
   5041      */
   5042 
   5043   }, {
   5044     key: "registerDocumentInteractionHandler",
   5045     value: function registerDocumentInteractionHandler(evtType, handler) {}
   5046     /**
   5047      * @param {string} evtType
   5048      * @param {!Function} handler
   5049      */
   5050 
   5051   }, {
   5052     key: "deregisterDocumentInteractionHandler",
   5053     value: function deregisterDocumentInteractionHandler(evtType, handler) {}
   5054     /**
   5055      * @param {!Function} handler
   5056      */
   5057 
   5058   }, {
   5059     key: "registerResizeHandler",
   5060     value: function registerResizeHandler(handler) {}
   5061     /**
   5062      * @param {!Function} handler
   5063      */
   5064 
   5065   }, {
   5066     key: "deregisterResizeHandler",
   5067     value: function deregisterResizeHandler(handler) {}
   5068     /**
   5069      * @param {string} varName
   5070      * @param {?number|string} value
   5071      */
   5072 
   5073   }, {
   5074     key: "updateCssVariable",
   5075     value: function updateCssVariable(varName, value) {}
   5076     /** @return {!ClientRect} */
   5077 
   5078   }, {
   5079     key: "computeBoundingRect",
   5080     value: function computeBoundingRect() {}
   5081     /** @return {{x: number, y: number}} */
   5082 
   5083   }, {
   5084     key: "getWindowPageOffset",
   5085     value: function getWindowPageOffset() {}
   5086   }]);
   5087 
   5088   return MDCRippleAdapter;
   5089 }();
   5090 
   5091 /* harmony default export */ __webpack_exports__["default"] = (MDCRippleAdapter);
   5092 
   5093 /***/ }),
   5094 
   5095 /***/ "./node_modules/@material/ripple/constants.js":
   5096 /*!****************************************************!*\
   5097   !*** ./node_modules/@material/ripple/constants.js ***!
   5098   \****************************************************/
   5099 /*! exports provided: cssClasses, strings, numbers */
   5100 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   5101 
   5102 "use strict";
   5103 __webpack_require__.r(__webpack_exports__);
   5104 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; });
   5105 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return strings; });
   5106 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "numbers", function() { return numbers; });
   5107 /**
   5108  * @license
   5109  * Copyright 2016 Google Inc. All Rights Reserved.
   5110  *
   5111  * Licensed under the Apache License, Version 2.0 (the "License");
   5112  * you may not use this file except in compliance with the License.
   5113  * You may obtain a copy of the License at
   5114  *
   5115  *      http://www.apache.org/licenses/LICENSE-2.0
   5116  *
   5117  * Unless required by applicable law or agreed to in writing, software
   5118  * distributed under the License is distributed on an "AS IS" BASIS,
   5119  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   5120  * See the License for the specific language governing permissions and
   5121  * limitations under the License.
   5122  */
   5123 var cssClasses = {
   5124   // Ripple is a special case where the "root" component is really a "mixin" of sorts,
   5125   // given that it's an 'upgrade' to an existing component. That being said it is the root
   5126   // CSS class that all other CSS classes derive from.
   5127   ROOT: 'mdc-ripple-upgraded',
   5128   UNBOUNDED: 'mdc-ripple-upgraded--unbounded',
   5129   BG_FOCUSED: 'mdc-ripple-upgraded--background-focused',
   5130   FG_ACTIVATION: 'mdc-ripple-upgraded--foreground-activation',
   5131   FG_DEACTIVATION: 'mdc-ripple-upgraded--foreground-deactivation'
   5132 };
   5133 var strings = {
   5134   VAR_LEFT: '--mdc-ripple-left',
   5135   VAR_TOP: '--mdc-ripple-top',
   5136   VAR_FG_SIZE: '--mdc-ripple-fg-size',
   5137   VAR_FG_SCALE: '--mdc-ripple-fg-scale',
   5138   VAR_FG_TRANSLATE_START: '--mdc-ripple-fg-translate-start',
   5139   VAR_FG_TRANSLATE_END: '--mdc-ripple-fg-translate-end'
   5140 };
   5141 var numbers = {
   5142   PADDING: 10,
   5143   INITIAL_ORIGIN_SCALE: 0.6,
   5144   DEACTIVATION_TIMEOUT_MS: 225,
   5145   // Corresponds to $mdc-ripple-translate-duration (i.e. activation animation duration)
   5146   FG_DEACTIVATION_MS: 150,
   5147   // Corresponds to $mdc-ripple-fade-out-duration (i.e. deactivation animation duration)
   5148   TAP_DELAY_MS: 300 // Delay between touch and simulated mouse events on touch devices
   5149 
   5150 };
   5151 
   5152 
   5153 /***/ }),
   5154 
   5155 /***/ "./node_modules/@material/ripple/foundation.js":
   5156 /*!*****************************************************!*\
   5157   !*** ./node_modules/@material/ripple/foundation.js ***!
   5158   \*****************************************************/
   5159 /*! exports provided: default */
   5160 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   5161 
   5162 "use strict";
   5163 __webpack_require__.r(__webpack_exports__);
   5164 /* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/@material/base/foundation.js");
   5165 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/ripple/adapter.js");
   5166 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/ripple/constants.js");
   5167 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util */ "./node_modules/@material/ripple/util.js");
   5168 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   5169 
   5170 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   5171 
   5172 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   5173 
   5174 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   5175 
   5176 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   5177 
   5178 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); } }
   5179 
   5180 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   5181 
   5182 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   5183 
   5184 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   5185 
   5186 /**
   5187  * @license
   5188  * Copyright 2016 Google Inc. All Rights Reserved.
   5189  *
   5190  * Licensed under the Apache License, Version 2.0 (the "License");
   5191  * you may not use this file except in compliance with the License.
   5192  * You may obtain a copy of the License at
   5193  *
   5194  *      http://www.apache.org/licenses/LICENSE-2.0
   5195  *
   5196  * Unless required by applicable law or agreed to in writing, software
   5197  * distributed under the License is distributed on an "AS IS" BASIS,
   5198  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   5199  * See the License for the specific language governing permissions and
   5200  * limitations under the License.
   5201  */
   5202 
   5203 
   5204 
   5205 
   5206 /**
   5207  * @typedef {{
   5208  *   isActivated: (boolean|undefined),
   5209  *   hasDeactivationUXRun: (boolean|undefined),
   5210  *   wasActivatedByPointer: (boolean|undefined),
   5211  *   wasElementMadeActive: (boolean|undefined),
   5212  *   activationEvent: Event,
   5213  *   isProgrammatic: (boolean|undefined)
   5214  * }}
   5215  */
   5216 
   5217 var ActivationStateType;
   5218 /**
   5219  * @typedef {{
   5220  *   activate: (string|undefined),
   5221  *   deactivate: (string|undefined),
   5222  *   focus: (string|undefined),
   5223  *   blur: (string|undefined)
   5224  * }}
   5225  */
   5226 
   5227 var ListenerInfoType;
   5228 /**
   5229  * @typedef {{
   5230  *   activate: function(!Event),
   5231  *   deactivate: function(!Event),
   5232  *   focus: function(),
   5233  *   blur: function()
   5234  * }}
   5235  */
   5236 
   5237 var ListenersType;
   5238 /**
   5239  * @typedef {{
   5240  *   x: number,
   5241  *   y: number
   5242  * }}
   5243  */
   5244 
   5245 var PointType; // Activation events registered on the root element of each instance for activation
   5246 
   5247 var ACTIVATION_EVENT_TYPES = ['touchstart', 'pointerdown', 'mousedown', 'keydown']; // Deactivation events registered on documentElement when a pointer-related down event occurs
   5248 
   5249 var POINTER_DEACTIVATION_EVENT_TYPES = ['touchend', 'pointerup', 'mouseup']; // Tracks activations that have occurred on the current frame, to avoid simultaneous nested activations
   5250 
   5251 /** @type {!Array<!EventTarget>} */
   5252 
   5253 var activatedTargets = [];
   5254 /**
   5255  * @extends {MDCFoundation<!MDCRippleAdapter>}
   5256  */
   5257 
   5258 var MDCRippleFoundation =
   5259 /*#__PURE__*/
   5260 function (_MDCFoundation) {
   5261   _inherits(MDCRippleFoundation, _MDCFoundation);
   5262 
   5263   _createClass(MDCRippleFoundation, null, [{
   5264     key: "cssClasses",
   5265     get: function get() {
   5266       return _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"];
   5267     }
   5268   }, {
   5269     key: "strings",
   5270     get: function get() {
   5271       return _constants__WEBPACK_IMPORTED_MODULE_2__["strings"];
   5272     }
   5273   }, {
   5274     key: "numbers",
   5275     get: function get() {
   5276       return _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"];
   5277     }
   5278   }, {
   5279     key: "defaultAdapter",
   5280     get: function get() {
   5281       return {
   5282         browserSupportsCssVars: function browserSupportsCssVars()
   5283         /* boolean - cached */
   5284         {},
   5285         isUnbounded: function isUnbounded()
   5286         /* boolean */
   5287         {},
   5288         isSurfaceActive: function isSurfaceActive()
   5289         /* boolean */
   5290         {},
   5291         isSurfaceDisabled: function isSurfaceDisabled()
   5292         /* boolean */
   5293         {},
   5294         addClass: function addClass()
   5295         /* className: string */
   5296         {},
   5297         removeClass: function removeClass()
   5298         /* className: string */
   5299         {},
   5300         containsEventTarget: function containsEventTarget()
   5301         /* target: !EventTarget */
   5302         {},
   5303         registerInteractionHandler: function registerInteractionHandler()
   5304         /* evtType: string, handler: EventListener */
   5305         {},
   5306         deregisterInteractionHandler: function deregisterInteractionHandler()
   5307         /* evtType: string, handler: EventListener */
   5308         {},
   5309         registerDocumentInteractionHandler: function registerDocumentInteractionHandler()
   5310         /* evtType: string, handler: EventListener */
   5311         {},
   5312         deregisterDocumentInteractionHandler: function deregisterDocumentInteractionHandler()
   5313         /* evtType: string, handler: EventListener */
   5314         {},
   5315         registerResizeHandler: function registerResizeHandler()
   5316         /* handler: EventListener */
   5317         {},
   5318         deregisterResizeHandler: function deregisterResizeHandler()
   5319         /* handler: EventListener */
   5320         {},
   5321         updateCssVariable: function updateCssVariable()
   5322         /* varName: string, value: string */
   5323         {},
   5324         computeBoundingRect: function computeBoundingRect()
   5325         /* ClientRect */
   5326         {},
   5327         getWindowPageOffset: function getWindowPageOffset()
   5328         /* {x: number, y: number} */
   5329         {}
   5330       };
   5331     }
   5332   }]);
   5333 
   5334   function MDCRippleFoundation(adapter) {
   5335     var _this;
   5336 
   5337     _classCallCheck(this, MDCRippleFoundation);
   5338 
   5339     _this = _possibleConstructorReturn(this, _getPrototypeOf(MDCRippleFoundation).call(this, Object.assign(MDCRippleFoundation.defaultAdapter, adapter)));
   5340     /** @private {number} */
   5341 
   5342     _this.layoutFrame_ = 0;
   5343     /** @private {!ClientRect} */
   5344 
   5345     _this.frame_ =
   5346     /** @type {!ClientRect} */
   5347     {
   5348       width: 0,
   5349       height: 0
   5350     };
   5351     /** @private {!ActivationStateType} */
   5352 
   5353     _this.activationState_ = _this.defaultActivationState_();
   5354     /** @private {number} */
   5355 
   5356     _this.initialSize_ = 0;
   5357     /** @private {number} */
   5358 
   5359     _this.maxRadius_ = 0;
   5360     /** @private {function(!Event)} */
   5361 
   5362     _this.activateHandler_ = function (e) {
   5363       return _this.activate_(e);
   5364     };
   5365     /** @private {function(!Event)} */
   5366 
   5367 
   5368     _this.deactivateHandler_ = function (e) {
   5369       return _this.deactivate_(e);
   5370     };
   5371     /** @private {function(?Event=)} */
   5372 
   5373 
   5374     _this.focusHandler_ = function () {
   5375       return requestAnimationFrame(function () {
   5376         return _this.adapter_.addClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);
   5377       });
   5378     };
   5379     /** @private {function(?Event=)} */
   5380 
   5381 
   5382     _this.blurHandler_ = function () {
   5383       return requestAnimationFrame(function () {
   5384         return _this.adapter_.removeClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);
   5385       });
   5386     };
   5387     /** @private {!Function} */
   5388 
   5389 
   5390     _this.resizeHandler_ = function () {
   5391       return _this.layout();
   5392     };
   5393     /** @private {{left: number, top:number}} */
   5394 
   5395 
   5396     _this.unboundedCoords_ = {
   5397       left: 0,
   5398       top: 0
   5399     };
   5400     /** @private {number} */
   5401 
   5402     _this.fgScale_ = 0;
   5403     /** @private {number} */
   5404 
   5405     _this.activationTimer_ = 0;
   5406     /** @private {number} */
   5407 
   5408     _this.fgDeactivationRemovalTimer_ = 0;
   5409     /** @private {boolean} */
   5410 
   5411     _this.activationAnimationHasEnded_ = false;
   5412     /** @private {!Function} */
   5413 
   5414     _this.activationTimerCallback_ = function () {
   5415       _this.activationAnimationHasEnded_ = true;
   5416 
   5417       _this.runDeactivationUXLogicIfReady_();
   5418     };
   5419     /** @private {?Event} */
   5420 
   5421 
   5422     _this.previousActivationEvent_ = null;
   5423     return _this;
   5424   }
   5425   /**
   5426    * We compute this property so that we are not querying information about the client
   5427    * until the point in time where the foundation requests it. This prevents scenarios where
   5428    * client-side feature-detection may happen too early, such as when components are rendered on the server
   5429    * and then initialized at mount time on the client.
   5430    * @return {boolean}
   5431    * @private
   5432    */
   5433 
   5434 
   5435   _createClass(MDCRippleFoundation, [{
   5436     key: "isSupported_",
   5437     value: function isSupported_() {
   5438       return this.adapter_.browserSupportsCssVars();
   5439     }
   5440     /**
   5441      * @return {!ActivationStateType}
   5442      */
   5443 
   5444   }, {
   5445     key: "defaultActivationState_",
   5446     value: function defaultActivationState_() {
   5447       return {
   5448         isActivated: false,
   5449         hasDeactivationUXRun: false,
   5450         wasActivatedByPointer: false,
   5451         wasElementMadeActive: false,
   5452         activationEvent: null,
   5453         isProgrammatic: false
   5454       };
   5455     }
   5456   }, {
   5457     key: "init",
   5458     value: function init() {
   5459       var _this2 = this;
   5460 
   5461       if (!this.isSupported_()) {
   5462         return;
   5463       }
   5464 
   5465       this.registerRootHandlers_();
   5466       var _MDCRippleFoundation$ = MDCRippleFoundation.cssClasses,
   5467           ROOT = _MDCRippleFoundation$.ROOT,
   5468           UNBOUNDED = _MDCRippleFoundation$.UNBOUNDED;
   5469       requestAnimationFrame(function () {
   5470         _this2.adapter_.addClass(ROOT);
   5471 
   5472         if (_this2.adapter_.isUnbounded()) {
   5473           _this2.adapter_.addClass(UNBOUNDED); // Unbounded ripples need layout logic applied immediately to set coordinates for both shade and ripple
   5474 
   5475 
   5476           _this2.layoutInternal_();
   5477         }
   5478       });
   5479     }
   5480   }, {
   5481     key: "destroy",
   5482     value: function destroy() {
   5483       var _this3 = this;
   5484 
   5485       if (!this.isSupported_()) {
   5486         return;
   5487       }
   5488 
   5489       if (this.activationTimer_) {
   5490         clearTimeout(this.activationTimer_);
   5491         this.activationTimer_ = 0;
   5492         var FG_ACTIVATION = MDCRippleFoundation.cssClasses.FG_ACTIVATION;
   5493         this.adapter_.removeClass(FG_ACTIVATION);
   5494       }
   5495 
   5496       this.deregisterRootHandlers_();
   5497       this.deregisterDeactivationHandlers_();
   5498       var _MDCRippleFoundation$2 = MDCRippleFoundation.cssClasses,
   5499           ROOT = _MDCRippleFoundation$2.ROOT,
   5500           UNBOUNDED = _MDCRippleFoundation$2.UNBOUNDED;
   5501       requestAnimationFrame(function () {
   5502         _this3.adapter_.removeClass(ROOT);
   5503 
   5504         _this3.adapter_.removeClass(UNBOUNDED);
   5505 
   5506         _this3.removeCssVars_();
   5507       });
   5508     }
   5509     /** @private */
   5510 
   5511   }, {
   5512     key: "registerRootHandlers_",
   5513     value: function registerRootHandlers_() {
   5514       var _this4 = this;
   5515 
   5516       ACTIVATION_EVENT_TYPES.forEach(function (type) {
   5517         _this4.adapter_.registerInteractionHandler(type, _this4.activateHandler_);
   5518       });
   5519       this.adapter_.registerInteractionHandler('focus', this.focusHandler_);
   5520       this.adapter_.registerInteractionHandler('blur', this.blurHandler_);
   5521 
   5522       if (this.adapter_.isUnbounded()) {
   5523         this.adapter_.registerResizeHandler(this.resizeHandler_);
   5524       }
   5525     }
   5526     /**
   5527      * @param {!Event} e
   5528      * @private
   5529      */
   5530 
   5531   }, {
   5532     key: "registerDeactivationHandlers_",
   5533     value: function registerDeactivationHandlers_(e) {
   5534       var _this5 = this;
   5535 
   5536       if (e.type === 'keydown') {
   5537         this.adapter_.registerInteractionHandler('keyup', this.deactivateHandler_);
   5538       } else {
   5539         POINTER_DEACTIVATION_EVENT_TYPES.forEach(function (type) {
   5540           _this5.adapter_.registerDocumentInteractionHandler(type, _this5.deactivateHandler_);
   5541         });
   5542       }
   5543     }
   5544     /** @private */
   5545 
   5546   }, {
   5547     key: "deregisterRootHandlers_",
   5548     value: function deregisterRootHandlers_() {
   5549       var _this6 = this;
   5550 
   5551       ACTIVATION_EVENT_TYPES.forEach(function (type) {
   5552         _this6.adapter_.deregisterInteractionHandler(type, _this6.activateHandler_);
   5553       });
   5554       this.adapter_.deregisterInteractionHandler('focus', this.focusHandler_);
   5555       this.adapter_.deregisterInteractionHandler('blur', this.blurHandler_);
   5556 
   5557       if (this.adapter_.isUnbounded()) {
   5558         this.adapter_.deregisterResizeHandler(this.resizeHandler_);
   5559       }
   5560     }
   5561     /** @private */
   5562 
   5563   }, {
   5564     key: "deregisterDeactivationHandlers_",
   5565     value: function deregisterDeactivationHandlers_() {
   5566       var _this7 = this;
   5567 
   5568       this.adapter_.deregisterInteractionHandler('keyup', this.deactivateHandler_);
   5569       POINTER_DEACTIVATION_EVENT_TYPES.forEach(function (type) {
   5570         _this7.adapter_.deregisterDocumentInteractionHandler(type, _this7.deactivateHandler_);
   5571       });
   5572     }
   5573     /** @private */
   5574 
   5575   }, {
   5576     key: "removeCssVars_",
   5577     value: function removeCssVars_() {
   5578       var _this8 = this;
   5579 
   5580       var strings = MDCRippleFoundation.strings;
   5581       Object.keys(strings).forEach(function (k) {
   5582         if (k.indexOf('VAR_') === 0) {
   5583           _this8.adapter_.updateCssVariable(strings[k], null);
   5584         }
   5585       });
   5586     }
   5587     /**
   5588      * @param {?Event} e
   5589      * @private
   5590      */
   5591 
   5592   }, {
   5593     key: "activate_",
   5594     value: function activate_(e) {
   5595       var _this9 = this;
   5596 
   5597       if (this.adapter_.isSurfaceDisabled()) {
   5598         return;
   5599       }
   5600 
   5601       var activationState = this.activationState_;
   5602 
   5603       if (activationState.isActivated) {
   5604         return;
   5605       } // Avoid reacting to follow-on events fired by touch device after an already-processed user interaction
   5606 
   5607 
   5608       var previousActivationEvent = this.previousActivationEvent_;
   5609       var isSameInteraction = previousActivationEvent && e && previousActivationEvent.type !== e.type;
   5610 
   5611       if (isSameInteraction) {
   5612         return;
   5613       }
   5614 
   5615       activationState.isActivated = true;
   5616       activationState.isProgrammatic = e === null;
   5617       activationState.activationEvent = e;
   5618       activationState.wasActivatedByPointer = activationState.isProgrammatic ? false : e.type === 'mousedown' || e.type === 'touchstart' || e.type === 'pointerdown';
   5619       var hasActivatedChild = e && activatedTargets.length > 0 && activatedTargets.some(function (target) {
   5620         return _this9.adapter_.containsEventTarget(target);
   5621       });
   5622 
   5623       if (hasActivatedChild) {
   5624         // Immediately reset activation state, while preserving logic that prevents touch follow-on events
   5625         this.resetActivationState_();
   5626         return;
   5627       }
   5628 
   5629       if (e) {
   5630         activatedTargets.push(
   5631         /** @type {!EventTarget} */
   5632         e.target);
   5633         this.registerDeactivationHandlers_(e);
   5634       }
   5635 
   5636       activationState.wasElementMadeActive = this.checkElementMadeActive_(e);
   5637 
   5638       if (activationState.wasElementMadeActive) {
   5639         this.animateActivation_();
   5640       }
   5641 
   5642       requestAnimationFrame(function () {
   5643         // Reset array on next frame after the current event has had a chance to bubble to prevent ancestor ripples
   5644         activatedTargets = [];
   5645 
   5646         if (!activationState.wasElementMadeActive && (e.key === ' ' || e.keyCode === 32)) {
   5647           // If space was pressed, try again within an rAF call to detect :active, because different UAs report
   5648           // active states inconsistently when they're called within event handling code:
   5649           // - https://bugs.chromium.org/p/chromium/issues/detail?id=635971
   5650           // - https://bugzilla.mozilla.org/show_bug.cgi?id=1293741
   5651           // We try first outside rAF to support Edge, which does not exhibit this problem, but will crash if a CSS
   5652           // variable is set within a rAF callback for a submit button interaction (#2241).
   5653           activationState.wasElementMadeActive = _this9.checkElementMadeActive_(e);
   5654 
   5655           if (activationState.wasElementMadeActive) {
   5656             _this9.animateActivation_();
   5657           }
   5658         }
   5659 
   5660         if (!activationState.wasElementMadeActive) {
   5661           // Reset activation state immediately if element was not made active.
   5662           _this9.activationState_ = _this9.defaultActivationState_();
   5663         }
   5664       });
   5665     }
   5666     /**
   5667      * @param {?Event} e
   5668      * @private
   5669      */
   5670 
   5671   }, {
   5672     key: "checkElementMadeActive_",
   5673     value: function checkElementMadeActive_(e) {
   5674       return e && e.type === 'keydown' ? this.adapter_.isSurfaceActive() : true;
   5675     }
   5676     /**
   5677      * @param {?Event=} event Optional event containing position information.
   5678      */
   5679 
   5680   }, {
   5681     key: "activate",
   5682     value: function activate() {
   5683       var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
   5684       this.activate_(event);
   5685     }
   5686     /** @private */
   5687 
   5688   }, {
   5689     key: "animateActivation_",
   5690     value: function animateActivation_() {
   5691       var _this10 = this;
   5692 
   5693       var _MDCRippleFoundation$3 = MDCRippleFoundation.strings,
   5694           VAR_FG_TRANSLATE_START = _MDCRippleFoundation$3.VAR_FG_TRANSLATE_START,
   5695           VAR_FG_TRANSLATE_END = _MDCRippleFoundation$3.VAR_FG_TRANSLATE_END;
   5696       var _MDCRippleFoundation$4 = MDCRippleFoundation.cssClasses,
   5697           FG_DEACTIVATION = _MDCRippleFoundation$4.FG_DEACTIVATION,
   5698           FG_ACTIVATION = _MDCRippleFoundation$4.FG_ACTIVATION;
   5699       var DEACTIVATION_TIMEOUT_MS = MDCRippleFoundation.numbers.DEACTIVATION_TIMEOUT_MS;
   5700       this.layoutInternal_();
   5701       var translateStart = '';
   5702       var translateEnd = '';
   5703 
   5704       if (!this.adapter_.isUnbounded()) {
   5705         var _this$getFgTranslatio = this.getFgTranslationCoordinates_(),
   5706             startPoint = _this$getFgTranslatio.startPoint,
   5707             endPoint = _this$getFgTranslatio.endPoint;
   5708 
   5709         translateStart = "".concat(startPoint.x, "px, ").concat(startPoint.y, "px");
   5710         translateEnd = "".concat(endPoint.x, "px, ").concat(endPoint.y, "px");
   5711       }
   5712 
   5713       this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_START, translateStart);
   5714       this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_END, translateEnd); // Cancel any ongoing activation/deactivation animations
   5715 
   5716       clearTimeout(this.activationTimer_);
   5717       clearTimeout(this.fgDeactivationRemovalTimer_);
   5718       this.rmBoundedActivationClasses_();
   5719       this.adapter_.removeClass(FG_DEACTIVATION); // Force layout in order to re-trigger the animation.
   5720 
   5721       this.adapter_.computeBoundingRect();
   5722       this.adapter_.addClass(FG_ACTIVATION);
   5723       this.activationTimer_ = setTimeout(function () {
   5724         return _this10.activationTimerCallback_();
   5725       }, DEACTIVATION_TIMEOUT_MS);
   5726     }
   5727     /**
   5728      * @private
   5729      * @return {{startPoint: PointType, endPoint: PointType}}
   5730      */
   5731 
   5732   }, {
   5733     key: "getFgTranslationCoordinates_",
   5734     value: function getFgTranslationCoordinates_() {
   5735       var _this$activationState = this.activationState_,
   5736           activationEvent = _this$activationState.activationEvent,
   5737           wasActivatedByPointer = _this$activationState.wasActivatedByPointer;
   5738       var startPoint;
   5739 
   5740       if (wasActivatedByPointer) {
   5741         startPoint = Object(_util__WEBPACK_IMPORTED_MODULE_3__["getNormalizedEventCoords"])(
   5742         /** @type {!Event} */
   5743         activationEvent, this.adapter_.getWindowPageOffset(), this.adapter_.computeBoundingRect());
   5744       } else {
   5745         startPoint = {
   5746           x: this.frame_.width / 2,
   5747           y: this.frame_.height / 2
   5748         };
   5749       } // Center the element around the start point.
   5750 
   5751 
   5752       startPoint = {
   5753         x: startPoint.x - this.initialSize_ / 2,
   5754         y: startPoint.y - this.initialSize_ / 2
   5755       };
   5756       var endPoint = {
   5757         x: this.frame_.width / 2 - this.initialSize_ / 2,
   5758         y: this.frame_.height / 2 - this.initialSize_ / 2
   5759       };
   5760       return {
   5761         startPoint: startPoint,
   5762         endPoint: endPoint
   5763       };
   5764     }
   5765     /** @private */
   5766 
   5767   }, {
   5768     key: "runDeactivationUXLogicIfReady_",
   5769     value: function runDeactivationUXLogicIfReady_() {
   5770       var _this11 = this;
   5771 
   5772       // This method is called both when a pointing device is released, and when the activation animation ends.
   5773       // The deactivation animation should only run after both of those occur.
   5774       var FG_DEACTIVATION = MDCRippleFoundation.cssClasses.FG_DEACTIVATION;
   5775       var _this$activationState2 = this.activationState_,
   5776           hasDeactivationUXRun = _this$activationState2.hasDeactivationUXRun,
   5777           isActivated = _this$activationState2.isActivated;
   5778       var activationHasEnded = hasDeactivationUXRun || !isActivated;
   5779 
   5780       if (activationHasEnded && this.activationAnimationHasEnded_) {
   5781         this.rmBoundedActivationClasses_();
   5782         this.adapter_.addClass(FG_DEACTIVATION);
   5783         this.fgDeactivationRemovalTimer_ = setTimeout(function () {
   5784           _this11.adapter_.removeClass(FG_DEACTIVATION);
   5785         }, _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].FG_DEACTIVATION_MS);
   5786       }
   5787     }
   5788     /** @private */
   5789 
   5790   }, {
   5791     key: "rmBoundedActivationClasses_",
   5792     value: function rmBoundedActivationClasses_() {
   5793       var FG_ACTIVATION = MDCRippleFoundation.cssClasses.FG_ACTIVATION;
   5794       this.adapter_.removeClass(FG_ACTIVATION);
   5795       this.activationAnimationHasEnded_ = false;
   5796       this.adapter_.computeBoundingRect();
   5797     }
   5798   }, {
   5799     key: "resetActivationState_",
   5800     value: function resetActivationState_() {
   5801       var _this12 = this;
   5802 
   5803       this.previousActivationEvent_ = this.activationState_.activationEvent;
   5804       this.activationState_ = this.defaultActivationState_(); // Touch devices may fire additional events for the same interaction within a short time.
   5805       // Store the previous event until it's safe to assume that subsequent events are for new interactions.
   5806 
   5807       setTimeout(function () {
   5808         return _this12.previousActivationEvent_ = null;
   5809       }, MDCRippleFoundation.numbers.TAP_DELAY_MS);
   5810     }
   5811     /**
   5812      * @param {?Event} e
   5813      * @private
   5814      */
   5815 
   5816   }, {
   5817     key: "deactivate_",
   5818     value: function deactivate_(e) {
   5819       var _this13 = this;
   5820 
   5821       var activationState = this.activationState_; // This can happen in scenarios such as when you have a keyup event that blurs the element.
   5822 
   5823       if (!activationState.isActivated) {
   5824         return;
   5825       }
   5826 
   5827       var state =
   5828       /** @type {!ActivationStateType} */
   5829       Object.assign({}, activationState);
   5830 
   5831       if (activationState.isProgrammatic) {
   5832         var evtObject = null;
   5833         requestAnimationFrame(function () {
   5834           return _this13.animateDeactivation_(evtObject, state);
   5835         });
   5836         this.resetActivationState_();
   5837       } else {
   5838         this.deregisterDeactivationHandlers_();
   5839         requestAnimationFrame(function () {
   5840           _this13.activationState_.hasDeactivationUXRun = true;
   5841 
   5842           _this13.animateDeactivation_(e, state);
   5843 
   5844           _this13.resetActivationState_();
   5845         });
   5846       }
   5847     }
   5848     /**
   5849      * @param {?Event=} event Optional event containing position information.
   5850      */
   5851 
   5852   }, {
   5853     key: "deactivate",
   5854     value: function deactivate() {
   5855       var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
   5856       this.deactivate_(event);
   5857     }
   5858     /**
   5859      * @param {Event} e
   5860      * @param {!ActivationStateType} options
   5861      * @private
   5862      */
   5863 
   5864   }, {
   5865     key: "animateDeactivation_",
   5866     value: function animateDeactivation_(e, _ref) {
   5867       var wasActivatedByPointer = _ref.wasActivatedByPointer,
   5868           wasElementMadeActive = _ref.wasElementMadeActive;
   5869 
   5870       if (wasActivatedByPointer || wasElementMadeActive) {
   5871         this.runDeactivationUXLogicIfReady_();
   5872       }
   5873     }
   5874   }, {
   5875     key: "layout",
   5876     value: function layout() {
   5877       var _this14 = this;
   5878 
   5879       if (this.layoutFrame_) {
   5880         cancelAnimationFrame(this.layoutFrame_);
   5881       }
   5882 
   5883       this.layoutFrame_ = requestAnimationFrame(function () {
   5884         _this14.layoutInternal_();
   5885 
   5886         _this14.layoutFrame_ = 0;
   5887       });
   5888     }
   5889     /** @private */
   5890 
   5891   }, {
   5892     key: "layoutInternal_",
   5893     value: function layoutInternal_() {
   5894       var _this15 = this;
   5895 
   5896       this.frame_ = this.adapter_.computeBoundingRect();
   5897       var maxDim = Math.max(this.frame_.height, this.frame_.width); // Surface diameter is treated differently for unbounded vs. bounded ripples.
   5898       // Unbounded ripple diameter is calculated smaller since the surface is expected to already be padded appropriately
   5899       // to extend the hitbox, and the ripple is expected to meet the edges of the padded hitbox (which is typically
   5900       // square). Bounded ripples, on the other hand, are fully expected to expand beyond the surface's longest diameter
   5901       // (calculated based on the diagonal plus a constant padding), and are clipped at the surface's border via
   5902       // `overflow: hidden`.
   5903 
   5904       var getBoundedRadius = function getBoundedRadius() {
   5905         var hypotenuse = Math.sqrt(Math.pow(_this15.frame_.width, 2) + Math.pow(_this15.frame_.height, 2));
   5906         return hypotenuse + MDCRippleFoundation.numbers.PADDING;
   5907       };
   5908 
   5909       this.maxRadius_ = this.adapter_.isUnbounded() ? maxDim : getBoundedRadius(); // Ripple is sized as a fraction of the largest dimension of the surface, then scales up using a CSS scale transform
   5910 
   5911       this.initialSize_ = maxDim * MDCRippleFoundation.numbers.INITIAL_ORIGIN_SCALE;
   5912       this.fgScale_ = this.maxRadius_ / this.initialSize_;
   5913       this.updateLayoutCssVars_();
   5914     }
   5915     /** @private */
   5916 
   5917   }, {
   5918     key: "updateLayoutCssVars_",
   5919     value: function updateLayoutCssVars_() {
   5920       var _MDCRippleFoundation$5 = MDCRippleFoundation.strings,
   5921           VAR_FG_SIZE = _MDCRippleFoundation$5.VAR_FG_SIZE,
   5922           VAR_LEFT = _MDCRippleFoundation$5.VAR_LEFT,
   5923           VAR_TOP = _MDCRippleFoundation$5.VAR_TOP,
   5924           VAR_FG_SCALE = _MDCRippleFoundation$5.VAR_FG_SCALE;
   5925       this.adapter_.updateCssVariable(VAR_FG_SIZE, "".concat(this.initialSize_, "px"));
   5926       this.adapter_.updateCssVariable(VAR_FG_SCALE, this.fgScale_);
   5927 
   5928       if (this.adapter_.isUnbounded()) {
   5929         this.unboundedCoords_ = {
   5930           left: Math.round(this.frame_.width / 2 - this.initialSize_ / 2),
   5931           top: Math.round(this.frame_.height / 2 - this.initialSize_ / 2)
   5932         };
   5933         this.adapter_.updateCssVariable(VAR_LEFT, "".concat(this.unboundedCoords_.left, "px"));
   5934         this.adapter_.updateCssVariable(VAR_TOP, "".concat(this.unboundedCoords_.top, "px"));
   5935       }
   5936     }
   5937     /** @param {boolean} unbounded */
   5938 
   5939   }, {
   5940     key: "setUnbounded",
   5941     value: function setUnbounded(unbounded) {
   5942       var UNBOUNDED = MDCRippleFoundation.cssClasses.UNBOUNDED;
   5943 
   5944       if (unbounded) {
   5945         this.adapter_.addClass(UNBOUNDED);
   5946       } else {
   5947         this.adapter_.removeClass(UNBOUNDED);
   5948       }
   5949     }
   5950   }]);
   5951 
   5952   return MDCRippleFoundation;
   5953 }(_material_base_foundation__WEBPACK_IMPORTED_MODULE_0__["default"]);
   5954 
   5955 /* harmony default export */ __webpack_exports__["default"] = (MDCRippleFoundation);
   5956 
   5957 /***/ }),
   5958 
   5959 /***/ "./node_modules/@material/ripple/index.js":
   5960 /*!************************************************!*\
   5961   !*** ./node_modules/@material/ripple/index.js ***!
   5962   \************************************************/
   5963 /*! exports provided: MDCRipple, MDCRippleFoundation, RippleCapableSurface, util */
   5964 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   5965 
   5966 "use strict";
   5967 __webpack_require__.r(__webpack_exports__);
   5968 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCRipple", function() { return MDCRipple; });
   5969 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RippleCapableSurface", function() { return RippleCapableSurface; });
   5970 /* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/component */ "./node_modules/@material/base/component.js");
   5971 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/ripple/adapter.js");
   5972 /* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation */ "./node_modules/@material/ripple/foundation.js");
   5973 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCRippleFoundation", function() { return _foundation__WEBPACK_IMPORTED_MODULE_2__["default"]; });
   5974 
   5975 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util */ "./node_modules/@material/ripple/util.js");
   5976 /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "util", function() { return _util__WEBPACK_IMPORTED_MODULE_3__; });
   5977 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   5978 
   5979 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   5980 
   5981 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); } }
   5982 
   5983 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   5984 
   5985 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   5986 
   5987 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   5988 
   5989 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   5990 
   5991 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   5992 
   5993 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   5994 
   5995 /**
   5996  * @license
   5997  * Copyright 2016 Google Inc. All Rights Reserved.
   5998  *
   5999  * Licensed under the Apache License, Version 2.0 (the "License");
   6000  * you may not use this file except in compliance with the License.
   6001  * You may obtain a copy of the License at
   6002  *
   6003  *      http://www.apache.org/licenses/LICENSE-2.0
   6004  *
   6005  * Unless required by applicable law or agreed to in writing, software
   6006  * distributed under the License is distributed on an "AS IS" BASIS,
   6007  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   6008  * See the License for the specific language governing permissions and
   6009  * limitations under the License.
   6010  */
   6011 
   6012 
   6013 
   6014 
   6015 /**
   6016  * @extends MDCComponent<!MDCRippleFoundation>
   6017  */
   6018 
   6019 var MDCRipple =
   6020 /*#__PURE__*/
   6021 function (_MDCComponent) {
   6022   _inherits(MDCRipple, _MDCComponent);
   6023 
   6024   /** @param {...?} args */
   6025   function MDCRipple() {
   6026     var _getPrototypeOf2;
   6027 
   6028     var _this;
   6029 
   6030     _classCallCheck(this, MDCRipple);
   6031 
   6032     for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
   6033       args[_key] = arguments[_key];
   6034     }
   6035 
   6036     _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(MDCRipple)).call.apply(_getPrototypeOf2, [this].concat(args)));
   6037     /** @type {boolean} */
   6038 
   6039     _this.disabled = false;
   6040     /** @private {boolean} */
   6041 
   6042     _this.unbounded_;
   6043     return _this;
   6044   }
   6045   /**
   6046    * @param {!Element} root
   6047    * @param {{isUnbounded: (boolean|undefined)}=} options
   6048    * @return {!MDCRipple}
   6049    */
   6050 
   6051 
   6052   _createClass(MDCRipple, [{
   6053     key: "setUnbounded_",
   6054 
   6055     /**
   6056      * Closure Compiler throws an access control error when directly accessing a
   6057      * protected or private property inside a getter/setter, like unbounded above.
   6058      * By accessing the protected property inside a method, we solve that problem.
   6059      * That's why this function exists.
   6060      * @private
   6061      */
   6062     value: function setUnbounded_() {
   6063       this.foundation_.setUnbounded(this.unbounded_);
   6064     }
   6065   }, {
   6066     key: "activate",
   6067     value: function activate() {
   6068       this.foundation_.activate();
   6069     }
   6070   }, {
   6071     key: "deactivate",
   6072     value: function deactivate() {
   6073       this.foundation_.deactivate();
   6074     }
   6075   }, {
   6076     key: "layout",
   6077     value: function layout() {
   6078       this.foundation_.layout();
   6079     }
   6080     /** @return {!MDCRippleFoundation} */
   6081 
   6082   }, {
   6083     key: "getDefaultFoundation",
   6084     value: function getDefaultFoundation() {
   6085       return new _foundation__WEBPACK_IMPORTED_MODULE_2__["default"](MDCRipple.createAdapter(this));
   6086     }
   6087   }, {
   6088     key: "initialSyncWithDOM",
   6089     value: function initialSyncWithDOM() {
   6090       this.unbounded = 'mdcRippleIsUnbounded' in this.root_.dataset;
   6091     }
   6092   }, {
   6093     key: "unbounded",
   6094 
   6095     /** @return {boolean} */
   6096     get: function get() {
   6097       return this.unbounded_;
   6098     }
   6099     /** @param {boolean} unbounded */
   6100     ,
   6101     set: function set(unbounded) {
   6102       this.unbounded_ = Boolean(unbounded);
   6103       this.setUnbounded_();
   6104     }
   6105   }], [{
   6106     key: "attachTo",
   6107     value: function attachTo(root) {
   6108       var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
   6109           _ref$isUnbounded = _ref.isUnbounded,
   6110           isUnbounded = _ref$isUnbounded === void 0 ? undefined : _ref$isUnbounded;
   6111 
   6112       var ripple = new MDCRipple(root); // Only override unbounded behavior if option is explicitly specified
   6113 
   6114       if (isUnbounded !== undefined) {
   6115         ripple.unbounded =
   6116         /** @type {boolean} */
   6117         isUnbounded;
   6118       }
   6119 
   6120       return ripple;
   6121     }
   6122     /**
   6123      * @param {!RippleCapableSurface} instance
   6124      * @return {!MDCRippleAdapter}
   6125      */
   6126 
   6127   }, {
   6128     key: "createAdapter",
   6129     value: function createAdapter(instance) {
   6130       var MATCHES = _util__WEBPACK_IMPORTED_MODULE_3__["getMatchesProperty"](HTMLElement.prototype);
   6131       return {
   6132         browserSupportsCssVars: function browserSupportsCssVars() {
   6133           return _util__WEBPACK_IMPORTED_MODULE_3__["supportsCssVariables"](window);
   6134         },
   6135         isUnbounded: function isUnbounded() {
   6136           return instance.unbounded;
   6137         },
   6138         isSurfaceActive: function isSurfaceActive() {
   6139           return instance.root_[MATCHES](':active');
   6140         },
   6141         isSurfaceDisabled: function isSurfaceDisabled() {
   6142           return instance.disabled;
   6143         },
   6144         addClass: function addClass(className) {
   6145           return instance.root_.classList.add(className);
   6146         },
   6147         removeClass: function removeClass(className) {
   6148           return instance.root_.classList.remove(className);
   6149         },
   6150         containsEventTarget: function containsEventTarget(target) {
   6151           return instance.root_.contains(target);
   6152         },
   6153         registerInteractionHandler: function registerInteractionHandler(evtType, handler) {
   6154           return instance.root_.addEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_3__["applyPassive"]());
   6155         },
   6156         deregisterInteractionHandler: function deregisterInteractionHandler(evtType, handler) {
   6157           return instance.root_.removeEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_3__["applyPassive"]());
   6158         },
   6159         registerDocumentInteractionHandler: function registerDocumentInteractionHandler(evtType, handler) {
   6160           return document.documentElement.addEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_3__["applyPassive"]());
   6161         },
   6162         deregisterDocumentInteractionHandler: function deregisterDocumentInteractionHandler(evtType, handler) {
   6163           return document.documentElement.removeEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_3__["applyPassive"]());
   6164         },
   6165         registerResizeHandler: function registerResizeHandler(handler) {
   6166           return window.addEventListener('resize', handler);
   6167         },
   6168         deregisterResizeHandler: function deregisterResizeHandler(handler) {
   6169           return window.removeEventListener('resize', handler);
   6170         },
   6171         updateCssVariable: function updateCssVariable(varName, value) {
   6172           return instance.root_.style.setProperty(varName, value);
   6173         },
   6174         computeBoundingRect: function computeBoundingRect() {
   6175           return instance.root_.getBoundingClientRect();
   6176         },
   6177         getWindowPageOffset: function getWindowPageOffset() {
   6178           return {
   6179             x: window.pageXOffset,
   6180             y: window.pageYOffset
   6181           };
   6182         }
   6183       };
   6184     }
   6185   }]);
   6186 
   6187   return MDCRipple;
   6188 }(_material_base_component__WEBPACK_IMPORTED_MODULE_0__["default"]);
   6189 /**
   6190  * See Material Design spec for more details on when to use ripples.
   6191  * https://material.io/guidelines/motion/choreography.html#choreography-creation
   6192  * @record
   6193  */
   6194 
   6195 
   6196 var RippleCapableSurface = function RippleCapableSurface() {
   6197   _classCallCheck(this, RippleCapableSurface);
   6198 };
   6199 /** @protected {!Element} */
   6200 
   6201 
   6202 RippleCapableSurface.prototype.root_;
   6203 /**
   6204  * Whether or not the ripple bleeds out of the bounds of the element.
   6205  * @type {boolean|undefined}
   6206  */
   6207 
   6208 RippleCapableSurface.prototype.unbounded;
   6209 /**
   6210  * Whether or not the ripple is attached to a disabled component.
   6211  * @type {boolean|undefined}
   6212  */
   6213 
   6214 RippleCapableSurface.prototype.disabled;
   6215 
   6216 
   6217 /***/ }),
   6218 
   6219 /***/ "./node_modules/@material/ripple/util.js":
   6220 /*!***********************************************!*\
   6221   !*** ./node_modules/@material/ripple/util.js ***!
   6222   \***********************************************/
   6223 /*! exports provided: supportsCssVariables, applyPassive, getMatchesProperty, getNormalizedEventCoords */
   6224 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   6225 
   6226 "use strict";
   6227 __webpack_require__.r(__webpack_exports__);
   6228 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "supportsCssVariables", function() { return supportsCssVariables; });
   6229 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applyPassive", function() { return applyPassive; });
   6230 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMatchesProperty", function() { return getMatchesProperty; });
   6231 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getNormalizedEventCoords", function() { return getNormalizedEventCoords; });
   6232 /**
   6233  * @license
   6234  * Copyright 2016 Google Inc. All Rights Reserved.
   6235  *
   6236  * Licensed under the Apache License, Version 2.0 (the "License");
   6237  * you may not use this file except in compliance with the License.
   6238  * You may obtain a copy of the License at
   6239  *
   6240  *      http://www.apache.org/licenses/LICENSE-2.0
   6241  *
   6242  * Unless required by applicable law or agreed to in writing, software
   6243  * distributed under the License is distributed on an "AS IS" BASIS,
   6244  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   6245  * See the License for the specific language governing permissions and
   6246  * limitations under the License.
   6247  */
   6248 
   6249 /**
   6250  * Stores result from supportsCssVariables to avoid redundant processing to detect CSS custom variable support.
   6251  * @private {boolean|undefined}
   6252  */
   6253 var supportsCssVariables_;
   6254 /**
   6255  * Stores result from applyPassive to avoid redundant processing to detect passive event listener support.
   6256  * @private {boolean|undefined}
   6257  */
   6258 
   6259 var supportsPassive_;
   6260 /**
   6261  * @param {!Window} windowObj
   6262  * @return {boolean}
   6263  */
   6264 
   6265 function detectEdgePseudoVarBug(windowObj) {
   6266   // Detect versions of Edge with buggy var() support
   6267   // See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11495448/
   6268   var document = windowObj.document;
   6269   var node = document.createElement('div');
   6270   node.className = 'mdc-ripple-surface--test-edge-var-bug';
   6271   document.body.appendChild(node); // The bug exists if ::before style ends up propagating to the parent element.
   6272   // Additionally, getComputedStyle returns null in iframes with display: "none" in Firefox,
   6273   // but Firefox is known to support CSS custom properties correctly.
   6274   // See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397
   6275 
   6276   var computedStyle = windowObj.getComputedStyle(node);
   6277   var hasPseudoVarBug = computedStyle !== null && computedStyle.borderTopStyle === 'solid';
   6278   node.remove();
   6279   return hasPseudoVarBug;
   6280 }
   6281 /**
   6282  * @param {!Window} windowObj
   6283  * @param {boolean=} forceRefresh
   6284  * @return {boolean|undefined}
   6285  */
   6286 
   6287 
   6288 function supportsCssVariables(windowObj) {
   6289   var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
   6290   var supportsCssVariables = supportsCssVariables_;
   6291 
   6292   if (typeof supportsCssVariables_ === 'boolean' && !forceRefresh) {
   6293     return supportsCssVariables;
   6294   }
   6295 
   6296   var supportsFunctionPresent = windowObj.CSS && typeof windowObj.CSS.supports === 'function';
   6297 
   6298   if (!supportsFunctionPresent) {
   6299     return;
   6300   }
   6301 
   6302   var explicitlySupportsCssVars = windowObj.CSS.supports('--css-vars', 'yes'); // See: https://bugs.webkit.org/show_bug.cgi?id=154669
   6303   // See: README section on Safari
   6304 
   6305   var weAreFeatureDetectingSafari10plus = windowObj.CSS.supports('(--css-vars: yes)') && windowObj.CSS.supports('color', '#00000000');
   6306 
   6307   if (explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus) {
   6308     supportsCssVariables = !detectEdgePseudoVarBug(windowObj);
   6309   } else {
   6310     supportsCssVariables = false;
   6311   }
   6312 
   6313   if (!forceRefresh) {
   6314     supportsCssVariables_ = supportsCssVariables;
   6315   }
   6316 
   6317   return supportsCssVariables;
   6318 } //
   6319 
   6320 /**
   6321  * Determine whether the current browser supports passive event listeners, and if so, use them.
   6322  * @param {!Window=} globalObj
   6323  * @param {boolean=} forceRefresh
   6324  * @return {boolean|{passive: boolean}}
   6325  */
   6326 
   6327 
   6328 function applyPassive() {
   6329   var globalObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
   6330   var forceRefresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
   6331 
   6332   if (supportsPassive_ === undefined || forceRefresh) {
   6333     var isSupported = false;
   6334 
   6335     try {
   6336       globalObj.document.addEventListener('test', null, {
   6337         get passive() {
   6338           isSupported = true;
   6339         }
   6340 
   6341       });
   6342     } catch (e) {}
   6343 
   6344     supportsPassive_ = isSupported;
   6345   }
   6346 
   6347   return supportsPassive_ ? {
   6348     passive: true
   6349   } : false;
   6350 }
   6351 /**
   6352  * @param {!Object} HTMLElementPrototype
   6353  * @return {!Array<string>}
   6354  */
   6355 
   6356 
   6357 function getMatchesProperty(HTMLElementPrototype) {
   6358   return ['webkitMatchesSelector', 'msMatchesSelector', 'matches'].filter(function (p) {
   6359     return p in HTMLElementPrototype;
   6360   }).pop();
   6361 }
   6362 /**
   6363  * @param {!Event} ev
   6364  * @param {{x: number, y: number}} pageOffset
   6365  * @param {!ClientRect} clientRect
   6366  * @return {{x: number, y: number}}
   6367  */
   6368 
   6369 
   6370 function getNormalizedEventCoords(ev, pageOffset, clientRect) {
   6371   var x = pageOffset.x,
   6372       y = pageOffset.y;
   6373   var documentX = x + clientRect.left;
   6374   var documentY = y + clientRect.top;
   6375   var normalizedX;
   6376   var normalizedY; // Determine touch point relative to the ripple container.
   6377 
   6378   if (ev.type === 'touchstart') {
   6379     normalizedX = ev.changedTouches[0].pageX - documentX;
   6380     normalizedY = ev.changedTouches[0].pageY - documentY;
   6381   } else {
   6382     normalizedX = ev.pageX - documentX;
   6383     normalizedY = ev.pageY - documentY;
   6384   }
   6385 
   6386   return {
   6387     x: normalizedX,
   6388     y: normalizedY
   6389   };
   6390 }
   6391 
   6392 
   6393 
   6394 /***/ }),
   6395 
   6396 /***/ "./node_modules/@material/selection-control/index.js":
   6397 /*!***********************************************************!*\
   6398   !*** ./node_modules/@material/selection-control/index.js ***!
   6399   \***********************************************************/
   6400 /*! exports provided: MDCSelectionControlState, MDCSelectionControl */
   6401 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   6402 
   6403 "use strict";
   6404 __webpack_require__.r(__webpack_exports__);
   6405 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelectionControlState", function() { return MDCSelectionControlState; });
   6406 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCSelectionControl", function() { return MDCSelectionControl; });
   6407 /* harmony import */ var _material_ripple_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/ripple/index */ "./node_modules/@material/ripple/index.js");
   6408 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   6409 
   6410 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); } }
   6411 
   6412 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   6413 
   6414 /**
   6415  * @license
   6416  * Copyright 2017 Google Inc. All Rights Reserved.
   6417  *
   6418  * Licensed under the Apache License, Version 2.0 (the "License");
   6419  * you may not use this file except in compliance with the License.
   6420  * You may obtain a copy of the License at
   6421  *
   6422  *      http://www.apache.org/licenses/LICENSE-2.0
   6423  *
   6424  * Unless required by applicable law or agreed to in writing, software
   6425  * distributed under the License is distributed on an "AS IS" BASIS,
   6426  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   6427  * See the License for the specific language governing permissions and
   6428  * limitations under the License.
   6429  */
   6430 
   6431 /* eslint-disable no-unused-vars */
   6432 
   6433 /* eslint-enable no-unused-vars */
   6434 
   6435 /**
   6436  * @typedef {{
   6437  *   checked: boolean,
   6438  *   indeterminate: boolean,
   6439  *   disabled: boolean,
   6440  *   value: ?string
   6441  * }}
   6442  */
   6443 
   6444 var MDCSelectionControlState;
   6445 /**
   6446  * @record
   6447  */
   6448 
   6449 var MDCSelectionControl =
   6450 /*#__PURE__*/
   6451 function () {
   6452   function MDCSelectionControl() {
   6453     _classCallCheck(this, MDCSelectionControl);
   6454   }
   6455 
   6456   _createClass(MDCSelectionControl, [{
   6457     key: "ripple",
   6458 
   6459     /** @return {?MDCRipple} */
   6460     get: function get() {}
   6461   }]);
   6462 
   6463   return MDCSelectionControl;
   6464 }();
   6465 
   6466 
   6467 
   6468 /***/ }),
   6469 
   6470 /***/ "./node_modules/@material/textfield/adapter.js":
   6471 /*!*****************************************************!*\
   6472   !*** ./node_modules/@material/textfield/adapter.js ***!
   6473   \*****************************************************/
   6474 /*! exports provided: MDCTextFieldAdapter, NativeInputType, FoundationMapType */
   6475 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   6476 
   6477 "use strict";
   6478 __webpack_require__.r(__webpack_exports__);
   6479 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldAdapter", function() { return MDCTextFieldAdapter; });
   6480 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NativeInputType", function() { return NativeInputType; });
   6481 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FoundationMapType", function() { return FoundationMapType; });
   6482 /* harmony import */ var _helper_text_foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helper-text/foundation */ "./node_modules/@material/textfield/helper-text/foundation.js");
   6483 /* harmony import */ var _icon_foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./icon/foundation */ "./node_modules/@material/textfield/icon/foundation.js");
   6484 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   6485 
   6486 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); } }
   6487 
   6488 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   6489 
   6490 /**
   6491  * @license
   6492  * Copyright 2017 Google Inc. All Rights Reserved.
   6493  *
   6494  * Licensed under the Apache License, Version 2.0 (the "License");
   6495  * you may not use this file except in compliance with the License.
   6496  * You may obtain a copy of the License at
   6497  *
   6498  *      http://www.apache.org/licenses/LICENSE-2.0
   6499  *
   6500  * Unless required by applicable law or agreed to in writing, software
   6501  * distributed under the License is distributed on an "AS IS" BASIS,
   6502  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   6503  * See the License for the specific language governing permissions and
   6504  * limitations under the License.
   6505  */
   6506 
   6507 /* eslint-disable no-unused-vars */
   6508 
   6509 
   6510 /* eslint no-unused-vars: [2, {"args": "none"}] */
   6511 
   6512 /**
   6513  * @typedef {{
   6514  *   value: string,
   6515  *   disabled: boolean,
   6516  *   badInput: boolean,
   6517  *   validity: {
   6518  *     badInput: boolean,
   6519  *     valid: boolean,
   6520  *   },
   6521  * }}
   6522  */
   6523 
   6524 var NativeInputType;
   6525 /**
   6526  * @typedef {{
   6527  *   helperText: (!MDCTextFieldHelperTextFoundation|undefined),
   6528  *   icon: (!MDCTextFieldIconFoundation|undefined),
   6529  * }}
   6530  */
   6531 
   6532 var FoundationMapType;
   6533 /**
   6534  * Adapter for MDC Text Field.
   6535  *
   6536  * Defines the shape of the adapter expected by the foundation. Implement this
   6537  * adapter to integrate the Text Field into your framework. See
   6538  * https://github.com/material-components/material-components-web/blob/master/docs/authoring-components.md
   6539  * for more information.
   6540  *
   6541  * @record
   6542  */
   6543 
   6544 var MDCTextFieldAdapter =
   6545 /*#__PURE__*/
   6546 function () {
   6547   function MDCTextFieldAdapter() {
   6548     _classCallCheck(this, MDCTextFieldAdapter);
   6549   }
   6550 
   6551   _createClass(MDCTextFieldAdapter, [{
   6552     key: "addClass",
   6553 
   6554     /**
   6555      * Adds a class to the root Element.
   6556      * @param {string} className
   6557      */
   6558     value: function addClass(className) {}
   6559     /**
   6560      * Removes a class from the root Element.
   6561      * @param {string} className
   6562      */
   6563 
   6564   }, {
   6565     key: "removeClass",
   6566     value: function removeClass(className) {}
   6567     /**
   6568      * Returns true if the root element contains the given class name.
   6569      * @param {string} className
   6570      * @return {boolean}
   6571      */
   6572 
   6573   }, {
   6574     key: "hasClass",
   6575     value: function hasClass(className) {}
   6576     /**
   6577      * Registers an event handler on the root element for a given event.
   6578      * @param {string} type
   6579      * @param {function(!Event): undefined} handler
   6580      */
   6581 
   6582   }, {
   6583     key: "registerTextFieldInteractionHandler",
   6584     value: function registerTextFieldInteractionHandler(type, handler) {}
   6585     /**
   6586      * Deregisters an event handler on the root element for a given event.
   6587      * @param {string} type
   6588      * @param {function(!Event): undefined} handler
   6589      */
   6590 
   6591   }, {
   6592     key: "deregisterTextFieldInteractionHandler",
   6593     value: function deregisterTextFieldInteractionHandler(type, handler) {}
   6594     /**
   6595      * Registers an event listener on the native input element for a given event.
   6596      * @param {string} evtType
   6597      * @param {function(!Event): undefined} handler
   6598      */
   6599 
   6600   }, {
   6601     key: "registerInputInteractionHandler",
   6602     value: function registerInputInteractionHandler(evtType, handler) {}
   6603     /**
   6604      * Deregisters an event listener on the native input element for a given event.
   6605      * @param {string} evtType
   6606      * @param {function(!Event): undefined} handler
   6607      */
   6608 
   6609   }, {
   6610     key: "deregisterInputInteractionHandler",
   6611     value: function deregisterInputInteractionHandler(evtType, handler) {}
   6612     /**
   6613      * Registers a validation attribute change listener on the input element.
   6614      * Handler accepts list of attribute names.
   6615      * @param {function(!Array<string>): undefined} handler
   6616      * @return {!MutationObserver}
   6617      */
   6618 
   6619   }, {
   6620     key: "registerValidationAttributeChangeHandler",
   6621     value: function registerValidationAttributeChangeHandler(handler) {}
   6622     /**
   6623      * Disconnects a validation attribute observer on the input element.
   6624      * @param {!MutationObserver} observer
   6625      */
   6626 
   6627   }, {
   6628     key: "deregisterValidationAttributeChangeHandler",
   6629     value: function deregisterValidationAttributeChangeHandler(observer) {}
   6630     /**
   6631      * Returns an object representing the native text input element, with a
   6632      * similar API shape. The object returned should include the value, disabled
   6633      * and badInput properties, as well as the checkValidity() function. We never
   6634      * alter the value within our code, however we do update the disabled
   6635      * property, so if you choose to duck-type the return value for this method
   6636      * in your implementation it's important to keep this in mind. Also note that
   6637      * this method can return null, which the foundation will handle gracefully.
   6638      * @return {?Element|?NativeInputType}
   6639      */
   6640 
   6641   }, {
   6642     key: "getNativeInput",
   6643     value: function getNativeInput() {}
   6644     /**
   6645      * Returns true if the textfield is focused.
   6646      * We achieve this via `document.activeElement === this.root_`.
   6647      * @return {boolean}
   6648      */
   6649 
   6650   }, {
   6651     key: "isFocused",
   6652     value: function isFocused() {}
   6653     /**
   6654      * Returns true if the direction of the root element is set to RTL.
   6655      * @return {boolean}
   6656      */
   6657 
   6658   }, {
   6659     key: "isRtl",
   6660     value: function isRtl() {}
   6661     /**
   6662      * Activates the line ripple.
   6663      */
   6664 
   6665   }, {
   6666     key: "activateLineRipple",
   6667     value: function activateLineRipple() {}
   6668     /**
   6669      * Deactivates the line ripple.
   6670      */
   6671 
   6672   }, {
   6673     key: "deactivateLineRipple",
   6674     value: function deactivateLineRipple() {}
   6675     /**
   6676      * Sets the transform origin of the line ripple.
   6677      * @param {number} normalizedX
   6678      */
   6679 
   6680   }, {
   6681     key: "setLineRippleTransformOrigin",
   6682     value: function setLineRippleTransformOrigin(normalizedX) {}
   6683     /**
   6684      * Only implement if label exists.
   6685      * Shakes label if shouldShake is true.
   6686      * @param {boolean} shouldShake
   6687      */
   6688 
   6689   }, {
   6690     key: "shakeLabel",
   6691     value: function shakeLabel(shouldShake) {}
   6692     /**
   6693      * Only implement if label exists.
   6694      * Floats the label above the input element if shouldFloat is true.
   6695      * @param {boolean} shouldFloat
   6696      */
   6697 
   6698   }, {
   6699     key: "floatLabel",
   6700     value: function floatLabel(shouldFloat) {}
   6701     /**
   6702      * Returns true if label element exists, false if it doesn't.
   6703      * @return {boolean}
   6704      */
   6705 
   6706   }, {
   6707     key: "hasLabel",
   6708     value: function hasLabel() {}
   6709     /**
   6710      * Only implement if label exists.
   6711      * Returns width of label in pixels.
   6712      * @return {number}
   6713      */
   6714 
   6715   }, {
   6716     key: "getLabelWidth",
   6717     value: function getLabelWidth() {}
   6718     /**
   6719      * Returns true if outline element exists, false if it doesn't.
   6720      * @return {boolean}
   6721      */
   6722 
   6723   }, {
   6724     key: "hasOutline",
   6725     value: function hasOutline() {}
   6726     /**
   6727      * Only implement if outline element exists.
   6728      * Updates SVG Path and outline element based on the
   6729      * label element width and RTL context.
   6730      * @param {number} labelWidth
   6731      * @param {boolean=} isRtl
   6732      */
   6733 
   6734   }, {
   6735     key: "notchOutline",
   6736     value: function notchOutline(labelWidth, isRtl) {}
   6737     /**
   6738      * Only implement if outline element exists.
   6739      * Closes notch in outline element.
   6740      */
   6741 
   6742   }, {
   6743     key: "closeOutline",
   6744     value: function closeOutline() {}
   6745   }]);
   6746 
   6747   return MDCTextFieldAdapter;
   6748 }();
   6749 
   6750 
   6751 
   6752 /***/ }),
   6753 
   6754 /***/ "./node_modules/@material/textfield/constants.js":
   6755 /*!*******************************************************!*\
   6756   !*** ./node_modules/@material/textfield/constants.js ***!
   6757   \*******************************************************/
   6758 /*! exports provided: cssClasses, strings, numbers, VALIDATION_ATTR_WHITELIST */
   6759 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   6760 
   6761 "use strict";
   6762 __webpack_require__.r(__webpack_exports__);
   6763 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; });
   6764 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return strings; });
   6765 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "numbers", function() { return numbers; });
   6766 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VALIDATION_ATTR_WHITELIST", function() { return VALIDATION_ATTR_WHITELIST; });
   6767 /**
   6768  * @license
   6769  * Copyright 2016 Google Inc. All Rights Reserved.
   6770  *
   6771  * Licensed under the Apache License, Version 2.0 (the "License");
   6772  * you may not use this file except in compliance with the License.
   6773  * You may obtain a copy of the License at
   6774  *
   6775  *      http://www.apache.org/licenses/LICENSE-2.0
   6776  *
   6777  * Unless required by applicable law or agreed to in writing, software
   6778  * distributed under the License is distributed on an "AS IS" BASIS,
   6779  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   6780  * See the License for the specific language governing permissions and
   6781  * limitations under the License.
   6782  */
   6783 
   6784 /** @enum {string} */
   6785 var strings = {
   6786   ARIA_CONTROLS: 'aria-controls',
   6787   INPUT_SELECTOR: '.mdc-text-field__input',
   6788   LABEL_SELECTOR: '.mdc-floating-label',
   6789   ICON_SELECTOR: '.mdc-text-field__icon',
   6790   OUTLINE_SELECTOR: '.mdc-notched-outline',
   6791   LINE_RIPPLE_SELECTOR: '.mdc-line-ripple'
   6792 };
   6793 /** @enum {string} */
   6794 
   6795 var cssClasses = {
   6796   ROOT: 'mdc-text-field',
   6797   UPGRADED: 'mdc-text-field--upgraded',
   6798   DISABLED: 'mdc-text-field--disabled',
   6799   DENSE: 'mdc-text-field--dense',
   6800   FOCUSED: 'mdc-text-field--focused',
   6801   INVALID: 'mdc-text-field--invalid',
   6802   BOX: 'mdc-text-field--box',
   6803   OUTLINED: 'mdc-text-field--outlined'
   6804 };
   6805 /** @enum {number} */
   6806 
   6807 var numbers = {
   6808   LABEL_SCALE: 0.75,
   6809   DENSE_LABEL_SCALE: 0.923
   6810 }; // whitelist based off of https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation
   6811 // under section: `Validation-related attributes`
   6812 
   6813 var VALIDATION_ATTR_WHITELIST = ['pattern', 'min', 'max', 'required', 'step', 'minlength', 'maxlength'];
   6814 
   6815 
   6816 /***/ }),
   6817 
   6818 /***/ "./node_modules/@material/textfield/foundation.js":
   6819 /*!********************************************************!*\
   6820   !*** ./node_modules/@material/textfield/foundation.js ***!
   6821   \********************************************************/
   6822 /*! exports provided: default */
   6823 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   6824 
   6825 "use strict";
   6826 __webpack_require__.r(__webpack_exports__);
   6827 /* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/@material/base/foundation.js");
   6828 /* harmony import */ var _helper_text_foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helper-text/foundation */ "./node_modules/@material/textfield/helper-text/foundation.js");
   6829 /* harmony import */ var _icon_foundation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./icon/foundation */ "./node_modules/@material/textfield/icon/foundation.js");
   6830 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/textfield/adapter.js");
   6831 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/textfield/constants.js");
   6832 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   6833 
   6834 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   6835 
   6836 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   6837 
   6838 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   6839 
   6840 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   6841 
   6842 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); } }
   6843 
   6844 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   6845 
   6846 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   6847 
   6848 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   6849 
   6850 /**
   6851  * @license
   6852  * Copyright 2016 Google Inc. All Rights Reserved.
   6853  *
   6854  * Licensed under the Apache License, Version 2.0 (the "License");
   6855  * you may not use this file except in compliance with the License.
   6856  * You may obtain a copy of the License at
   6857  *
   6858  *      http://www.apache.org/licenses/LICENSE-2.0
   6859  *
   6860  * Unless required by applicable law or agreed to in writing, software
   6861  * distributed under the License is distributed on an "AS IS" BASIS,
   6862  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   6863  * See the License for the specific language governing permissions and
   6864  * limitations under the License.
   6865  */
   6866 
   6867 /* eslint-disable no-unused-vars */
   6868 
   6869 
   6870 
   6871 /* eslint-enable no-unused-vars */
   6872 
   6873 
   6874 
   6875 /**
   6876  * @extends {MDCFoundation<!MDCTextFieldAdapter>}
   6877  * @final
   6878  */
   6879 
   6880 var MDCTextFieldFoundation =
   6881 /*#__PURE__*/
   6882 function (_MDCFoundation) {
   6883   _inherits(MDCTextFieldFoundation, _MDCFoundation);
   6884 
   6885   _createClass(MDCTextFieldFoundation, [{
   6886     key: "shouldShake",
   6887 
   6888     /** @return {boolean} */
   6889     get: function get() {
   6890       return !this.isValid() && !this.isFocused_;
   6891     }
   6892     /** @return {boolean} */
   6893 
   6894   }, {
   6895     key: "shouldFloat",
   6896     get: function get() {
   6897       return this.isFocused_ || !!this.getValue() || this.isBadInput_();
   6898     }
   6899     /**
   6900      * {@see MDCTextFieldAdapter} for typing information on parameters and return
   6901      * types.
   6902      * @return {!MDCTextFieldAdapter}
   6903      */
   6904 
   6905   }], [{
   6906     key: "cssClasses",
   6907 
   6908     /** @return enum {string} */
   6909     get: function get() {
   6910       return _constants__WEBPACK_IMPORTED_MODULE_4__["cssClasses"];
   6911     }
   6912     /** @return enum {string} */
   6913 
   6914   }, {
   6915     key: "strings",
   6916     get: function get() {
   6917       return _constants__WEBPACK_IMPORTED_MODULE_4__["strings"];
   6918     }
   6919     /** @return enum {string} */
   6920 
   6921   }, {
   6922     key: "numbers",
   6923     get: function get() {
   6924       return _constants__WEBPACK_IMPORTED_MODULE_4__["numbers"];
   6925     }
   6926   }, {
   6927     key: "defaultAdapter",
   6928     get: function get() {
   6929       return (
   6930         /** @type {!MDCTextFieldAdapter} */
   6931         {
   6932           addClass: function addClass() {},
   6933           removeClass: function removeClass() {},
   6934           hasClass: function hasClass() {},
   6935           registerTextFieldInteractionHandler: function registerTextFieldInteractionHandler() {},
   6936           deregisterTextFieldInteractionHandler: function deregisterTextFieldInteractionHandler() {},
   6937           registerInputInteractionHandler: function registerInputInteractionHandler() {},
   6938           deregisterInputInteractionHandler: function deregisterInputInteractionHandler() {},
   6939           registerValidationAttributeChangeHandler: function registerValidationAttributeChangeHandler() {},
   6940           deregisterValidationAttributeChangeHandler: function deregisterValidationAttributeChangeHandler() {},
   6941           getNativeInput: function getNativeInput() {},
   6942           isFocused: function isFocused() {},
   6943           isRtl: function isRtl() {},
   6944           activateLineRipple: function activateLineRipple() {},
   6945           deactivateLineRipple: function deactivateLineRipple() {},
   6946           setLineRippleTransformOrigin: function setLineRippleTransformOrigin() {},
   6947           shakeLabel: function shakeLabel() {},
   6948           floatLabel: function floatLabel() {},
   6949           hasLabel: function hasLabel() {},
   6950           getLabelWidth: function getLabelWidth() {},
   6951           hasOutline: function hasOutline() {},
   6952           notchOutline: function notchOutline() {},
   6953           closeOutline: function closeOutline() {}
   6954         }
   6955       );
   6956     }
   6957     /**
   6958      * @param {!MDCTextFieldAdapter} adapter
   6959      * @param {!FoundationMapType=} foundationMap Map from subcomponent names to their subfoundations.
   6960      */
   6961 
   6962   }]);
   6963 
   6964   function MDCTextFieldFoundation(adapter) {
   6965     var _this;
   6966 
   6967     var foundationMap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
   6968     /** @type {!FoundationMapType} */
   6969     {};
   6970 
   6971     _classCallCheck(this, MDCTextFieldFoundation);
   6972 
   6973     _this = _possibleConstructorReturn(this, _getPrototypeOf(MDCTextFieldFoundation).call(this, Object.assign(MDCTextFieldFoundation.defaultAdapter, adapter)));
   6974     /** @type {!MDCTextFieldHelperTextFoundation|undefined} */
   6975 
   6976     _this.helperText_ = foundationMap.helperText;
   6977     /** @type {!MDCTextFieldIconFoundation|undefined} */
   6978 
   6979     _this.icon_ = foundationMap.icon;
   6980     /** @private {boolean} */
   6981 
   6982     _this.isFocused_ = false;
   6983     /** @private {boolean} */
   6984 
   6985     _this.receivedUserInput_ = false;
   6986     /** @private {boolean} */
   6987 
   6988     _this.useCustomValidityChecking_ = false;
   6989     /** @private {boolean} */
   6990 
   6991     _this.isValid_ = true;
   6992     /** @private {function(): undefined} */
   6993 
   6994     _this.inputFocusHandler_ = function () {
   6995       return _this.activateFocus();
   6996     };
   6997     /** @private {function(): undefined} */
   6998 
   6999 
   7000     _this.inputBlurHandler_ = function () {
   7001       return _this.deactivateFocus();
   7002     };
   7003     /** @private {function(): undefined} */
   7004 
   7005 
   7006     _this.inputInputHandler_ = function () {
   7007       return _this.autoCompleteFocus();
   7008     };
   7009     /** @private {function(!Event): undefined} */
   7010 
   7011 
   7012     _this.setPointerXOffset_ = function (evt) {
   7013       return _this.setTransformOrigin(evt);
   7014     };
   7015     /** @private {function(!Event): undefined} */
   7016 
   7017 
   7018     _this.textFieldInteractionHandler_ = function () {
   7019       return _this.handleTextFieldInteraction();
   7020     };
   7021     /** @private {function(!Array): undefined} */
   7022 
   7023 
   7024     _this.validationAttributeChangeHandler_ = function (attributesList) {
   7025       return _this.handleValidationAttributeChange(attributesList);
   7026     };
   7027     /** @private {!MutationObserver} */
   7028 
   7029 
   7030     _this.validationObserver_;
   7031     return _this;
   7032   }
   7033 
   7034   _createClass(MDCTextFieldFoundation, [{
   7035     key: "init",
   7036     value: function init() {
   7037       var _this2 = this;
   7038 
   7039       this.adapter_.addClass(MDCTextFieldFoundation.cssClasses.UPGRADED); // Ensure label does not collide with any pre-filled value.
   7040 
   7041       if (this.adapter_.hasLabel() && (this.getValue() || this.isBadInput_())) {
   7042         this.adapter_.floatLabel(this.shouldFloat);
   7043         this.notchOutline(this.shouldFloat);
   7044       }
   7045 
   7046       if (this.adapter_.isFocused()) {
   7047         this.inputFocusHandler_();
   7048       }
   7049 
   7050       this.adapter_.registerInputInteractionHandler('focus', this.inputFocusHandler_);
   7051       this.adapter_.registerInputInteractionHandler('blur', this.inputBlurHandler_);
   7052       this.adapter_.registerInputInteractionHandler('input', this.inputInputHandler_);
   7053       ['mousedown', 'touchstart'].forEach(function (evtType) {
   7054         _this2.adapter_.registerInputInteractionHandler(evtType, _this2.setPointerXOffset_);
   7055       });
   7056       ['click', 'keydown'].forEach(function (evtType) {
   7057         _this2.adapter_.registerTextFieldInteractionHandler(evtType, _this2.textFieldInteractionHandler_);
   7058       });
   7059       this.validationObserver_ = this.adapter_.registerValidationAttributeChangeHandler(this.validationAttributeChangeHandler_);
   7060     }
   7061   }, {
   7062     key: "destroy",
   7063     value: function destroy() {
   7064       var _this3 = this;
   7065 
   7066       this.adapter_.removeClass(MDCTextFieldFoundation.cssClasses.UPGRADED);
   7067       this.adapter_.deregisterInputInteractionHandler('focus', this.inputFocusHandler_);
   7068       this.adapter_.deregisterInputInteractionHandler('blur', this.inputBlurHandler_);
   7069       this.adapter_.deregisterInputInteractionHandler('input', this.inputInputHandler_);
   7070       ['mousedown', 'touchstart'].forEach(function (evtType) {
   7071         _this3.adapter_.deregisterInputInteractionHandler(evtType, _this3.setPointerXOffset_);
   7072       });
   7073       ['click', 'keydown'].forEach(function (evtType) {
   7074         _this3.adapter_.deregisterTextFieldInteractionHandler(evtType, _this3.textFieldInteractionHandler_);
   7075       });
   7076       this.adapter_.deregisterValidationAttributeChangeHandler(this.validationObserver_);
   7077     }
   7078     /**
   7079      * Handles user interactions with the Text Field.
   7080      */
   7081 
   7082   }, {
   7083     key: "handleTextFieldInteraction",
   7084     value: function handleTextFieldInteraction() {
   7085       if (this.adapter_.getNativeInput().disabled) {
   7086         return;
   7087       }
   7088 
   7089       this.receivedUserInput_ = true;
   7090     }
   7091     /**
   7092      * Handles validation attribute changes
   7093      * @param {!Array<string>} attributesList
   7094      */
   7095 
   7096   }, {
   7097     key: "handleValidationAttributeChange",
   7098     value: function handleValidationAttributeChange(attributesList) {
   7099       var _this4 = this;
   7100 
   7101       attributesList.some(function (attributeName) {
   7102         if (_constants__WEBPACK_IMPORTED_MODULE_4__["VALIDATION_ATTR_WHITELIST"].indexOf(attributeName) > -1) {
   7103           _this4.styleValidity_(true);
   7104 
   7105           return true;
   7106         }
   7107       });
   7108     }
   7109     /**
   7110      * Opens/closes the notched outline.
   7111      * @param {boolean} openNotch
   7112      */
   7113 
   7114   }, {
   7115     key: "notchOutline",
   7116     value: function notchOutline(openNotch) {
   7117       if (!this.adapter_.hasOutline() || !this.adapter_.hasLabel()) {
   7118         return;
   7119       }
   7120 
   7121       if (openNotch) {
   7122         var isDense = this.adapter_.hasClass(_constants__WEBPACK_IMPORTED_MODULE_4__["cssClasses"].DENSE);
   7123         var labelScale = isDense ? _constants__WEBPACK_IMPORTED_MODULE_4__["numbers"].DENSE_LABEL_SCALE : _constants__WEBPACK_IMPORTED_MODULE_4__["numbers"].LABEL_SCALE;
   7124         var labelWidth = this.adapter_.getLabelWidth() * labelScale;
   7125         var isRtl = this.adapter_.isRtl();
   7126         this.adapter_.notchOutline(labelWidth, isRtl);
   7127       } else {
   7128         this.adapter_.closeOutline();
   7129       }
   7130     }
   7131     /**
   7132      * Activates the text field focus state.
   7133      */
   7134 
   7135   }, {
   7136     key: "activateFocus",
   7137     value: function activateFocus() {
   7138       this.isFocused_ = true;
   7139       this.styleFocused_(this.isFocused_);
   7140       this.adapter_.activateLineRipple();
   7141       this.notchOutline(this.shouldFloat);
   7142 
   7143       if (this.adapter_.hasLabel()) {
   7144         this.adapter_.shakeLabel(this.shouldShake);
   7145         this.adapter_.floatLabel(this.shouldFloat);
   7146       }
   7147 
   7148       if (this.helperText_) {
   7149         this.helperText_.showToScreenReader();
   7150       }
   7151     }
   7152     /**
   7153      * Sets the line ripple's transform origin, so that the line ripple activate
   7154      * animation will animate out from the user's click location.
   7155      * @param {!Event} evt
   7156      */
   7157 
   7158   }, {
   7159     key: "setTransformOrigin",
   7160     value: function setTransformOrigin(evt) {
   7161       var targetClientRect = evt.target.getBoundingClientRect();
   7162       var evtCoords = {
   7163         x: evt.clientX,
   7164         y: evt.clientY
   7165       };
   7166       var normalizedX = evtCoords.x - targetClientRect.left;
   7167       this.adapter_.setLineRippleTransformOrigin(normalizedX);
   7168     }
   7169     /**
   7170      * Activates the Text Field's focus state in cases when the input value
   7171      * changes without user input (e.g. programatically).
   7172      */
   7173 
   7174   }, {
   7175     key: "autoCompleteFocus",
   7176     value: function autoCompleteFocus() {
   7177       if (!this.receivedUserInput_) {
   7178         this.activateFocus();
   7179       }
   7180     }
   7181     /**
   7182      * Deactivates the Text Field's focus state.
   7183      */
   7184 
   7185   }, {
   7186     key: "deactivateFocus",
   7187     value: function deactivateFocus() {
   7188       this.isFocused_ = false;
   7189       this.adapter_.deactivateLineRipple();
   7190       var input = this.getNativeInput_();
   7191       var shouldRemoveLabelFloat = !input.value && !this.isBadInput_();
   7192       var isValid = this.isValid();
   7193       this.styleValidity_(isValid);
   7194       this.styleFocused_(this.isFocused_);
   7195 
   7196       if (this.adapter_.hasLabel()) {
   7197         this.adapter_.shakeLabel(this.shouldShake);
   7198         this.adapter_.floatLabel(this.shouldFloat);
   7199         this.notchOutline(this.shouldFloat);
   7200       }
   7201 
   7202       if (shouldRemoveLabelFloat) {
   7203         this.receivedUserInput_ = false;
   7204       }
   7205     }
   7206     /**
   7207      * @return {string} The value of the input Element.
   7208      */
   7209 
   7210   }, {
   7211     key: "getValue",
   7212     value: function getValue() {
   7213       return this.getNativeInput_().value;
   7214     }
   7215     /**
   7216      * @param {string} value The value to set on the input Element.
   7217      */
   7218 
   7219   }, {
   7220     key: "setValue",
   7221     value: function setValue(value) {
   7222       this.getNativeInput_().value = value;
   7223       var isValid = this.isValid();
   7224       this.styleValidity_(isValid);
   7225 
   7226       if (this.adapter_.hasLabel()) {
   7227         this.adapter_.shakeLabel(this.shouldShake);
   7228         this.adapter_.floatLabel(this.shouldFloat);
   7229         this.notchOutline(this.shouldFloat);
   7230       }
   7231     }
   7232     /**
   7233      * @return {boolean} If a custom validity is set, returns that value.
   7234      *     Otherwise, returns the result of native validity checks.
   7235      */
   7236 
   7237   }, {
   7238     key: "isValid",
   7239     value: function isValid() {
   7240       return this.useCustomValidityChecking_ ? this.isValid_ : this.isNativeInputValid_();
   7241     }
   7242     /**
   7243      * @param {boolean} isValid Sets the validity state of the Text Field.
   7244      */
   7245 
   7246   }, {
   7247     key: "setValid",
   7248     value: function setValid(isValid) {
   7249       this.useCustomValidityChecking_ = true;
   7250       this.isValid_ = isValid; // Retrieve from the getter to ensure correct logic is applied.
   7251 
   7252       isValid = this.isValid();
   7253       this.styleValidity_(isValid);
   7254 
   7255       if (this.adapter_.hasLabel()) {
   7256         this.adapter_.shakeLabel(this.shouldShake);
   7257       }
   7258     }
   7259     /**
   7260      * @return {boolean} True if the Text Field is disabled.
   7261      */
   7262 
   7263   }, {
   7264     key: "isDisabled",
   7265     value: function isDisabled() {
   7266       return this.getNativeInput_().disabled;
   7267     }
   7268     /**
   7269      * @param {boolean} disabled Sets the text-field disabled or enabled.
   7270      */
   7271 
   7272   }, {
   7273     key: "setDisabled",
   7274     value: function setDisabled(disabled) {
   7275       this.getNativeInput_().disabled = disabled;
   7276       this.styleDisabled_(disabled);
   7277     }
   7278     /**
   7279      * @param {string} content Sets the content of the helper text.
   7280      */
   7281 
   7282   }, {
   7283     key: "setHelperTextContent",
   7284     value: function setHelperTextContent(content) {
   7285       if (this.helperText_) {
   7286         this.helperText_.setContent(content);
   7287       }
   7288     }
   7289     /**
   7290      * Sets the aria label of the icon.
   7291      * @param {string} label
   7292      */
   7293 
   7294   }, {
   7295     key: "setIconAriaLabel",
   7296     value: function setIconAriaLabel(label) {
   7297       if (this.icon_) {
   7298         this.icon_.setAriaLabel(label);
   7299       }
   7300     }
   7301     /**
   7302      * Sets the text content of the icon.
   7303      * @param {string} content
   7304      */
   7305 
   7306   }, {
   7307     key: "setIconContent",
   7308     value: function setIconContent(content) {
   7309       if (this.icon_) {
   7310         this.icon_.setContent(content);
   7311       }
   7312     }
   7313     /**
   7314      * @return {boolean} True if the Text Field input fails in converting the
   7315      *     user-supplied value.
   7316      * @private
   7317      */
   7318 
   7319   }, {
   7320     key: "isBadInput_",
   7321     value: function isBadInput_() {
   7322       return this.getNativeInput_().validity.badInput;
   7323     }
   7324     /**
   7325      * @return {boolean} The result of native validity checking
   7326      *     (ValidityState.valid).
   7327      */
   7328 
   7329   }, {
   7330     key: "isNativeInputValid_",
   7331     value: function isNativeInputValid_() {
   7332       return this.getNativeInput_().validity.valid;
   7333     }
   7334     /**
   7335      * Styles the component based on the validity state.
   7336      * @param {boolean} isValid
   7337      * @private
   7338      */
   7339 
   7340   }, {
   7341     key: "styleValidity_",
   7342     value: function styleValidity_(isValid) {
   7343       var INVALID = MDCTextFieldFoundation.cssClasses.INVALID;
   7344 
   7345       if (isValid) {
   7346         this.adapter_.removeClass(INVALID);
   7347       } else {
   7348         this.adapter_.addClass(INVALID);
   7349       }
   7350 
   7351       if (this.helperText_) {
   7352         this.helperText_.setValidity(isValid);
   7353       }
   7354     }
   7355     /**
   7356      * Styles the component based on the focused state.
   7357      * @param {boolean} isFocused
   7358      * @private
   7359      */
   7360 
   7361   }, {
   7362     key: "styleFocused_",
   7363     value: function styleFocused_(isFocused) {
   7364       var FOCUSED = MDCTextFieldFoundation.cssClasses.FOCUSED;
   7365 
   7366       if (isFocused) {
   7367         this.adapter_.addClass(FOCUSED);
   7368       } else {
   7369         this.adapter_.removeClass(FOCUSED);
   7370       }
   7371     }
   7372     /**
   7373      * Styles the component based on the disabled state.
   7374      * @param {boolean} isDisabled
   7375      * @private
   7376      */
   7377 
   7378   }, {
   7379     key: "styleDisabled_",
   7380     value: function styleDisabled_(isDisabled) {
   7381       var _MDCTextFieldFoundati = MDCTextFieldFoundation.cssClasses,
   7382           DISABLED = _MDCTextFieldFoundati.DISABLED,
   7383           INVALID = _MDCTextFieldFoundati.INVALID;
   7384 
   7385       if (isDisabled) {
   7386         this.adapter_.addClass(DISABLED);
   7387         this.adapter_.removeClass(INVALID);
   7388       } else {
   7389         this.adapter_.removeClass(DISABLED);
   7390       }
   7391 
   7392       if (this.icon_) {
   7393         this.icon_.setDisabled(isDisabled);
   7394       }
   7395     }
   7396     /**
   7397      * @return {!Element|!NativeInputType} The native text input from the
   7398      * host environment, or a dummy if none exists.
   7399      * @private
   7400      */
   7401 
   7402   }, {
   7403     key: "getNativeInput_",
   7404     value: function getNativeInput_() {
   7405       return this.adapter_.getNativeInput() ||
   7406       /** @type {!NativeInputType} */
   7407       {
   7408         value: '',
   7409         disabled: false,
   7410         validity: {
   7411           badInput: false,
   7412           valid: true
   7413         }
   7414       };
   7415     }
   7416   }]);
   7417 
   7418   return MDCTextFieldFoundation;
   7419 }(_material_base_foundation__WEBPACK_IMPORTED_MODULE_0__["default"]);
   7420 
   7421 /* harmony default export */ __webpack_exports__["default"] = (MDCTextFieldFoundation);
   7422 
   7423 /***/ }),
   7424 
   7425 /***/ "./node_modules/@material/textfield/helper-text/adapter.js":
   7426 /*!*****************************************************************!*\
   7427   !*** ./node_modules/@material/textfield/helper-text/adapter.js ***!
   7428   \*****************************************************************/
   7429 /*! exports provided: default */
   7430 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   7431 
   7432 "use strict";
   7433 __webpack_require__.r(__webpack_exports__);
   7434 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   7435 
   7436 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); } }
   7437 
   7438 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   7439 
   7440 /**
   7441  * @license
   7442  * Copyright 2017 Google Inc. All Rights Reserved.
   7443  *
   7444  * Licensed under the Apache License, Version 2.0 (the "License");
   7445  * you may not use this file except in compliance with the License.
   7446  * You may obtain a copy of the License at
   7447  *
   7448  *      http://www.apache.org/licenses/LICENSE-2.0
   7449  *
   7450  * Unless required by applicable law or agreed to in writing, software
   7451  * distributed under the License is distributed on an "AS IS" BASIS,
   7452  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   7453  * See the License for the specific language governing permissions and
   7454  * limitations under the License.
   7455  */
   7456 
   7457 /* eslint no-unused-vars: [2, {"args": "none"}] */
   7458 
   7459 /**
   7460  * Adapter for MDC Text Field Helper Text.
   7461  *
   7462  * Defines the shape of the adapter expected by the foundation. Implement this
   7463  * adapter to integrate the TextField helper text into your framework. See
   7464  * https://github.com/material-components/material-components-web/blob/master/docs/authoring-components.md
   7465  * for more information.
   7466  *
   7467  * @record
   7468  */
   7469 var MDCTextFieldHelperTextAdapter =
   7470 /*#__PURE__*/
   7471 function () {
   7472   function MDCTextFieldHelperTextAdapter() {
   7473     _classCallCheck(this, MDCTextFieldHelperTextAdapter);
   7474   }
   7475 
   7476   _createClass(MDCTextFieldHelperTextAdapter, [{
   7477     key: "addClass",
   7478 
   7479     /**
   7480      * Adds a class to the helper text element.
   7481      * @param {string} className
   7482      */
   7483     value: function addClass(className) {}
   7484     /**
   7485      * Removes a class from the helper text element.
   7486      * @param {string} className
   7487      */
   7488 
   7489   }, {
   7490     key: "removeClass",
   7491     value: function removeClass(className) {}
   7492     /**
   7493      * Returns whether or not the helper text element contains the given class.
   7494      * @param {string} className
   7495      * @return {boolean}
   7496      */
   7497 
   7498   }, {
   7499     key: "hasClass",
   7500     value: function hasClass(className) {}
   7501     /**
   7502      * Sets an attribute with a given value on the helper text element.
   7503      * @param {string} attr
   7504      * @param {string} value
   7505      */
   7506 
   7507   }, {
   7508     key: "setAttr",
   7509     value: function setAttr(attr, value) {}
   7510     /**
   7511      * Removes an attribute from the helper text element.
   7512      * @param {string} attr
   7513      */
   7514 
   7515   }, {
   7516     key: "removeAttr",
   7517     value: function removeAttr(attr) {}
   7518     /**
   7519      * Sets the text content for the helper text element.
   7520      * @param {string} content
   7521      */
   7522 
   7523   }, {
   7524     key: "setContent",
   7525     value: function setContent(content) {}
   7526   }]);
   7527 
   7528   return MDCTextFieldHelperTextAdapter;
   7529 }();
   7530 
   7531 /* harmony default export */ __webpack_exports__["default"] = (MDCTextFieldHelperTextAdapter);
   7532 
   7533 /***/ }),
   7534 
   7535 /***/ "./node_modules/@material/textfield/helper-text/constants.js":
   7536 /*!*******************************************************************!*\
   7537   !*** ./node_modules/@material/textfield/helper-text/constants.js ***!
   7538   \*******************************************************************/
   7539 /*! exports provided: strings, cssClasses */
   7540 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   7541 
   7542 "use strict";
   7543 __webpack_require__.r(__webpack_exports__);
   7544 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return strings; });
   7545 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; });
   7546 /**
   7547  * @license
   7548  * Copyright 2016 Google Inc. All Rights Reserved.
   7549  *
   7550  * Licensed under the Apache License, Version 2.0 (the "License");
   7551  * you may not use this file except in compliance with the License.
   7552  * You may obtain a copy of the License at
   7553  *
   7554  *      http://www.apache.org/licenses/LICENSE-2.0
   7555  *
   7556  * Unless required by applicable law or agreed to in writing, software
   7557  * distributed under the License is distributed on an "AS IS" BASIS,
   7558  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   7559  * See the License for the specific language governing permissions and
   7560  * limitations under the License.
   7561  */
   7562 
   7563 /** @enum {string} */
   7564 var strings = {
   7565   ARIA_HIDDEN: 'aria-hidden',
   7566   ROLE: 'role'
   7567 };
   7568 /** @enum {string} */
   7569 
   7570 var cssClasses = {
   7571   HELPER_TEXT_PERSISTENT: 'mdc-text-field-helper-text--persistent',
   7572   HELPER_TEXT_VALIDATION_MSG: 'mdc-text-field-helper-text--validation-msg'
   7573 };
   7574 
   7575 
   7576 /***/ }),
   7577 
   7578 /***/ "./node_modules/@material/textfield/helper-text/foundation.js":
   7579 /*!********************************************************************!*\
   7580   !*** ./node_modules/@material/textfield/helper-text/foundation.js ***!
   7581   \********************************************************************/
   7582 /*! exports provided: default */
   7583 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   7584 
   7585 "use strict";
   7586 __webpack_require__.r(__webpack_exports__);
   7587 /* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/@material/base/foundation.js");
   7588 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/textfield/helper-text/adapter.js");
   7589 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/textfield/helper-text/constants.js");
   7590 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   7591 
   7592 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   7593 
   7594 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   7595 
   7596 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   7597 
   7598 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   7599 
   7600 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); } }
   7601 
   7602 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   7603 
   7604 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   7605 
   7606 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   7607 
   7608 /**
   7609  * @license
   7610  * Copyright 2017 Google Inc. All Rights Reserved.
   7611  *
   7612  * Licensed under the Apache License, Version 2.0 (the "License");
   7613  * you may not use this file except in compliance with the License.
   7614  * You may obtain a copy of the License at
   7615  *
   7616  *      http://www.apache.org/licenses/LICENSE-2.0
   7617  *
   7618  * Unless required by applicable law or agreed to in writing, software
   7619  * distributed under the License is distributed on an "AS IS" BASIS,
   7620  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   7621  * See the License for the specific language governing permissions and
   7622  * limitations under the License.
   7623  */
   7624 
   7625 
   7626 
   7627 /**
   7628  * @extends {MDCFoundation<!MDCTextFieldHelperTextAdapter>}
   7629  * @final
   7630  */
   7631 
   7632 var MDCTextFieldHelperTextFoundation =
   7633 /*#__PURE__*/
   7634 function (_MDCFoundation) {
   7635   _inherits(MDCTextFieldHelperTextFoundation, _MDCFoundation);
   7636 
   7637   _createClass(MDCTextFieldHelperTextFoundation, null, [{
   7638     key: "cssClasses",
   7639 
   7640     /** @return enum {string} */
   7641     get: function get() {
   7642       return _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"];
   7643     }
   7644     /** @return enum {string} */
   7645 
   7646   }, {
   7647     key: "strings",
   7648     get: function get() {
   7649       return _constants__WEBPACK_IMPORTED_MODULE_2__["strings"];
   7650     }
   7651     /**
   7652      * {@see MDCTextFieldHelperTextAdapter} for typing information on parameters and return
   7653      * types.
   7654      * @return {!MDCTextFieldHelperTextAdapter}
   7655      */
   7656 
   7657   }, {
   7658     key: "defaultAdapter",
   7659     get: function get() {
   7660       return (
   7661         /** @type {!MDCTextFieldHelperTextAdapter} */
   7662         {
   7663           addClass: function addClass() {},
   7664           removeClass: function removeClass() {},
   7665           hasClass: function hasClass() {},
   7666           setAttr: function setAttr() {},
   7667           removeAttr: function removeAttr() {},
   7668           setContent: function setContent() {}
   7669         }
   7670       );
   7671     }
   7672     /**
   7673      * @param {!MDCTextFieldHelperTextAdapter} adapter
   7674      */
   7675 
   7676   }]);
   7677 
   7678   function MDCTextFieldHelperTextFoundation(adapter) {
   7679     _classCallCheck(this, MDCTextFieldHelperTextFoundation);
   7680 
   7681     return _possibleConstructorReturn(this, _getPrototypeOf(MDCTextFieldHelperTextFoundation).call(this, Object.assign(MDCTextFieldHelperTextFoundation.defaultAdapter, adapter)));
   7682   }
   7683   /**
   7684    * Sets the content of the helper text field.
   7685    * @param {string} content
   7686    */
   7687 
   7688 
   7689   _createClass(MDCTextFieldHelperTextFoundation, [{
   7690     key: "setContent",
   7691     value: function setContent(content) {
   7692       this.adapter_.setContent(content);
   7693     }
   7694     /** @param {boolean} isPersistent Sets the persistency of the helper text. */
   7695 
   7696   }, {
   7697     key: "setPersistent",
   7698     value: function setPersistent(isPersistent) {
   7699       if (isPersistent) {
   7700         this.adapter_.addClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].HELPER_TEXT_PERSISTENT);
   7701       } else {
   7702         this.adapter_.removeClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].HELPER_TEXT_PERSISTENT);
   7703       }
   7704     }
   7705     /**
   7706      * @param {boolean} isValidation True to make the helper text act as an
   7707      *   error validation message.
   7708      */
   7709 
   7710   }, {
   7711     key: "setValidation",
   7712     value: function setValidation(isValidation) {
   7713       if (isValidation) {
   7714         this.adapter_.addClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].HELPER_TEXT_VALIDATION_MSG);
   7715       } else {
   7716         this.adapter_.removeClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].HELPER_TEXT_VALIDATION_MSG);
   7717       }
   7718     }
   7719     /** Makes the helper text visible to the screen reader. */
   7720 
   7721   }, {
   7722     key: "showToScreenReader",
   7723     value: function showToScreenReader() {
   7724       this.adapter_.removeAttr(_constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ARIA_HIDDEN);
   7725     }
   7726     /**
   7727      * Sets the validity of the helper text based on the input validity.
   7728      * @param {boolean} inputIsValid
   7729      */
   7730 
   7731   }, {
   7732     key: "setValidity",
   7733     value: function setValidity(inputIsValid) {
   7734       var helperTextIsPersistent = this.adapter_.hasClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].HELPER_TEXT_PERSISTENT);
   7735       var helperTextIsValidationMsg = this.adapter_.hasClass(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].HELPER_TEXT_VALIDATION_MSG);
   7736       var validationMsgNeedsDisplay = helperTextIsValidationMsg && !inputIsValid;
   7737 
   7738       if (validationMsgNeedsDisplay) {
   7739         this.adapter_.setAttr(_constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ROLE, 'alert');
   7740       } else {
   7741         this.adapter_.removeAttr(_constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ROLE);
   7742       }
   7743 
   7744       if (!helperTextIsPersistent && !validationMsgNeedsDisplay) {
   7745         this.hide_();
   7746       }
   7747     }
   7748     /**
   7749      * Hides the help text from screen readers.
   7750      * @private
   7751      */
   7752 
   7753   }, {
   7754     key: "hide_",
   7755     value: function hide_() {
   7756       this.adapter_.setAttr(_constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ARIA_HIDDEN, 'true');
   7757     }
   7758   }]);
   7759 
   7760   return MDCTextFieldHelperTextFoundation;
   7761 }(_material_base_foundation__WEBPACK_IMPORTED_MODULE_0__["default"]);
   7762 
   7763 /* harmony default export */ __webpack_exports__["default"] = (MDCTextFieldHelperTextFoundation);
   7764 
   7765 /***/ }),
   7766 
   7767 /***/ "./node_modules/@material/textfield/helper-text/index.js":
   7768 /*!***************************************************************!*\
   7769   !*** ./node_modules/@material/textfield/helper-text/index.js ***!
   7770   \***************************************************************/
   7771 /*! exports provided: MDCTextFieldHelperText, MDCTextFieldHelperTextFoundation */
   7772 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   7773 
   7774 "use strict";
   7775 __webpack_require__.r(__webpack_exports__);
   7776 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldHelperText", function() { return MDCTextFieldHelperText; });
   7777 /* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/component */ "./node_modules/@material/base/component.js");
   7778 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/textfield/helper-text/adapter.js");
   7779 /* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation */ "./node_modules/@material/textfield/helper-text/foundation.js");
   7780 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldHelperTextFoundation", function() { return _foundation__WEBPACK_IMPORTED_MODULE_2__["default"]; });
   7781 
   7782 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   7783 
   7784 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   7785 
   7786 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); } }
   7787 
   7788 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   7789 
   7790 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   7791 
   7792 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   7793 
   7794 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   7795 
   7796 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   7797 
   7798 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   7799 
   7800 /**
   7801  * @license
   7802  * Copyright 2017 Google Inc. All Rights Reserved.
   7803  *
   7804  * Licensed under the Apache License, Version 2.0 (the "License");
   7805  * you may not use this file except in compliance with the License.
   7806  * You may obtain a copy of the License at
   7807  *
   7808  *      http://www.apache.org/licenses/LICENSE-2.0
   7809  *
   7810  * Unless required by applicable law or agreed to in writing, software
   7811  * distributed under the License is distributed on an "AS IS" BASIS,
   7812  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   7813  * See the License for the specific language governing permissions and
   7814  * limitations under the License.
   7815  */
   7816 
   7817 
   7818 
   7819 /**
   7820  * @extends {MDCComponent<!MDCTextFieldHelperTextFoundation>}
   7821  * @final
   7822  */
   7823 
   7824 var MDCTextFieldHelperText =
   7825 /*#__PURE__*/
   7826 function (_MDCComponent) {
   7827   _inherits(MDCTextFieldHelperText, _MDCComponent);
   7828 
   7829   function MDCTextFieldHelperText() {
   7830     _classCallCheck(this, MDCTextFieldHelperText);
   7831 
   7832     return _possibleConstructorReturn(this, _getPrototypeOf(MDCTextFieldHelperText).apply(this, arguments));
   7833   }
   7834 
   7835   _createClass(MDCTextFieldHelperText, [{
   7836     key: "getDefaultFoundation",
   7837 
   7838     /**
   7839      * @return {!MDCTextFieldHelperTextFoundation}
   7840      */
   7841     value: function getDefaultFoundation() {
   7842       var _this = this;
   7843 
   7844       return new _foundation__WEBPACK_IMPORTED_MODULE_2__["default"](
   7845       /** @type {!MDCTextFieldHelperTextAdapter} */
   7846       Object.assign({
   7847         addClass: function addClass(className) {
   7848           return _this.root_.classList.add(className);
   7849         },
   7850         removeClass: function removeClass(className) {
   7851           return _this.root_.classList.remove(className);
   7852         },
   7853         hasClass: function hasClass(className) {
   7854           return _this.root_.classList.contains(className);
   7855         },
   7856         setAttr: function setAttr(attr, value) {
   7857           return _this.root_.setAttribute(attr, value);
   7858         },
   7859         removeAttr: function removeAttr(attr) {
   7860           return _this.root_.removeAttribute(attr);
   7861         },
   7862         setContent: function setContent(content) {
   7863           _this.root_.textContent = content;
   7864         }
   7865       }));
   7866     }
   7867   }, {
   7868     key: "foundation",
   7869 
   7870     /**
   7871      * @return {!MDCTextFieldHelperTextFoundation}
   7872      */
   7873     get: function get() {
   7874       return this.foundation_;
   7875     }
   7876   }], [{
   7877     key: "attachTo",
   7878 
   7879     /**
   7880      * @param {!Element} root
   7881      * @return {!MDCTextFieldHelperText}
   7882      */
   7883     value: function attachTo(root) {
   7884       return new MDCTextFieldHelperText(root);
   7885     }
   7886   }]);
   7887 
   7888   return MDCTextFieldHelperText;
   7889 }(_material_base_component__WEBPACK_IMPORTED_MODULE_0__["default"]);
   7890 
   7891 
   7892 
   7893 /***/ }),
   7894 
   7895 /***/ "./node_modules/@material/textfield/icon/adapter.js":
   7896 /*!**********************************************************!*\
   7897   !*** ./node_modules/@material/textfield/icon/adapter.js ***!
   7898   \**********************************************************/
   7899 /*! exports provided: default */
   7900 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   7901 
   7902 "use strict";
   7903 __webpack_require__.r(__webpack_exports__);
   7904 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   7905 
   7906 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); } }
   7907 
   7908 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   7909 
   7910 /**
   7911  * @license
   7912  * Copyright 2017 Google Inc. All Rights Reserved.
   7913  *
   7914  * Licensed under the Apache License, Version 2.0 (the "License");
   7915  * you may not use this file except in compliance with the License.
   7916  * You may obtain a copy of the License at
   7917  *
   7918  *      http://www.apache.org/licenses/LICENSE-2.0
   7919  *
   7920  * Unless required by applicable law or agreed to in writing, software
   7921  * distributed under the License is distributed on an "AS IS" BASIS,
   7922  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   7923  * See the License for the specific language governing permissions and
   7924  * limitations under the License.
   7925  */
   7926 
   7927 /* eslint no-unused-vars: [2, {"args": "none"}] */
   7928 
   7929 /**
   7930  * Adapter for MDC Text Field Icon.
   7931  *
   7932  * Defines the shape of the adapter expected by the foundation. Implement this
   7933  * adapter to integrate the text field icon into your framework. See
   7934  * https://github.com/material-components/material-components-web/blob/master/docs/authoring-components.md
   7935  * for more information.
   7936  *
   7937  * @record
   7938  */
   7939 var MDCTextFieldIconAdapter =
   7940 /*#__PURE__*/
   7941 function () {
   7942   function MDCTextFieldIconAdapter() {
   7943     _classCallCheck(this, MDCTextFieldIconAdapter);
   7944   }
   7945 
   7946   _createClass(MDCTextFieldIconAdapter, [{
   7947     key: "getAttr",
   7948 
   7949     /**
   7950      * Gets the value of an attribute on the icon element.
   7951      * @param {string} attr
   7952      * @return {string}
   7953      */
   7954     value: function getAttr(attr) {}
   7955     /**
   7956      * Sets an attribute on the icon element.
   7957      * @param {string} attr
   7958      * @param {string} value
   7959      */
   7960 
   7961   }, {
   7962     key: "setAttr",
   7963     value: function setAttr(attr, value) {}
   7964     /**
   7965      * Removes an attribute from the icon element.
   7966      * @param {string} attr
   7967      */
   7968 
   7969   }, {
   7970     key: "removeAttr",
   7971     value: function removeAttr(attr) {}
   7972     /**
   7973      * Sets the text content of the icon element.
   7974      * @param {string} content
   7975      */
   7976 
   7977   }, {
   7978     key: "setContent",
   7979     value: function setContent(content) {}
   7980     /**
   7981      * Registers an event listener on the icon element for a given event.
   7982      * @param {string} evtType
   7983      * @param {function(!Event): undefined} handler
   7984      */
   7985 
   7986   }, {
   7987     key: "registerInteractionHandler",
   7988     value: function registerInteractionHandler(evtType, handler) {}
   7989     /**
   7990      * Deregisters an event listener on the icon element for a given event.
   7991      * @param {string} evtType
   7992      * @param {function(!Event): undefined} handler
   7993      */
   7994 
   7995   }, {
   7996     key: "deregisterInteractionHandler",
   7997     value: function deregisterInteractionHandler(evtType, handler) {}
   7998     /**
   7999      * Emits a custom event "MDCTextField:icon" denoting a user has clicked the icon.
   8000      */
   8001 
   8002   }, {
   8003     key: "notifyIconAction",
   8004     value: function notifyIconAction() {}
   8005   }]);
   8006 
   8007   return MDCTextFieldIconAdapter;
   8008 }();
   8009 
   8010 /* harmony default export */ __webpack_exports__["default"] = (MDCTextFieldIconAdapter);
   8011 
   8012 /***/ }),
   8013 
   8014 /***/ "./node_modules/@material/textfield/icon/constants.js":
   8015 /*!************************************************************!*\
   8016   !*** ./node_modules/@material/textfield/icon/constants.js ***!
   8017   \************************************************************/
   8018 /*! exports provided: strings */
   8019 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   8020 
   8021 "use strict";
   8022 __webpack_require__.r(__webpack_exports__);
   8023 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return strings; });
   8024 /**
   8025  * @license
   8026  * Copyright 2016 Google Inc. All Rights Reserved.
   8027  *
   8028  * Licensed under the Apache License, Version 2.0 (the "License");
   8029  * you may not use this file except in compliance with the License.
   8030  * You may obtain a copy of the License at
   8031  *
   8032  *      http://www.apache.org/licenses/LICENSE-2.0
   8033  *
   8034  * Unless required by applicable law or agreed to in writing, software
   8035  * distributed under the License is distributed on an "AS IS" BASIS,
   8036  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   8037  * See the License for the specific language governing permissions and
   8038  * limitations under the License.
   8039  */
   8040 
   8041 /** @enum {string} */
   8042 var strings = {
   8043   ICON_EVENT: 'MDCTextField:icon',
   8044   ICON_ROLE: 'button'
   8045 };
   8046 
   8047 
   8048 /***/ }),
   8049 
   8050 /***/ "./node_modules/@material/textfield/icon/foundation.js":
   8051 /*!*************************************************************!*\
   8052   !*** ./node_modules/@material/textfield/icon/foundation.js ***!
   8053   \*************************************************************/
   8054 /*! exports provided: default */
   8055 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   8056 
   8057 "use strict";
   8058 __webpack_require__.r(__webpack_exports__);
   8059 /* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/@material/base/foundation.js");
   8060 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/textfield/icon/adapter.js");
   8061 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/textfield/icon/constants.js");
   8062 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   8063 
   8064 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   8065 
   8066 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   8067 
   8068 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   8069 
   8070 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   8071 
   8072 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); } }
   8073 
   8074 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   8075 
   8076 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   8077 
   8078 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   8079 
   8080 /**
   8081  * @license
   8082  * Copyright 2017 Google Inc. All Rights Reserved.
   8083  *
   8084  * Licensed under the Apache License, Version 2.0 (the "License");
   8085  * you may not use this file except in compliance with the License.
   8086  * You may obtain a copy of the License at
   8087  *
   8088  *      http://www.apache.org/licenses/LICENSE-2.0
   8089  *
   8090  * Unless required by applicable law or agreed to in writing, software
   8091  * distributed under the License is distributed on an "AS IS" BASIS,
   8092  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   8093  * See the License for the specific language governing permissions and
   8094  * limitations under the License.
   8095  */
   8096 
   8097 
   8098 
   8099 /**
   8100  * @extends {MDCFoundation<!MDCTextFieldIconAdapter>}
   8101  * @final
   8102  */
   8103 
   8104 var MDCTextFieldIconFoundation =
   8105 /*#__PURE__*/
   8106 function (_MDCFoundation) {
   8107   _inherits(MDCTextFieldIconFoundation, _MDCFoundation);
   8108 
   8109   _createClass(MDCTextFieldIconFoundation, null, [{
   8110     key: "strings",
   8111 
   8112     /** @return enum {string} */
   8113     get: function get() {
   8114       return _constants__WEBPACK_IMPORTED_MODULE_2__["strings"];
   8115     }
   8116     /**
   8117      * {@see MDCTextFieldIconAdapter} for typing information on parameters and return
   8118      * types.
   8119      * @return {!MDCTextFieldIconAdapter}
   8120      */
   8121 
   8122   }, {
   8123     key: "defaultAdapter",
   8124     get: function get() {
   8125       return (
   8126         /** @type {!MDCTextFieldIconAdapter} */
   8127         {
   8128           getAttr: function getAttr() {},
   8129           setAttr: function setAttr() {},
   8130           removeAttr: function removeAttr() {},
   8131           setContent: function setContent() {},
   8132           registerInteractionHandler: function registerInteractionHandler() {},
   8133           deregisterInteractionHandler: function deregisterInteractionHandler() {},
   8134           notifyIconAction: function notifyIconAction() {}
   8135         }
   8136       );
   8137     }
   8138     /**
   8139      * @param {!MDCTextFieldIconAdapter} adapter
   8140      */
   8141 
   8142   }]);
   8143 
   8144   function MDCTextFieldIconFoundation(adapter) {
   8145     var _this;
   8146 
   8147     _classCallCheck(this, MDCTextFieldIconFoundation);
   8148 
   8149     _this = _possibleConstructorReturn(this, _getPrototypeOf(MDCTextFieldIconFoundation).call(this, Object.assign(MDCTextFieldIconFoundation.defaultAdapter, adapter)));
   8150     /** @private {string?} */
   8151 
   8152     _this.savedTabIndex_ = null;
   8153     /** @private {function(!Event): undefined} */
   8154 
   8155     _this.interactionHandler_ = function (evt) {
   8156       return _this.handleInteraction(evt);
   8157     };
   8158 
   8159     return _this;
   8160   }
   8161 
   8162   _createClass(MDCTextFieldIconFoundation, [{
   8163     key: "init",
   8164     value: function init() {
   8165       var _this2 = this;
   8166 
   8167       this.savedTabIndex_ = this.adapter_.getAttr('tabindex');
   8168       ['click', 'keydown'].forEach(function (evtType) {
   8169         _this2.adapter_.registerInteractionHandler(evtType, _this2.interactionHandler_);
   8170       });
   8171     }
   8172   }, {
   8173     key: "destroy",
   8174     value: function destroy() {
   8175       var _this3 = this;
   8176 
   8177       ['click', 'keydown'].forEach(function (evtType) {
   8178         _this3.adapter_.deregisterInteractionHandler(evtType, _this3.interactionHandler_);
   8179       });
   8180     }
   8181     /** @param {boolean} disabled */
   8182 
   8183   }, {
   8184     key: "setDisabled",
   8185     value: function setDisabled(disabled) {
   8186       if (!this.savedTabIndex_) {
   8187         return;
   8188       }
   8189 
   8190       if (disabled) {
   8191         this.adapter_.setAttr('tabindex', '-1');
   8192         this.adapter_.removeAttr('role');
   8193       } else {
   8194         this.adapter_.setAttr('tabindex', this.savedTabIndex_);
   8195         this.adapter_.setAttr('role', _constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ICON_ROLE);
   8196       }
   8197     }
   8198     /** @param {string} label */
   8199 
   8200   }, {
   8201     key: "setAriaLabel",
   8202     value: function setAriaLabel(label) {
   8203       this.adapter_.setAttr('aria-label', label);
   8204     }
   8205     /** @param {string} content */
   8206 
   8207   }, {
   8208     key: "setContent",
   8209     value: function setContent(content) {
   8210       this.adapter_.setContent(content);
   8211     }
   8212     /**
   8213      * Handles an interaction event
   8214      * @param {!Event} evt
   8215      */
   8216 
   8217   }, {
   8218     key: "handleInteraction",
   8219     value: function handleInteraction(evt) {
   8220       if (evt.type === 'click' || evt.key === 'Enter' || evt.keyCode === 13) {
   8221         this.adapter_.notifyIconAction();
   8222       }
   8223     }
   8224   }]);
   8225 
   8226   return MDCTextFieldIconFoundation;
   8227 }(_material_base_foundation__WEBPACK_IMPORTED_MODULE_0__["default"]);
   8228 
   8229 /* harmony default export */ __webpack_exports__["default"] = (MDCTextFieldIconFoundation);
   8230 
   8231 /***/ }),
   8232 
   8233 /***/ "./node_modules/@material/textfield/icon/index.js":
   8234 /*!********************************************************!*\
   8235   !*** ./node_modules/@material/textfield/icon/index.js ***!
   8236   \********************************************************/
   8237 /*! exports provided: MDCTextFieldIcon, MDCTextFieldIconFoundation */
   8238 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   8239 
   8240 "use strict";
   8241 __webpack_require__.r(__webpack_exports__);
   8242 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldIcon", function() { return MDCTextFieldIcon; });
   8243 /* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/component */ "./node_modules/@material/base/component.js");
   8244 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/textfield/icon/adapter.js");
   8245 /* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation */ "./node_modules/@material/textfield/icon/foundation.js");
   8246 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldIconFoundation", function() { return _foundation__WEBPACK_IMPORTED_MODULE_2__["default"]; });
   8247 
   8248 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   8249 
   8250 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   8251 
   8252 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); } }
   8253 
   8254 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   8255 
   8256 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   8257 
   8258 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   8259 
   8260 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   8261 
   8262 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   8263 
   8264 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   8265 
   8266 /**
   8267  * @license
   8268  * Copyright 2017 Google Inc. All Rights Reserved.
   8269  *
   8270  * Licensed under the Apache License, Version 2.0 (the "License");
   8271  * you may not use this file except in compliance with the License.
   8272  * You may obtain a copy of the License at
   8273  *
   8274  *      http://www.apache.org/licenses/LICENSE-2.0
   8275  *
   8276  * Unless required by applicable law or agreed to in writing, software
   8277  * distributed under the License is distributed on an "AS IS" BASIS,
   8278  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   8279  * See the License for the specific language governing permissions and
   8280  * limitations under the License.
   8281  */
   8282 
   8283 
   8284 
   8285 /**
   8286  * @extends {MDCComponent<!MDCTextFieldIconFoundation>}
   8287  * @final
   8288  */
   8289 
   8290 var MDCTextFieldIcon =
   8291 /*#__PURE__*/
   8292 function (_MDCComponent) {
   8293   _inherits(MDCTextFieldIcon, _MDCComponent);
   8294 
   8295   function MDCTextFieldIcon() {
   8296     _classCallCheck(this, MDCTextFieldIcon);
   8297 
   8298     return _possibleConstructorReturn(this, _getPrototypeOf(MDCTextFieldIcon).apply(this, arguments));
   8299   }
   8300 
   8301   _createClass(MDCTextFieldIcon, [{
   8302     key: "getDefaultFoundation",
   8303 
   8304     /**
   8305      * @return {!MDCTextFieldIconFoundation}
   8306      */
   8307     value: function getDefaultFoundation() {
   8308       var _this = this;
   8309 
   8310       return new _foundation__WEBPACK_IMPORTED_MODULE_2__["default"](
   8311       /** @type {!MDCTextFieldIconAdapter} */
   8312       Object.assign({
   8313         getAttr: function getAttr(attr) {
   8314           return _this.root_.getAttribute(attr);
   8315         },
   8316         setAttr: function setAttr(attr, value) {
   8317           return _this.root_.setAttribute(attr, value);
   8318         },
   8319         removeAttr: function removeAttr(attr) {
   8320           return _this.root_.removeAttribute(attr);
   8321         },
   8322         setContent: function setContent(content) {
   8323           _this.root_.textContent = content;
   8324         },
   8325         registerInteractionHandler: function registerInteractionHandler(evtType, handler) {
   8326           return _this.root_.addEventListener(evtType, handler);
   8327         },
   8328         deregisterInteractionHandler: function deregisterInteractionHandler(evtType, handler) {
   8329           return _this.root_.removeEventListener(evtType, handler);
   8330         },
   8331         notifyIconAction: function notifyIconAction() {
   8332           return _this.emit(_foundation__WEBPACK_IMPORTED_MODULE_2__["default"].strings.ICON_EVENT, {}
   8333           /* evtData */
   8334           , true
   8335           /* shouldBubble */
   8336           );
   8337         }
   8338       }));
   8339     }
   8340   }, {
   8341     key: "foundation",
   8342 
   8343     /**
   8344      * @return {!MDCTextFieldIconFoundation}
   8345      */
   8346     get: function get() {
   8347       return this.foundation_;
   8348     }
   8349   }], [{
   8350     key: "attachTo",
   8351 
   8352     /**
   8353      * @param {!Element} root
   8354      * @return {!MDCTextFieldIcon}
   8355      */
   8356     value: function attachTo(root) {
   8357       return new MDCTextFieldIcon(root);
   8358     }
   8359   }]);
   8360 
   8361   return MDCTextFieldIcon;
   8362 }(_material_base_component__WEBPACK_IMPORTED_MODULE_0__["default"]);
   8363 
   8364 
   8365 
   8366 /***/ }),
   8367 
   8368 /***/ "./node_modules/@material/textfield/index.js":
   8369 /*!***************************************************!*\
   8370   !*** ./node_modules/@material/textfield/index.js ***!
   8371   \***************************************************/
   8372 /*! exports provided: MDCTextField, MDCTextFieldFoundation, MDCTextFieldHelperText, MDCTextFieldHelperTextFoundation, MDCTextFieldIcon, MDCTextFieldIconFoundation */
   8373 /***/ (function(module, __webpack_exports__, __webpack_require__) {
   8374 
   8375 "use strict";
   8376 __webpack_require__.r(__webpack_exports__);
   8377 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextField", function() { return MDCTextField; });
   8378 /* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/base/component */ "./node_modules/@material/base/component.js");
   8379 /* harmony import */ var _material_ripple_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/ripple/index */ "./node_modules/@material/ripple/index.js");
   8380 /* harmony import */ var _material_ripple_util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/ripple/util */ "./node_modules/@material/ripple/util.js");
   8381 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ "./node_modules/@material/textfield/constants.js");
   8382 /* harmony import */ var _adapter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./adapter */ "./node_modules/@material/textfield/adapter.js");
   8383 /* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation */ "./node_modules/@material/textfield/foundation.js");
   8384 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldFoundation", function() { return _foundation__WEBPACK_IMPORTED_MODULE_5__["default"]; });
   8385 
   8386 /* harmony import */ var _material_line_ripple_index__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @material/line-ripple/index */ "./node_modules/@material/line-ripple/index.js");
   8387 /* harmony import */ var _helper_text_index__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./helper-text/index */ "./node_modules/@material/textfield/helper-text/index.js");
   8388 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldHelperText", function() { return _helper_text_index__WEBPACK_IMPORTED_MODULE_7__["MDCTextFieldHelperText"]; });
   8389 
   8390 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldHelperTextFoundation", function() { return _helper_text_index__WEBPACK_IMPORTED_MODULE_7__["MDCTextFieldHelperTextFoundation"]; });
   8391 
   8392 /* harmony import */ var _icon_index__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./icon/index */ "./node_modules/@material/textfield/icon/index.js");
   8393 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldIcon", function() { return _icon_index__WEBPACK_IMPORTED_MODULE_8__["MDCTextFieldIcon"]; });
   8394 
   8395 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldIconFoundation", function() { return _icon_index__WEBPACK_IMPORTED_MODULE_8__["MDCTextFieldIconFoundation"]; });
   8396 
   8397 /* harmony import */ var _material_floating_label_index__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material/floating-label/index */ "./node_modules/@material/floating-label/index.js");
   8398 /* harmony import */ var _material_notched_outline_index__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @material/notched-outline/index */ "./node_modules/@material/notched-outline/index.js");
   8399 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   8400 
   8401 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
   8402 
   8403 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); } }
   8404 
   8405 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
   8406 
   8407 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
   8408 
   8409 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
   8410 
   8411 function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
   8412 
   8413 function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
   8414 
   8415 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
   8416 
   8417 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
   8418 
   8419 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
   8420 
   8421 /**
   8422  * @license
   8423  * Copyright 2016 Google Inc. All Rights Reserved.
   8424  *
   8425  * Licensed under the Apache License, Version 2.0 (the "License");
   8426  * you may not use this file except in compliance with the License.
   8427  * You may obtain a copy of the License at
   8428  *
   8429  *      http://www.apache.org/licenses/LICENSE-2.0
   8430  *
   8431  * Unless required by applicable law or agreed to in writing, software
   8432  * distributed under the License is distributed on an "AS IS" BASIS,
   8433  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   8434  * See the License for the specific language governing permissions and
   8435  * limitations under the License.
   8436  */
   8437 
   8438 /* eslint-disable no-unused-vars */
   8439 
   8440 
   8441 /* eslint-enable no-unused-vars */
   8442 
   8443 
   8444 
   8445 
   8446 
   8447 /* eslint-disable no-unused-vars */
   8448 
   8449 
   8450 
   8451 
   8452 
   8453 
   8454 /* eslint-enable no-unused-vars */
   8455 
   8456 /**
   8457  * @extends {MDCComponent<!MDCTextFieldFoundation>}
   8458  * @final
   8459  */
   8460 
   8461 var MDCTextField =
   8462 /*#__PURE__*/
   8463 function (_MDCComponent) {
   8464   _inherits(MDCTextField, _MDCComponent);
   8465 
   8466   /**
   8467    * @param {...?} args
   8468    */
   8469   function MDCTextField() {
   8470     var _getPrototypeOf2;
   8471 
   8472     var _this;
   8473 
   8474     _classCallCheck(this, MDCTextField);
   8475 
   8476     for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
   8477       args[_key] = arguments[_key];
   8478     }
   8479 
   8480     _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(MDCTextField)).call.apply(_getPrototypeOf2, [this].concat(args)));
   8481     /** @private {?Element} */
   8482 
   8483     _this.input_;
   8484     /** @type {?MDCRipple} */
   8485 
   8486     _this.ripple;
   8487     /** @private {?MDCLineRipple} */
   8488 
   8489     _this.lineRipple_;
   8490     /** @private {?MDCTextFieldHelperText} */
   8491 
   8492     _this.helperText_;
   8493     /** @private {?MDCTextFieldIcon} */
   8494 
   8495     _this.icon_;
   8496     /** @private {?MDCFloatingLabel} */
   8497 
   8498     _this.label_;
   8499     /** @private {?MDCNotchedOutline} */
   8500 
   8501     _this.outline_;
   8502     return _this;
   8503   }
   8504   /**
   8505    * @param {!Element} root
   8506    * @return {!MDCTextField}
   8507    */
   8508 
   8509 
   8510   _createClass(MDCTextField, [{
   8511     key: "initialize",
   8512 
   8513     /**
   8514      * @param {(function(!Element): !MDCRipple)=} rippleFactory A function which
   8515      * creates a new MDCRipple.
   8516      * @param {(function(!Element): !MDCLineRipple)=} lineRippleFactory A function which
   8517      * creates a new MDCLineRipple.
   8518      * @param {(function(!Element): !MDCTextFieldHelperText)=} helperTextFactory A function which
   8519      * creates a new MDCTextFieldHelperText.
   8520      * @param {(function(!Element): !MDCTextFieldIcon)=} iconFactory A function which
   8521      * creates a new MDCTextFieldIcon.
   8522      * @param {(function(!Element): !MDCFloatingLabel)=} labelFactory A function which
   8523      * creates a new MDCFloatingLabel.
   8524      * @param {(function(!Element): !MDCNotchedOutline)=} outlineFactory A function which
   8525      * creates a new MDCNotchedOutline.
   8526      */
   8527     value: function initialize() {
   8528       var _this2 = this;
   8529 
   8530       var rippleFactory = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (el, foundation) {
   8531         return new _material_ripple_index__WEBPACK_IMPORTED_MODULE_1__["MDCRipple"](el, foundation);
   8532       };
   8533       var lineRippleFactory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (el) {
   8534         return new _material_line_ripple_index__WEBPACK_IMPORTED_MODULE_6__["MDCLineRipple"](el);
   8535       };
   8536       var helperTextFactory = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (el) {
   8537         return new _helper_text_index__WEBPACK_IMPORTED_MODULE_7__["MDCTextFieldHelperText"](el);
   8538       };
   8539       var iconFactory = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function (el) {
   8540         return new _icon_index__WEBPACK_IMPORTED_MODULE_8__["MDCTextFieldIcon"](el);
   8541       };
   8542       var labelFactory = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function (el) {
   8543         return new _material_floating_label_index__WEBPACK_IMPORTED_MODULE_9__["MDCFloatingLabel"](el);
   8544       };
   8545       var outlineFactory = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : function (el) {
   8546         return new _material_notched_outline_index__WEBPACK_IMPORTED_MODULE_10__["MDCNotchedOutline"](el);
   8547       };
   8548       this.input_ = this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].INPUT_SELECTOR);
   8549       var labelElement = this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].LABEL_SELECTOR);
   8550 
   8551       if (labelElement) {
   8552         this.label_ = labelFactory(labelElement);
   8553       }
   8554 
   8555       var lineRippleElement = this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].LINE_RIPPLE_SELECTOR);
   8556 
   8557       if (lineRippleElement) {
   8558         this.lineRipple_ = lineRippleFactory(lineRippleElement);
   8559       }
   8560 
   8561       var outlineElement = this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].OUTLINE_SELECTOR);
   8562 
   8563       if (outlineElement) {
   8564         this.outline_ = outlineFactory(outlineElement);
   8565       }
   8566 
   8567       if (this.input_.hasAttribute(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ARIA_CONTROLS)) {
   8568         var helperTextElement = document.getElementById(this.input_.getAttribute(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ARIA_CONTROLS));
   8569 
   8570         if (helperTextElement) {
   8571           this.helperText_ = helperTextFactory(helperTextElement);
   8572         }
   8573       }
   8574 
   8575       var iconElement = this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ICON_SELECTOR);
   8576 
   8577       if (iconElement) {
   8578         this.icon_ = iconFactory(iconElement);
   8579       }
   8580 
   8581       this.ripple = null;
   8582 
   8583       if (this.root_.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_3__["cssClasses"].BOX)) {
   8584         var MATCHES = Object(_material_ripple_util__WEBPACK_IMPORTED_MODULE_2__["getMatchesProperty"])(HTMLElement.prototype);
   8585         var adapter = Object.assign(_material_ripple_index__WEBPACK_IMPORTED_MODULE_1__["MDCRipple"].createAdapter(
   8586         /** @type {!RippleCapableSurface} */
   8587         this), {
   8588           isSurfaceActive: function isSurfaceActive() {
   8589             return _this2.input_[MATCHES](':active');
   8590           },
   8591           registerInteractionHandler: function registerInteractionHandler(type, handler) {
   8592             return _this2.input_.addEventListener(type, handler);
   8593           },
   8594           deregisterInteractionHandler: function deregisterInteractionHandler(type, handler) {
   8595             return _this2.input_.removeEventListener(type, handler);
   8596           }
   8597         });
   8598         var foundation = new _material_ripple_index__WEBPACK_IMPORTED_MODULE_1__["MDCRippleFoundation"](adapter);
   8599         this.ripple = rippleFactory(this.root_, foundation);
   8600       }
   8601     }
   8602   }, {
   8603     key: "destroy",
   8604     value: function destroy() {
   8605       if (this.ripple) {
   8606         this.ripple.destroy();
   8607       }
   8608 
   8609       if (this.lineRipple_) {
   8610         this.lineRipple_.destroy();
   8611       }
   8612 
   8613       if (this.helperText_) {
   8614         this.helperText_.destroy();
   8615       }
   8616 
   8617       if (this.icon_) {
   8618         this.icon_.destroy();
   8619       }
   8620 
   8621       if (this.label_) {
   8622         this.label_.destroy();
   8623       }
   8624 
   8625       if (this.outline_) {
   8626         this.outline_.destroy();
   8627       }
   8628 
   8629       _get(_getPrototypeOf(MDCTextField.prototype), "destroy", this).call(this);
   8630     }
   8631     /**
   8632      * Initiliazes the Text Field's internal state based on the environment's
   8633      * state.
   8634      */
   8635 
   8636   }, {
   8637     key: "initialSyncWithDom",
   8638     value: function initialSyncWithDom() {
   8639       this.disabled = this.input_.disabled;
   8640     }
   8641     /**
   8642      * @return {string} The value of the input.
   8643      */
   8644 
   8645   }, {
   8646     key: "layout",
   8647 
   8648     /**
   8649      * Recomputes the outline SVG path for the outline element.
   8650      */
   8651     value: function layout() {
   8652       var openNotch = this.foundation_.shouldFloat;
   8653       this.foundation_.notchOutline(openNotch);
   8654     }
   8655     /**
   8656      * @return {!MDCTextFieldFoundation}
   8657      */
   8658 
   8659   }, {
   8660     key: "getDefaultFoundation",
   8661     value: function getDefaultFoundation() {
   8662       var _this3 = this;
   8663 
   8664       return new _foundation__WEBPACK_IMPORTED_MODULE_5__["default"](
   8665       /** @type {!MDCTextFieldAdapter} */
   8666       Object.assign({
   8667         addClass: function addClass(className) {
   8668           return _this3.root_.classList.add(className);
   8669         },
   8670         removeClass: function removeClass(className) {
   8671           return _this3.root_.classList.remove(className);
   8672         },
   8673         hasClass: function hasClass(className) {
   8674           return _this3.root_.classList.contains(className);
   8675         },
   8676         registerTextFieldInteractionHandler: function registerTextFieldInteractionHandler(evtType, handler) {
   8677           return _this3.root_.addEventListener(evtType, handler);
   8678         },
   8679         deregisterTextFieldInteractionHandler: function deregisterTextFieldInteractionHandler(evtType, handler) {
   8680           return _this3.root_.removeEventListener(evtType, handler);
   8681         },
   8682         registerValidationAttributeChangeHandler: function registerValidationAttributeChangeHandler(handler) {
   8683           var getAttributesList = function getAttributesList(mutationsList) {
   8684             return mutationsList.map(function (mutation) {
   8685               return mutation.attributeName;
   8686             });
   8687           };
   8688 
   8689           var observer = new MutationObserver(function (mutationsList) {
   8690             return handler(getAttributesList(mutationsList));
   8691           });
   8692 
   8693           var targetNode = _this3.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].INPUT_SELECTOR);
   8694 
   8695           var config = {
   8696             attributes: true
   8697           };
   8698           observer.observe(targetNode, config);
   8699           return observer;
   8700         },
   8701         deregisterValidationAttributeChangeHandler: function deregisterValidationAttributeChangeHandler(observer) {
   8702           return observer.disconnect();
   8703         },
   8704         isFocused: function isFocused() {
   8705           return document.activeElement === _this3.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].INPUT_SELECTOR);
   8706         },
   8707         isRtl: function isRtl() {
   8708           return window.getComputedStyle(_this3.root_).getPropertyValue('direction') === 'rtl';
   8709         }
   8710       }, this.getInputAdapterMethods_(), this.getLabelAdapterMethods_(), this.getLineRippleAdapterMethods_(), this.getOutlineAdapterMethods_()), this.getFoundationMap_());
   8711     }
   8712     /**
   8713      * @return {!{
   8714      *   shakeLabel: function(boolean): undefined,
   8715      *   floatLabel: function(boolean): undefined,
   8716      *   hasLabel: function(): boolean,
   8717      *   getLabelWidth: function(): number,
   8718      * }}
   8719      */
   8720 
   8721   }, {
   8722     key: "getLabelAdapterMethods_",
   8723     value: function getLabelAdapterMethods_() {
   8724       var _this4 = this;
   8725 
   8726       return {
   8727         shakeLabel: function shakeLabel(shouldShake) {
   8728           return _this4.label_.shake(shouldShake);
   8729         },
   8730         floatLabel: function floatLabel(shouldFloat) {
   8731           return _this4.label_.float(shouldFloat);
   8732         },
   8733         hasLabel: function hasLabel() {
   8734           return !!_this4.label_;
   8735         },
   8736         getLabelWidth: function getLabelWidth() {
   8737           return _this4.label_.getWidth();
   8738         }
   8739       };
   8740     }
   8741     /**
   8742      * @return {!{
   8743      *   activateLineRipple: function(): undefined,
   8744      *   deactivateLineRipple: function(): undefined,
   8745      *   setLineRippleTransformOrigin: function(number): undefined,
   8746      * }}
   8747      */
   8748 
   8749   }, {
   8750     key: "getLineRippleAdapterMethods_",
   8751     value: function getLineRippleAdapterMethods_() {
   8752       var _this5 = this;
   8753 
   8754       return {
   8755         activateLineRipple: function activateLineRipple() {
   8756           if (_this5.lineRipple_) {
   8757             _this5.lineRipple_.activate();
   8758           }
   8759         },
   8760         deactivateLineRipple: function deactivateLineRipple() {
   8761           if (_this5.lineRipple_) {
   8762             _this5.lineRipple_.deactivate();
   8763           }
   8764         },
   8765         setLineRippleTransformOrigin: function setLineRippleTransformOrigin(normalizedX) {
   8766           if (_this5.lineRipple_) {
   8767             _this5.lineRipple_.setRippleCenter(normalizedX);
   8768           }
   8769         }
   8770       };
   8771     }
   8772     /**
   8773      * @return {!{
   8774      *   notchOutline: function(number, boolean): undefined,
   8775      *   hasOutline: function(): boolean,
   8776      * }}
   8777      */
   8778 
   8779   }, {
   8780     key: "getOutlineAdapterMethods_",
   8781     value: function getOutlineAdapterMethods_() {
   8782       var _this6 = this;
   8783 
   8784       return {
   8785         notchOutline: function notchOutline(labelWidth, isRtl) {
   8786           return _this6.outline_.notch(labelWidth, isRtl);
   8787         },
   8788         closeOutline: function closeOutline() {
   8789           return _this6.outline_.closeNotch();
   8790         },
   8791         hasOutline: function hasOutline() {
   8792           return !!_this6.outline_;
   8793         }
   8794       };
   8795     }
   8796     /**
   8797      * @return {!{
   8798      *   registerInputInteractionHandler: function(string, function()): undefined,
   8799      *   deregisterInputInteractionHandler: function(string, function()): undefined,
   8800      *   getNativeInput: function(): ?Element,
   8801      * }}
   8802      */
   8803 
   8804   }, {
   8805     key: "getInputAdapterMethods_",
   8806     value: function getInputAdapterMethods_() {
   8807       var _this7 = this;
   8808 
   8809       return {
   8810         registerInputInteractionHandler: function registerInputInteractionHandler(evtType, handler) {
   8811           return _this7.input_.addEventListener(evtType, handler);
   8812         },
   8813         deregisterInputInteractionHandler: function deregisterInputInteractionHandler(evtType, handler) {
   8814           return _this7.input_.removeEventListener(evtType, handler);
   8815         },
   8816         getNativeInput: function getNativeInput() {
   8817           return _this7.input_;
   8818         }
   8819       };
   8820     }
   8821     /**
   8822      * Returns a map of all subcomponents to subfoundations.
   8823      * @return {!FoundationMapType}
   8824      */
   8825 
   8826   }, {
   8827     key: "getFoundationMap_",
   8828     value: function getFoundationMap_() {
   8829       return {
   8830         helperText: this.helperText_ ? this.helperText_.foundation : undefined,
   8831         icon: this.icon_ ? this.icon_.foundation : undefined
   8832       };
   8833     }
   8834   }, {
   8835     key: "value",
   8836     get: function get() {
   8837       return this.foundation_.getValue();
   8838     }
   8839     /**
   8840      * @param {string} value The value to set on the input.
   8841      */
   8842     ,
   8843     set: function set(value) {
   8844       this.foundation_.setValue(value);
   8845     }
   8846     /**
   8847      * @return {boolean} True if the Text Field is disabled.
   8848      */
   8849 
   8850   }, {
   8851     key: "disabled",
   8852     get: function get() {
   8853       return this.foundation_.isDisabled();
   8854     }
   8855     /**
   8856      * @param {boolean} disabled Sets the Text Field disabled or enabled.
   8857      */
   8858     ,
   8859     set: function set(disabled) {
   8860       this.foundation_.setDisabled(disabled);
   8861     }
   8862     /**
   8863      * @return {boolean} valid True if the Text Field is valid.
   8864      */
   8865 
   8866   }, {
   8867     key: "valid",
   8868     get: function get() {
   8869       return this.foundation_.isValid();
   8870     }
   8871     /**
   8872      * @param {boolean} valid Sets the Text Field valid or invalid.
   8873      */
   8874     ,
   8875     set: function set(valid) {
   8876       this.foundation_.setValid(valid);
   8877     }
   8878     /**
   8879      * @return {boolean} True if the Text Field is required.
   8880      */
   8881 
   8882   }, {
   8883     key: "required",
   8884     get: function get() {
   8885       return this.input_.required;
   8886     }
   8887     /**
   8888      * @param {boolean} required Sets the Text Field to required.
   8889      */
   8890     ,
   8891     set: function set(required) {
   8892       this.input_.required = required;
   8893     }
   8894     /**
   8895      * @return {string} The input element's validation pattern.
   8896      */
   8897 
   8898   }, {
   8899     key: "pattern",
   8900     get: function get() {
   8901       return this.input_.pattern;
   8902     }
   8903     /**
   8904      * @param {string} pattern Sets the input element's validation pattern.
   8905      */
   8906     ,
   8907     set: function set(pattern) {
   8908       this.input_.pattern = pattern;
   8909     }
   8910     /**
   8911      * @return {number} The input element's minLength.
   8912      */
   8913 
   8914   }, {
   8915     key: "minLength",
   8916     get: function get() {
   8917       return this.input_.minLength;
   8918     }
   8919     /**
   8920      * @param {number} minLength Sets the input element's minLength.
   8921      */
   8922     ,
   8923     set: function set(minLength) {
   8924       this.input_.minLength = minLength;
   8925     }
   8926     /**
   8927      * @return {number} The input element's maxLength.
   8928      */
   8929 
   8930   }, {
   8931     key: "maxLength",
   8932     get: function get() {
   8933       return this.input_.maxLength;
   8934     }
   8935     /**
   8936      * @param {number} maxLength Sets the input element's maxLength.
   8937      */
   8938     ,
   8939     set: function set(maxLength) {
   8940       // Chrome throws exception if maxLength is set < 0
   8941       if (maxLength < 0) {
   8942         this.input_.removeAttribute('maxLength');
   8943       } else {
   8944         this.input_.maxLength = maxLength;
   8945       }
   8946     }
   8947     /**
   8948      * @return {string} The input element's min.
   8949      */
   8950 
   8951   }, {
   8952     key: "min",
   8953     get: function get() {
   8954       return this.input_.min;
   8955     }
   8956     /**
   8957      * @param {string} min Sets the input element's min.
   8958      */
   8959     ,
   8960     set: function set(min) {
   8961       this.input_.min = min;
   8962     }
   8963     /**
   8964      * @return {string} The input element's max.
   8965      */
   8966 
   8967   }, {
   8968     key: "max",
   8969     get: function get() {
   8970       return this.input_.max;
   8971     }
   8972     /**
   8973      * @param {string} max Sets the input element's max.
   8974      */
   8975     ,
   8976     set: function set(max) {
   8977       this.input_.max = max;
   8978     }
   8979     /**
   8980      * @return {string} The input element's step.
   8981      */
   8982 
   8983   }, {
   8984     key: "step",
   8985     get: function get() {
   8986       return this.input_.step;
   8987     }
   8988     /**
   8989      * @param {string} step Sets the input element's step.
   8990      */
   8991     ,
   8992     set: function set(step) {
   8993       this.input_.step = step;
   8994     }
   8995     /**
   8996      * Sets the helper text element content.
   8997      * @param {string} content
   8998      */
   8999 
   9000   }, {
   9001     key: "helperTextContent",
   9002     set: function set(content) {
   9003       this.foundation_.setHelperTextContent(content);
   9004     }
   9005     /**
   9006      * Sets the aria label of the icon.
   9007      * @param {string} label
   9008      */
   9009 
   9010   }, {
   9011     key: "iconAriaLabel",
   9012     set: function set(label) {
   9013       this.foundation_.setIconAriaLabel(label);
   9014     }
   9015     /**
   9016      * Sets the text content of the icon.
   9017      * @param {string} content
   9018      */
   9019 
   9020   }, {
   9021     key: "iconContent",
   9022     set: function set(content) {
   9023       this.foundation_.setIconContent(content);
   9024     }
   9025   }], [{
   9026     key: "attachTo",
   9027     value: function attachTo(root) {
   9028       return new MDCTextField(root);
   9029     }
   9030   }]);
   9031 
   9032   return MDCTextField;
   9033 }(_material_base_component__WEBPACK_IMPORTED_MODULE_0__["default"]);
   9034 
   9035 
   9036 
   9037 /***/ }),
   9038 
   9039 /***/ "./node_modules/es6-promise/dist/es6-promise.js":
   9040 /*!******************************************************!*\
   9041   !*** ./node_modules/es6-promise/dist/es6-promise.js ***!
   9042   \******************************************************/
   9043 /*! no static exports found */
   9044 /***/ (function(module, exports, __webpack_require__) {
   9045 
   9046 /* WEBPACK VAR INJECTION */(function(process, global) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
   9047 
   9048 /*!
   9049  * @overview es6-promise - a tiny implementation of Promises/A+.
   9050  * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
   9051  * @license   Licensed under MIT license
   9052  *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
   9053  * @version   v4.2.6+9869a4bc
   9054  */
   9055 (function (global, factory) {
   9056   ( false ? undefined : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() :  true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
   9057 				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
   9058 				(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
   9059 				__WEBPACK_AMD_DEFINE_FACTORY__),
   9060 				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : undefined;
   9061 })(this, function () {
   9062   'use strict';
   9063 
   9064   function objectOrFunction(x) {
   9065     var type = _typeof(x);
   9066 
   9067     return x !== null && (type === 'object' || type === 'function');
   9068   }
   9069 
   9070   function isFunction(x) {
   9071     return typeof x === 'function';
   9072   }
   9073 
   9074   var _isArray = void 0;
   9075 
   9076   if (Array.isArray) {
   9077     _isArray = Array.isArray;
   9078   } else {
   9079     _isArray = function _isArray(x) {
   9080       return Object.prototype.toString.call(x) === '[object Array]';
   9081     };
   9082   }
   9083 
   9084   var isArray = _isArray;
   9085   var len = 0;
   9086   var vertxNext = void 0;
   9087   var customSchedulerFn = void 0;
   9088 
   9089   var asap = function asap(callback, arg) {
   9090     queue[len] = callback;
   9091     queue[len + 1] = arg;
   9092     len += 2;
   9093 
   9094     if (len === 2) {
   9095       // If len is 2, that means that we need to schedule an async flush.
   9096       // If additional callbacks are queued before the queue is flushed, they
   9097       // will be processed by this flush that we are scheduling.
   9098       if (customSchedulerFn) {
   9099         customSchedulerFn(flush);
   9100       } else {
   9101         scheduleFlush();
   9102       }
   9103     }
   9104   };
   9105 
   9106   function setScheduler(scheduleFn) {
   9107     customSchedulerFn = scheduleFn;
   9108   }
   9109 
   9110   function setAsap(asapFn) {
   9111     asap = asapFn;
   9112   }
   9113 
   9114   var browserWindow = typeof window !== 'undefined' ? window : undefined;
   9115   var browserGlobal = browserWindow || {};
   9116   var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
   9117   var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'; // test for web worker but not in IE10
   9118 
   9119   var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'; // node
   9120 
   9121   function useNextTick() {
   9122     // node version 0.10.x displays a deprecation warning when nextTick is used recursively
   9123     // see https://github.com/cujojs/when/issues/410 for details
   9124     return function () {
   9125       return process.nextTick(flush);
   9126     };
   9127   } // vertx
   9128 
   9129 
   9130   function useVertxTimer() {
   9131     if (typeof vertxNext !== 'undefined') {
   9132       return function () {
   9133         vertxNext(flush);
   9134       };
   9135     }
   9136 
   9137     return useSetTimeout();
   9138   }
   9139 
   9140   function useMutationObserver() {
   9141     var iterations = 0;
   9142     var observer = new BrowserMutationObserver(flush);
   9143     var node = document.createTextNode('');
   9144     observer.observe(node, {
   9145       characterData: true
   9146     });
   9147     return function () {
   9148       node.data = iterations = ++iterations % 2;
   9149     };
   9150   } // web worker
   9151 
   9152 
   9153   function useMessageChannel() {
   9154     var channel = new MessageChannel();
   9155     channel.port1.onmessage = flush;
   9156     return function () {
   9157       return channel.port2.postMessage(0);
   9158     };
   9159   }
   9160 
   9161   function useSetTimeout() {
   9162     // Store setTimeout reference so es6-promise will be unaffected by
   9163     // other code modifying setTimeout (like sinon.useFakeTimers())
   9164     var globalSetTimeout = setTimeout;
   9165     return function () {
   9166       return globalSetTimeout(flush, 1);
   9167     };
   9168   }
   9169 
   9170   var queue = new Array(1000);
   9171 
   9172   function flush() {
   9173     for (var i = 0; i < len; i += 2) {
   9174       var callback = queue[i];
   9175       var arg = queue[i + 1];
   9176       callback(arg);
   9177       queue[i] = undefined;
   9178       queue[i + 1] = undefined;
   9179     }
   9180 
   9181     len = 0;
   9182   }
   9183 
   9184   function attemptVertx() {
   9185     try {
   9186       var vertx = Function('return this')().require('vertx');
   9187 
   9188       vertxNext = vertx.runOnLoop || vertx.runOnContext;
   9189       return useVertxTimer();
   9190     } catch (e) {
   9191       return useSetTimeout();
   9192     }
   9193   }
   9194 
   9195   var scheduleFlush = void 0; // Decide what async method to use to triggering processing of queued callbacks:
   9196 
   9197   if (isNode) {
   9198     scheduleFlush = useNextTick();
   9199   } else if (BrowserMutationObserver) {
   9200     scheduleFlush = useMutationObserver();
   9201   } else if (isWorker) {
   9202     scheduleFlush = useMessageChannel();
   9203   } else if (browserWindow === undefined && "function" === 'function') {
   9204     scheduleFlush = attemptVertx();
   9205   } else {
   9206     scheduleFlush = useSetTimeout();
   9207   }
   9208 
   9209   function then(onFulfillment, onRejection) {
   9210     var parent = this;
   9211     var child = new this.constructor(noop);
   9212 
   9213     if (child[PROMISE_ID] === undefined) {
   9214       makePromise(child);
   9215     }
   9216 
   9217     var _state = parent._state;
   9218 
   9219     if (_state) {
   9220       var callback = arguments[_state - 1];
   9221       asap(function () {
   9222         return invokeCallback(_state, child, callback, parent._result);
   9223       });
   9224     } else {
   9225       subscribe(parent, child, onFulfillment, onRejection);
   9226     }
   9227 
   9228     return child;
   9229   }
   9230   /**
   9231     `Promise.resolve` returns a promise that will become resolved with the
   9232     passed `value`. It is shorthand for the following:
   9233   
   9234     ```javascript
   9235     let promise = new Promise(function(resolve, reject){
   9236       resolve(1);
   9237     });
   9238   
   9239     promise.then(function(value){
   9240       // value === 1
   9241     });
   9242     ```
   9243   
   9244     Instead of writing the above, your code now simply becomes the following:
   9245   
   9246     ```javascript
   9247     let promise = Promise.resolve(1);
   9248   
   9249     promise.then(function(value){
   9250       // value === 1
   9251     });
   9252     ```
   9253   
   9254     @method resolve
   9255     @static
   9256     @param {Any} value value that the returned promise will be resolved with
   9257     Useful for tooling.
   9258     @return {Promise} a promise that will become fulfilled with the given
   9259     `value`
   9260   */
   9261 
   9262 
   9263   function resolve$1(object) {
   9264     /*jshint validthis:true */
   9265     var Constructor = this;
   9266 
   9267     if (object && _typeof(object) === 'object' && object.constructor === Constructor) {
   9268       return object;
   9269     }
   9270 
   9271     var promise = new Constructor(noop);
   9272     resolve(promise, object);
   9273     return promise;
   9274   }
   9275 
   9276   var PROMISE_ID = Math.random().toString(36).substring(2);
   9277 
   9278   function noop() {}
   9279 
   9280   var PENDING = void 0;
   9281   var FULFILLED = 1;
   9282   var REJECTED = 2;
   9283   var TRY_CATCH_ERROR = {
   9284     error: null
   9285   };
   9286 
   9287   function selfFulfillment() {
   9288     return new TypeError("You cannot resolve a promise with itself");
   9289   }
   9290 
   9291   function cannotReturnOwn() {
   9292     return new TypeError('A promises callback cannot return that same promise.');
   9293   }
   9294 
   9295   function getThen(promise) {
   9296     try {
   9297       return promise.then;
   9298     } catch (error) {
   9299       TRY_CATCH_ERROR.error = error;
   9300       return TRY_CATCH_ERROR;
   9301     }
   9302   }
   9303 
   9304   function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {
   9305     try {
   9306       then$$1.call(value, fulfillmentHandler, rejectionHandler);
   9307     } catch (e) {
   9308       return e;
   9309     }
   9310   }
   9311 
   9312   function handleForeignThenable(promise, thenable, then$$1) {
   9313     asap(function (promise) {
   9314       var sealed = false;
   9315       var error = tryThen(then$$1, thenable, function (value) {
   9316         if (sealed) {
   9317           return;
   9318         }
   9319 
   9320         sealed = true;
   9321 
   9322         if (thenable !== value) {
   9323           resolve(promise, value);
   9324         } else {
   9325           fulfill(promise, value);
   9326         }
   9327       }, function (reason) {
   9328         if (sealed) {
   9329           return;
   9330         }
   9331 
   9332         sealed = true;
   9333         reject(promise, reason);
   9334       }, 'Settle: ' + (promise._label || ' unknown promise'));
   9335 
   9336       if (!sealed && error) {
   9337         sealed = true;
   9338         reject(promise, error);
   9339       }
   9340     }, promise);
   9341   }
   9342 
   9343   function handleOwnThenable(promise, thenable) {
   9344     if (thenable._state === FULFILLED) {
   9345       fulfill(promise, thenable._result);
   9346     } else if (thenable._state === REJECTED) {
   9347       reject(promise, thenable._result);
   9348     } else {
   9349       subscribe(thenable, undefined, function (value) {
   9350         return resolve(promise, value);
   9351       }, function (reason) {
   9352         return reject(promise, reason);
   9353       });
   9354     }
   9355   }
   9356 
   9357   function handleMaybeThenable(promise, maybeThenable, then$$1) {
   9358     if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {
   9359       handleOwnThenable(promise, maybeThenable);
   9360     } else {
   9361       if (then$$1 === TRY_CATCH_ERROR) {
   9362         reject(promise, TRY_CATCH_ERROR.error);
   9363         TRY_CATCH_ERROR.error = null;
   9364       } else if (then$$1 === undefined) {
   9365         fulfill(promise, maybeThenable);
   9366       } else if (isFunction(then$$1)) {
   9367         handleForeignThenable(promise, maybeThenable, then$$1);
   9368       } else {
   9369         fulfill(promise, maybeThenable);
   9370       }
   9371     }
   9372   }
   9373 
   9374   function resolve(promise, value) {
   9375     if (promise === value) {
   9376       reject(promise, selfFulfillment());
   9377     } else if (objectOrFunction(value)) {
   9378       handleMaybeThenable(promise, value, getThen(value));
   9379     } else {
   9380       fulfill(promise, value);
   9381     }
   9382   }
   9383 
   9384   function publishRejection(promise) {
   9385     if (promise._onerror) {
   9386       promise._onerror(promise._result);
   9387     }
   9388 
   9389     publish(promise);
   9390   }
   9391 
   9392   function fulfill(promise, value) {
   9393     if (promise._state !== PENDING) {
   9394       return;
   9395     }
   9396 
   9397     promise._result = value;
   9398     promise._state = FULFILLED;
   9399 
   9400     if (promise._subscribers.length !== 0) {
   9401       asap(publish, promise);
   9402     }
   9403   }
   9404 
   9405   function reject(promise, reason) {
   9406     if (promise._state !== PENDING) {
   9407       return;
   9408     }
   9409 
   9410     promise._state = REJECTED;
   9411     promise._result = reason;
   9412     asap(publishRejection, promise);
   9413   }
   9414 
   9415   function subscribe(parent, child, onFulfillment, onRejection) {
   9416     var _subscribers = parent._subscribers;
   9417     var length = _subscribers.length;
   9418     parent._onerror = null;
   9419     _subscribers[length] = child;
   9420     _subscribers[length + FULFILLED] = onFulfillment;
   9421     _subscribers[length + REJECTED] = onRejection;
   9422 
   9423     if (length === 0 && parent._state) {
   9424       asap(publish, parent);
   9425     }
   9426   }
   9427 
   9428   function publish(promise) {
   9429     var subscribers = promise._subscribers;
   9430     var settled = promise._state;
   9431 
   9432     if (subscribers.length === 0) {
   9433       return;
   9434     }
   9435 
   9436     var child = void 0,
   9437         callback = void 0,
   9438         detail = promise._result;
   9439 
   9440     for (var i = 0; i < subscribers.length; i += 3) {
   9441       child = subscribers[i];
   9442       callback = subscribers[i + settled];
   9443 
   9444       if (child) {
   9445         invokeCallback(settled, child, callback, detail);
   9446       } else {
   9447         callback(detail);
   9448       }
   9449     }
   9450 
   9451     promise._subscribers.length = 0;
   9452   }
   9453 
   9454   function tryCatch(callback, detail) {
   9455     try {
   9456       return callback(detail);
   9457     } catch (e) {
   9458       TRY_CATCH_ERROR.error = e;
   9459       return TRY_CATCH_ERROR;
   9460     }
   9461   }
   9462 
   9463   function invokeCallback(settled, promise, callback, detail) {
   9464     var hasCallback = isFunction(callback),
   9465         value = void 0,
   9466         error = void 0,
   9467         succeeded = void 0,
   9468         failed = void 0;
   9469 
   9470     if (hasCallback) {
   9471       value = tryCatch(callback, detail);
   9472 
   9473       if (value === TRY_CATCH_ERROR) {
   9474         failed = true;
   9475         error = value.error;
   9476         value.error = null;
   9477       } else {
   9478         succeeded = true;
   9479       }
   9480 
   9481       if (promise === value) {
   9482         reject(promise, cannotReturnOwn());
   9483         return;
   9484       }
   9485     } else {
   9486       value = detail;
   9487       succeeded = true;
   9488     }
   9489 
   9490     if (promise._state !== PENDING) {// noop
   9491     } else if (hasCallback && succeeded) {
   9492       resolve(promise, value);
   9493     } else if (failed) {
   9494       reject(promise, error);
   9495     } else if (settled === FULFILLED) {
   9496       fulfill(promise, value);
   9497     } else if (settled === REJECTED) {
   9498       reject(promise, value);
   9499     }
   9500   }
   9501 
   9502   function initializePromise(promise, resolver) {
   9503     try {
   9504       resolver(function resolvePromise(value) {
   9505         resolve(promise, value);
   9506       }, function rejectPromise(reason) {
   9507         reject(promise, reason);
   9508       });
   9509     } catch (e) {
   9510       reject(promise, e);
   9511     }
   9512   }
   9513 
   9514   var id = 0;
   9515 
   9516   function nextId() {
   9517     return id++;
   9518   }
   9519 
   9520   function makePromise(promise) {
   9521     promise[PROMISE_ID] = id++;
   9522     promise._state = undefined;
   9523     promise._result = undefined;
   9524     promise._subscribers = [];
   9525   }
   9526 
   9527   function validationError() {
   9528     return new Error('Array Methods must be provided an Array');
   9529   }
   9530 
   9531   var Enumerator = function () {
   9532     function Enumerator(Constructor, input) {
   9533       this._instanceConstructor = Constructor;
   9534       this.promise = new Constructor(noop);
   9535 
   9536       if (!this.promise[PROMISE_ID]) {
   9537         makePromise(this.promise);
   9538       }
   9539 
   9540       if (isArray(input)) {
   9541         this.length = input.length;
   9542         this._remaining = input.length;
   9543         this._result = new Array(this.length);
   9544 
   9545         if (this.length === 0) {
   9546           fulfill(this.promise, this._result);
   9547         } else {
   9548           this.length = this.length || 0;
   9549 
   9550           this._enumerate(input);
   9551 
   9552           if (this._remaining === 0) {
   9553             fulfill(this.promise, this._result);
   9554           }
   9555         }
   9556       } else {
   9557         reject(this.promise, validationError());
   9558       }
   9559     }
   9560 
   9561     Enumerator.prototype._enumerate = function _enumerate(input) {
   9562       for (var i = 0; this._state === PENDING && i < input.length; i++) {
   9563         this._eachEntry(input[i], i);
   9564       }
   9565     };
   9566 
   9567     Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {
   9568       var c = this._instanceConstructor;
   9569       var resolve$$1 = c.resolve;
   9570 
   9571       if (resolve$$1 === resolve$1) {
   9572         var _then = getThen(entry);
   9573 
   9574         if (_then === then && entry._state !== PENDING) {
   9575           this._settledAt(entry._state, i, entry._result);
   9576         } else if (typeof _then !== 'function') {
   9577           this._remaining--;
   9578           this._result[i] = entry;
   9579         } else if (c === Promise$1) {
   9580           var promise = new c(noop);
   9581           handleMaybeThenable(promise, entry, _then);
   9582 
   9583           this._willSettleAt(promise, i);
   9584         } else {
   9585           this._willSettleAt(new c(function (resolve$$1) {
   9586             return resolve$$1(entry);
   9587           }), i);
   9588         }
   9589       } else {
   9590         this._willSettleAt(resolve$$1(entry), i);
   9591       }
   9592     };
   9593 
   9594     Enumerator.prototype._settledAt = function _settledAt(state, i, value) {
   9595       var promise = this.promise;
   9596 
   9597       if (promise._state === PENDING) {
   9598         this._remaining--;
   9599 
   9600         if (state === REJECTED) {
   9601           reject(promise, value);
   9602         } else {
   9603           this._result[i] = value;
   9604         }
   9605       }
   9606 
   9607       if (this._remaining === 0) {
   9608         fulfill(promise, this._result);
   9609       }
   9610     };
   9611 
   9612     Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {
   9613       var enumerator = this;
   9614       subscribe(promise, undefined, function (value) {
   9615         return enumerator._settledAt(FULFILLED, i, value);
   9616       }, function (reason) {
   9617         return enumerator._settledAt(REJECTED, i, reason);
   9618       });
   9619     };
   9620 
   9621     return Enumerator;
   9622   }();
   9623   /**
   9624     `Promise.all` accepts an array of promises, and returns a new promise which
   9625     is fulfilled with an array of fulfillment values for the passed promises, or
   9626     rejected with the reason of the first passed promise to be rejected. It casts all
   9627     elements of the passed iterable to promises as it runs this algorithm.
   9628   
   9629     Example:
   9630   
   9631     ```javascript
   9632     let promise1 = resolve(1);
   9633     let promise2 = resolve(2);
   9634     let promise3 = resolve(3);
   9635     let promises = [ promise1, promise2, promise3 ];
   9636   
   9637     Promise.all(promises).then(function(array){
   9638       // The array here would be [ 1, 2, 3 ];
   9639     });
   9640     ```
   9641   
   9642     If any of the `promises` given to `all` are rejected, the first promise
   9643     that is rejected will be given as an argument to the returned promises's
   9644     rejection handler. For example:
   9645   
   9646     Example:
   9647   
   9648     ```javascript
   9649     let promise1 = resolve(1);
   9650     let promise2 = reject(new Error("2"));
   9651     let promise3 = reject(new Error("3"));
   9652     let promises = [ promise1, promise2, promise3 ];
   9653   
   9654     Promise.all(promises).then(function(array){
   9655       // Code here never runs because there are rejected promises!
   9656     }, function(error) {
   9657       // error.message === "2"
   9658     });
   9659     ```
   9660   
   9661     @method all
   9662     @static
   9663     @param {Array} entries array of promises
   9664     @param {String} label optional string for labeling the promise.
   9665     Useful for tooling.
   9666     @return {Promise} promise that is fulfilled when all `promises` have been
   9667     fulfilled, or rejected if any of them become rejected.
   9668     @static
   9669   */
   9670 
   9671 
   9672   function all(entries) {
   9673     return new Enumerator(this, entries).promise;
   9674   }
   9675   /**
   9676     `Promise.race` returns a new promise which is settled in the same way as the
   9677     first passed promise to settle.
   9678   
   9679     Example:
   9680   
   9681     ```javascript
   9682     let promise1 = new Promise(function(resolve, reject){
   9683       setTimeout(function(){
   9684         resolve('promise 1');
   9685       }, 200);
   9686     });
   9687   
   9688     let promise2 = new Promise(function(resolve, reject){
   9689       setTimeout(function(){
   9690         resolve('promise 2');
   9691       }, 100);
   9692     });
   9693   
   9694     Promise.race([promise1, promise2]).then(function(result){
   9695       // result === 'promise 2' because it was resolved before promise1
   9696       // was resolved.
   9697     });
   9698     ```
   9699   
   9700     `Promise.race` is deterministic in that only the state of the first
   9701     settled promise matters. For example, even if other promises given to the
   9702     `promises` array argument are resolved, but the first settled promise has
   9703     become rejected before the other promises became fulfilled, the returned
   9704     promise will become rejected:
   9705   
   9706     ```javascript
   9707     let promise1 = new Promise(function(resolve, reject){
   9708       setTimeout(function(){
   9709         resolve('promise 1');
   9710       }, 200);
   9711     });
   9712   
   9713     let promise2 = new Promise(function(resolve, reject){
   9714       setTimeout(function(){
   9715         reject(new Error('promise 2'));
   9716       }, 100);
   9717     });
   9718   
   9719     Promise.race([promise1, promise2]).then(function(result){
   9720       // Code here never runs
   9721     }, function(reason){
   9722       // reason.message === 'promise 2' because promise 2 became rejected before
   9723       // promise 1 became fulfilled
   9724     });
   9725     ```
   9726   
   9727     An example real-world use case is implementing timeouts:
   9728   
   9729     ```javascript
   9730     Promise.race([ajax('foo.json'), timeout(5000)])
   9731     ```
   9732   
   9733     @method race
   9734     @static
   9735     @param {Array} promises array of promises to observe
   9736     Useful for tooling.
   9737     @return {Promise} a promise which settles in the same way as the first passed
   9738     promise to settle.
   9739   */
   9740 
   9741 
   9742   function race(entries) {
   9743     /*jshint validthis:true */
   9744     var Constructor = this;
   9745 
   9746     if (!isArray(entries)) {
   9747       return new Constructor(function (_, reject) {
   9748         return reject(new TypeError('You must pass an array to race.'));
   9749       });
   9750     } else {
   9751       return new Constructor(function (resolve, reject) {
   9752         var length = entries.length;
   9753 
   9754         for (var i = 0; i < length; i++) {
   9755           Constructor.resolve(entries[i]).then(resolve, reject);
   9756         }
   9757       });
   9758     }
   9759   }
   9760   /**
   9761     `Promise.reject` returns a promise rejected with the passed `reason`.
   9762     It is shorthand for the following:
   9763   
   9764     ```javascript
   9765     let promise = new Promise(function(resolve, reject){
   9766       reject(new Error('WHOOPS'));
   9767     });
   9768   
   9769     promise.then(function(value){
   9770       // Code here doesn't run because the promise is rejected!
   9771     }, function(reason){
   9772       // reason.message === 'WHOOPS'
   9773     });
   9774     ```
   9775   
   9776     Instead of writing the above, your code now simply becomes the following:
   9777   
   9778     ```javascript
   9779     let promise = Promise.reject(new Error('WHOOPS'));
   9780   
   9781     promise.then(function(value){
   9782       // Code here doesn't run because the promise is rejected!
   9783     }, function(reason){
   9784       // reason.message === 'WHOOPS'
   9785     });
   9786     ```
   9787   
   9788     @method reject
   9789     @static
   9790     @param {Any} reason value that the returned promise will be rejected with.
   9791     Useful for tooling.
   9792     @return {Promise} a promise rejected with the given `reason`.
   9793   */
   9794 
   9795 
   9796   function reject$1(reason) {
   9797     /*jshint validthis:true */
   9798     var Constructor = this;
   9799     var promise = new Constructor(noop);
   9800     reject(promise, reason);
   9801     return promise;
   9802   }
   9803 
   9804   function needsResolver() {
   9805     throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');
   9806   }
   9807 
   9808   function needsNew() {
   9809     throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");
   9810   }
   9811   /**
   9812     Promise objects represent the eventual result of an asynchronous operation. The
   9813     primary way of interacting with a promise is through its `then` method, which
   9814     registers callbacks to receive either a promise's eventual value or the reason
   9815     why the promise cannot be fulfilled.
   9816   
   9817     Terminology
   9818     -----------
   9819   
   9820     - `promise` is an object or function with a `then` method whose behavior conforms to this specification.
   9821     - `thenable` is an object or function that defines a `then` method.
   9822     - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).
   9823     - `exception` is a value that is thrown using the throw statement.
   9824     - `reason` is a value that indicates why a promise was rejected.
   9825     - `settled` the final resting state of a promise, fulfilled or rejected.
   9826   
   9827     A promise can be in one of three states: pending, fulfilled, or rejected.
   9828   
   9829     Promises that are fulfilled have a fulfillment value and are in the fulfilled
   9830     state.  Promises that are rejected have a rejection reason and are in the
   9831     rejected state.  A fulfillment value is never a thenable.
   9832   
   9833     Promises can also be said to *resolve* a value.  If this value is also a
   9834     promise, then the original promise's settled state will match the value's
   9835     settled state.  So a promise that *resolves* a promise that rejects will
   9836     itself reject, and a promise that *resolves* a promise that fulfills will
   9837     itself fulfill.
   9838   
   9839   
   9840     Basic Usage:
   9841     ------------
   9842   
   9843     ```js
   9844     let promise = new Promise(function(resolve, reject) {
   9845       // on success
   9846       resolve(value);
   9847   
   9848       // on failure
   9849       reject(reason);
   9850     });
   9851   
   9852     promise.then(function(value) {
   9853       // on fulfillment
   9854     }, function(reason) {
   9855       // on rejection
   9856     });
   9857     ```
   9858   
   9859     Advanced Usage:
   9860     ---------------
   9861   
   9862     Promises shine when abstracting away asynchronous interactions such as
   9863     `XMLHttpRequest`s.
   9864   
   9865     ```js
   9866     function getJSON(url) {
   9867       return new Promise(function(resolve, reject){
   9868         let xhr = new XMLHttpRequest();
   9869   
   9870         xhr.open('GET', url);
   9871         xhr.onreadystatechange = handler;
   9872         xhr.responseType = 'json';
   9873         xhr.setRequestHeader('Accept', 'application/json');
   9874         xhr.send();
   9875   
   9876         function handler() {
   9877           if (this.readyState === this.DONE) {
   9878             if (this.status === 200) {
   9879               resolve(this.response);
   9880             } else {
   9881               reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));
   9882             }
   9883           }
   9884         };
   9885       });
   9886     }
   9887   
   9888     getJSON('/posts.json').then(function(json) {
   9889       // on fulfillment
   9890     }, function(reason) {
   9891       // on rejection
   9892     });
   9893     ```
   9894   
   9895     Unlike callbacks, promises are great composable primitives.
   9896   
   9897     ```js
   9898     Promise.all([
   9899       getJSON('/posts'),
   9900       getJSON('/comments')
   9901     ]).then(function(values){
   9902       values[0] // => postsJSON
   9903       values[1] // => commentsJSON
   9904   
   9905       return values;
   9906     });
   9907     ```
   9908   
   9909     @class Promise
   9910     @param {Function} resolver
   9911     Useful for tooling.
   9912     @constructor
   9913   */
   9914 
   9915 
   9916   var Promise$1 = function () {
   9917     function Promise(resolver) {
   9918       this[PROMISE_ID] = nextId();
   9919       this._result = this._state = undefined;
   9920       this._subscribers = [];
   9921 
   9922       if (noop !== resolver) {
   9923         typeof resolver !== 'function' && needsResolver();
   9924         this instanceof Promise ? initializePromise(this, resolver) : needsNew();
   9925       }
   9926     }
   9927     /**
   9928     The primary way of interacting with a promise is through its `then` method,
   9929     which registers callbacks to receive either a promise's eventual value or the
   9930     reason why the promise cannot be fulfilled.
   9931      ```js
   9932     findUser().then(function(user){
   9933       // user is available
   9934     }, function(reason){
   9935       // user is unavailable, and you are given the reason why
   9936     });
   9937     ```
   9938      Chaining
   9939     --------
   9940      The return value of `then` is itself a promise.  This second, 'downstream'
   9941     promise is resolved with the return value of the first promise's fulfillment
   9942     or rejection handler, or rejected if the handler throws an exception.
   9943      ```js
   9944     findUser().then(function (user) {
   9945       return user.name;
   9946     }, function (reason) {
   9947       return 'default name';
   9948     }).then(function (userName) {
   9949       // If `findUser` fulfilled, `userName` will be the user's name, otherwise it
   9950       // will be `'default name'`
   9951     });
   9952      findUser().then(function (user) {
   9953       throw new Error('Found user, but still unhappy');
   9954     }, function (reason) {
   9955       throw new Error('`findUser` rejected and we're unhappy');
   9956     }).then(function (value) {
   9957       // never reached
   9958     }, function (reason) {
   9959       // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.
   9960       // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.
   9961     });
   9962     ```
   9963     If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.
   9964      ```js
   9965     findUser().then(function (user) {
   9966       throw new PedagogicalException('Upstream error');
   9967     }).then(function (value) {
   9968       // never reached
   9969     }).then(function (value) {
   9970       // never reached
   9971     }, function (reason) {
   9972       // The `PedgagocialException` is propagated all the way down to here
   9973     });
   9974     ```
   9975      Assimilation
   9976     ------------
   9977      Sometimes the value you want to propagate to a downstream promise can only be
   9978     retrieved asynchronously. This can be achieved by returning a promise in the
   9979     fulfillment or rejection handler. The downstream promise will then be pending
   9980     until the returned promise is settled. This is called *assimilation*.
   9981      ```js
   9982     findUser().then(function (user) {
   9983       return findCommentsByAuthor(user);
   9984     }).then(function (comments) {
   9985       // The user's comments are now available
   9986     });
   9987     ```
   9988      If the assimliated promise rejects, then the downstream promise will also reject.
   9989      ```js
   9990     findUser().then(function (user) {
   9991       return findCommentsByAuthor(user);
   9992     }).then(function (comments) {
   9993       // If `findCommentsByAuthor` fulfills, we'll have the value here
   9994     }, function (reason) {
   9995       // If `findCommentsByAuthor` rejects, we'll have the reason here
   9996     });
   9997     ```
   9998      Simple Example
   9999     --------------
  10000      Synchronous Example
  10001      ```javascript
  10002     let result;
  10003      try {
  10004       result = findResult();
  10005       // success
  10006     } catch(reason) {
  10007       // failure
  10008     }
  10009     ```
  10010      Errback Example
  10011      ```js
  10012     findResult(function(result, err){
  10013       if (err) {
  10014         // failure
  10015       } else {
  10016         // success
  10017       }
  10018     });
  10019     ```
  10020      Promise Example;
  10021      ```javascript
  10022     findResult().then(function(result){
  10023       // success
  10024     }, function(reason){
  10025       // failure
  10026     });
  10027     ```
  10028      Advanced Example
  10029     --------------
  10030      Synchronous Example
  10031      ```javascript
  10032     let author, books;
  10033      try {
  10034       author = findAuthor();
  10035       books  = findBooksByAuthor(author);
  10036       // success
  10037     } catch(reason) {
  10038       // failure
  10039     }
  10040     ```
  10041      Errback Example
  10042      ```js
  10043      function foundBooks(books) {
  10044      }
  10045      function failure(reason) {
  10046      }
  10047      findAuthor(function(author, err){
  10048       if (err) {
  10049         failure(err);
  10050         // failure
  10051       } else {
  10052         try {
  10053           findBoooksByAuthor(author, function(books, err) {
  10054             if (err) {
  10055               failure(err);
  10056             } else {
  10057               try {
  10058                 foundBooks(books);
  10059               } catch(reason) {
  10060                 failure(reason);
  10061               }
  10062             }
  10063           });
  10064         } catch(error) {
  10065           failure(err);
  10066         }
  10067         // success
  10068       }
  10069     });
  10070     ```
  10071      Promise Example;
  10072      ```javascript
  10073     findAuthor().
  10074       then(findBooksByAuthor).
  10075       then(function(books){
  10076         // found books
  10077     }).catch(function(reason){
  10078       // something went wrong
  10079     });
  10080     ```
  10081      @method then
  10082     @param {Function} onFulfilled
  10083     @param {Function} onRejected
  10084     Useful for tooling.
  10085     @return {Promise}
  10086     */
  10087 
  10088     /**
  10089     `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
  10090     as the catch block of a try/catch statement.
  10091     ```js
  10092     function findAuthor(){
  10093     throw new Error('couldn't find that author');
  10094     }
  10095     // synchronous
  10096     try {
  10097     findAuthor();
  10098     } catch(reason) {
  10099     // something went wrong
  10100     }
  10101     // async with promises
  10102     findAuthor().catch(function(reason){
  10103     // something went wrong
  10104     });
  10105     ```
  10106     @method catch
  10107     @param {Function} onRejection
  10108     Useful for tooling.
  10109     @return {Promise}
  10110     */
  10111 
  10112 
  10113     Promise.prototype.catch = function _catch(onRejection) {
  10114       return this.then(null, onRejection);
  10115     };
  10116     /**
  10117       `finally` will be invoked regardless of the promise's fate just as native
  10118       try/catch/finally behaves
  10119     
  10120       Synchronous example:
  10121     
  10122       ```js
  10123       findAuthor() {
  10124         if (Math.random() > 0.5) {
  10125           throw new Error();
  10126         }
  10127         return new Author();
  10128       }
  10129     
  10130       try {
  10131         return findAuthor(); // succeed or fail
  10132       } catch(error) {
  10133         return findOtherAuther();
  10134       } finally {
  10135         // always runs
  10136         // doesn't affect the return value
  10137       }
  10138       ```
  10139     
  10140       Asynchronous example:
  10141     
  10142       ```js
  10143       findAuthor().catch(function(reason){
  10144         return findOtherAuther();
  10145       }).finally(function(){
  10146         // author was either found, or not
  10147       });
  10148       ```
  10149     
  10150       @method finally
  10151       @param {Function} callback
  10152       @return {Promise}
  10153     */
  10154 
  10155 
  10156     Promise.prototype.finally = function _finally(callback) {
  10157       var promise = this;
  10158       var constructor = promise.constructor;
  10159 
  10160       if (isFunction(callback)) {
  10161         return promise.then(function (value) {
  10162           return constructor.resolve(callback()).then(function () {
  10163             return value;
  10164           });
  10165         }, function (reason) {
  10166           return constructor.resolve(callback()).then(function () {
  10167             throw reason;
  10168           });
  10169         });
  10170       }
  10171 
  10172       return promise.then(callback, callback);
  10173     };
  10174 
  10175     return Promise;
  10176   }();
  10177 
  10178   Promise$1.prototype.then = then;
  10179   Promise$1.all = all;
  10180   Promise$1.race = race;
  10181   Promise$1.resolve = resolve$1;
  10182   Promise$1.reject = reject$1;
  10183   Promise$1._setScheduler = setScheduler;
  10184   Promise$1._setAsap = setAsap;
  10185   Promise$1._asap = asap;
  10186   /*global self*/
  10187 
  10188   function polyfill() {
  10189     var local = void 0;
  10190 
  10191     if (typeof global !== 'undefined') {
  10192       local = global;
  10193     } else if (typeof self !== 'undefined') {
  10194       local = self;
  10195     } else {
  10196       try {
  10197         local = Function('return this')();
  10198       } catch (e) {
  10199         throw new Error('polyfill failed because global object is unavailable in this environment');
  10200       }
  10201     }
  10202 
  10203     var P = local.Promise;
  10204 
  10205     if (P) {
  10206       var promiseToString = null;
  10207 
  10208       try {
  10209         promiseToString = Object.prototype.toString.call(P.resolve());
  10210       } catch (e) {// silently ignored
  10211       }
  10212 
  10213       if (promiseToString === '[object Promise]' && !P.cast) {
  10214         return;
  10215       }
  10216     }
  10217 
  10218     local.Promise = Promise$1;
  10219   } // Strange compat..
  10220 
  10221 
  10222   Promise$1.polyfill = polyfill;
  10223   Promise$1.Promise = Promise$1;
  10224   return Promise$1;
  10225 });
  10226 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))
  10227 
  10228 /***/ }),
  10229 
  10230 /***/ "./node_modules/process/browser.js":
  10231 /*!*****************************************!*\
  10232   !*** ./node_modules/process/browser.js ***!
  10233   \*****************************************/
  10234 /*! no static exports found */
  10235 /***/ (function(module, exports) {
  10236 
  10237 // shim for using process in browser
  10238 var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it
  10239 // don't break things.  But we need to wrap it in a try catch in case it is
  10240 // wrapped in strict mode code which doesn't define any globals.  It's inside a
  10241 // function because try/catches deoptimize in certain engines.
  10242 
  10243 var cachedSetTimeout;
  10244 var cachedClearTimeout;
  10245 
  10246 function defaultSetTimout() {
  10247   throw new Error('setTimeout has not been defined');
  10248 }
  10249 
  10250 function defaultClearTimeout() {
  10251   throw new Error('clearTimeout has not been defined');
  10252 }
  10253 
  10254 (function () {
  10255   try {
  10256     if (typeof setTimeout === 'function') {
  10257       cachedSetTimeout = setTimeout;
  10258     } else {
  10259       cachedSetTimeout = defaultSetTimout;
  10260     }
  10261   } catch (e) {
  10262     cachedSetTimeout = defaultSetTimout;
  10263   }
  10264 
  10265   try {
  10266     if (typeof clearTimeout === 'function') {
  10267       cachedClearTimeout = clearTimeout;
  10268     } else {
  10269       cachedClearTimeout = defaultClearTimeout;
  10270     }
  10271   } catch (e) {
  10272     cachedClearTimeout = defaultClearTimeout;
  10273   }
  10274 })();
  10275 
  10276 function runTimeout(fun) {
  10277   if (cachedSetTimeout === setTimeout) {
  10278     //normal enviroments in sane situations
  10279     return setTimeout(fun, 0);
  10280   } // if setTimeout wasn't available but was latter defined
  10281 
  10282 
  10283   if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
  10284     cachedSetTimeout = setTimeout;
  10285     return setTimeout(fun, 0);
  10286   }
  10287 
  10288   try {
  10289     // when when somebody has screwed with setTimeout but no I.E. maddness
  10290     return cachedSetTimeout(fun, 0);
  10291   } catch (e) {
  10292     try {
  10293       // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
  10294       return cachedSetTimeout.call(null, fun, 0);
  10295     } catch (e) {
  10296       // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
  10297       return cachedSetTimeout.call(this, fun, 0);
  10298     }
  10299   }
  10300 }
  10301 
  10302 function runClearTimeout(marker) {
  10303   if (cachedClearTimeout === clearTimeout) {
  10304     //normal enviroments in sane situations
  10305     return clearTimeout(marker);
  10306   } // if clearTimeout wasn't available but was latter defined
  10307 
  10308 
  10309   if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
  10310     cachedClearTimeout = clearTimeout;
  10311     return clearTimeout(marker);
  10312   }
  10313 
  10314   try {
  10315     // when when somebody has screwed with setTimeout but no I.E. maddness
  10316     return cachedClearTimeout(marker);
  10317   } catch (e) {
  10318     try {
  10319       // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
  10320       return cachedClearTimeout.call(null, marker);
  10321     } catch (e) {
  10322       // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
  10323       // Some versions of I.E. have different rules for clearTimeout vs setTimeout
  10324       return cachedClearTimeout.call(this, marker);
  10325     }
  10326   }
  10327 }
  10328 
  10329 var queue = [];
  10330 var draining = false;
  10331 var currentQueue;
  10332 var queueIndex = -1;
  10333 
  10334 function cleanUpNextTick() {
  10335   if (!draining || !currentQueue) {
  10336     return;
  10337   }
  10338 
  10339   draining = false;
  10340 
  10341   if (currentQueue.length) {
  10342     queue = currentQueue.concat(queue);
  10343   } else {
  10344     queueIndex = -1;
  10345   }
  10346 
  10347   if (queue.length) {
  10348     drainQueue();
  10349   }
  10350 }
  10351 
  10352 function drainQueue() {
  10353   if (draining) {
  10354     return;
  10355   }
  10356 
  10357   var timeout = runTimeout(cleanUpNextTick);
  10358   draining = true;
  10359   var len = queue.length;
  10360 
  10361   while (len) {
  10362     currentQueue = queue;
  10363     queue = [];
  10364 
  10365     while (++queueIndex < len) {
  10366       if (currentQueue) {
  10367         currentQueue[queueIndex].run();
  10368       }
  10369     }
  10370 
  10371     queueIndex = -1;
  10372     len = queue.length;
  10373   }
  10374 
  10375   currentQueue = null;
  10376   draining = false;
  10377   runClearTimeout(timeout);
  10378 }
  10379 
  10380 process.nextTick = function (fun) {
  10381   var args = new Array(arguments.length - 1);
  10382 
  10383   if (arguments.length > 1) {
  10384     for (var i = 1; i < arguments.length; i++) {
  10385       args[i - 1] = arguments[i];
  10386     }
  10387   }
  10388 
  10389   queue.push(new Item(fun, args));
  10390 
  10391   if (queue.length === 1 && !draining) {
  10392     runTimeout(drainQueue);
  10393   }
  10394 }; // v8 likes predictible objects
  10395 
  10396 
  10397 function Item(fun, array) {
  10398   this.fun = fun;
  10399   this.array = array;
  10400 }
  10401 
  10402 Item.prototype.run = function () {
  10403   this.fun.apply(null, this.array);
  10404 };
  10405 
  10406 process.title = 'browser';
  10407 process.browser = true;
  10408 process.env = {};
  10409 process.argv = [];
  10410 process.version = ''; // empty string to avoid regexp issues
  10411 
  10412 process.versions = {};
  10413 
  10414 function noop() {}
  10415 
  10416 process.on = noop;
  10417 process.addListener = noop;
  10418 process.once = noop;
  10419 process.off = noop;
  10420 process.removeListener = noop;
  10421 process.removeAllListeners = noop;
  10422 process.emit = noop;
  10423 process.prependListener = noop;
  10424 process.prependOnceListener = noop;
  10425 
  10426 process.listeners = function (name) {
  10427   return [];
  10428 };
  10429 
  10430 process.binding = function (name) {
  10431   throw new Error('process.binding is not supported');
  10432 };
  10433 
  10434 process.cwd = function () {
  10435   return '/';
  10436 };
  10437 
  10438 process.chdir = function (dir) {
  10439   throw new Error('process.chdir is not supported');
  10440 };
  10441 
  10442 process.umask = function () {
  10443   return 0;
  10444 };
  10445 
  10446 /***/ }),
  10447 
  10448 /***/ "./node_modules/webpack/buildin/global.js":
  10449 /*!***********************************!*\
  10450   !*** (webpack)/buildin/global.js ***!
  10451   \***********************************/
  10452 /*! no static exports found */
  10453 /***/ (function(module, exports) {
  10454 
  10455 function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  10456 
  10457 var g; // This works in non-strict mode
  10458 
  10459 g = function () {
  10460   return this;
  10461 }();
  10462 
  10463 try {
  10464   // This works if eval is allowed (see CSP)
  10465   g = g || new Function("return this")();
  10466 } catch (e) {
  10467   // This works if the window reference is available
  10468   if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") g = window;
  10469 } // g can still be undefined, but nothing to do about it...
  10470 // We return undefined, instead of nothing here, so it's
  10471 // easier to handle this case. if(!global) { ...}
  10472 
  10473 
  10474 module.exports = g;
  10475 
  10476 /***/ }),
  10477 
  10478 /***/ "./scss/gutenberg-style.scss":
  10479 /*!***********************************!*\
  10480   !*** ./scss/gutenberg-style.scss ***!
  10481   \***********************************/
  10482 /*! no static exports found */
  10483 /***/ (function(module, exports) {
  10484 
  10485 // removed by extract-text-webpack-plugin
  10486 
  10487 /***/ }),
  10488 
  10489 /***/ "./scss/material-icons.scss":
  10490 /*!**********************************!*\
  10491   !*** ./scss/material-icons.scss ***!
  10492   \**********************************/
  10493 /*! no static exports found */
  10494 /***/ (function(module, exports) {
  10495 
  10496 // removed by extract-text-webpack-plugin
  10497 
  10498 /***/ }),
  10499 
  10500 /***/ "./scss/style.scss":
  10501 /*!*************************!*\
  10502   !*** ./scss/style.scss ***!
  10503   \*************************/
  10504 /*! no static exports found */
  10505 /***/ (function(module, exports) {
  10506 
  10507 // removed by extract-text-webpack-plugin
  10508 
  10509 /***/ }),
  10510 
  10511 /***/ "./scss/woocommerce.scss":
  10512 /*!*******************************!*\
  10513   !*** ./scss/woocommerce.scss ***!
  10514   \*******************************/
  10515 /*! no static exports found */
  10516 /***/ (function(module, exports) {
  10517 
  10518 // removed by extract-text-webpack-plugin
  10519 
  10520 /***/ }),
  10521 
  10522 /***/ 0:
  10523 /*!****************************************************************************************************************************!*\
  10524   !*** multi ./js/theme.js ./scss/style.scss ./scss/gutenberg-style.scss ./scss/woocommerce.scss ./scss/material-icons.scss ***!
  10525   \****************************************************************************************************************************/
  10526 /*! no static exports found */
  10527 /***/ (function(module, exports, __webpack_require__) {
  10528 
  10529 __webpack_require__(/*! /var/lib/jenkins/workspace/Materialis FREE Release/build-materialis/materialis/dev/js/theme.js */"./js/theme.js");
  10530 __webpack_require__(/*! /var/lib/jenkins/workspace/Materialis FREE Release/build-materialis/materialis/dev/scss/style.scss */"./scss/style.scss");
  10531 __webpack_require__(/*! /var/lib/jenkins/workspace/Materialis FREE Release/build-materialis/materialis/dev/scss/gutenberg-style.scss */"./scss/gutenberg-style.scss");
  10532 __webpack_require__(/*! /var/lib/jenkins/workspace/Materialis FREE Release/build-materialis/materialis/dev/scss/woocommerce.scss */"./scss/woocommerce.scss");
  10533 module.exports = __webpack_require__(/*! /var/lib/jenkins/workspace/Materialis FREE Release/build-materialis/materialis/dev/scss/material-icons.scss */"./scss/material-icons.scss");
  10534 
  10535 
  10536 /***/ })
  10537 
  10538 /******/ });
  10539 //# sourceMappingURL=theme.js.map