UNPKG

material-components-vue

Version:
543 lines 181 kB
(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory();
	else if(typeof define === 'function' && define.amd)
		define([], factory);
	else {
		var a = factory();
		for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
	}
})(window, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = "./components/menu/index.js");
/******/ })
/************************************************************************/
/******/ ({

/***/ "./components/base/baseComponentMixin.js":
/*!***********************************************!*\
  !*** ./components/base/baseComponentMixin.js ***!
  \***********************************************/
/*! exports provided: baseComponentMixin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"baseComponentMixin\", function() { return baseComponentMixin; });\nvar baseComponentMixin = {\n  inheritAttrs: false\n};\n\n//# sourceURL=webpack:///./components/base/baseComponentMixin.js?");

/***/ }),

/***/ "./components/base/index.js":
/*!**********************************!*\
  !*** ./components/base/index.js ***!
  \**********************************/
/*! exports provided: baseComponentMixin, themeClassMixin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _baseComponentMixin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./baseComponentMixin.js */ \"./components/base/baseComponentMixin.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"baseComponentMixin\", function() { return _baseComponentMixin_js__WEBPACK_IMPORTED_MODULE_0__[\"baseComponentMixin\"]; });\n\n/* harmony import */ var _themeClassMixin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./themeClassMixin.js */ \"./components/base/themeClassMixin.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"themeClassMixin\", function() { return _themeClassMixin_js__WEBPACK_IMPORTED_MODULE_1__[\"themeClassMixin\"]; });\n\n\n\n\n//# sourceURL=webpack:///./components/base/index.js?");

/***/ }),

/***/ "./components/base/themeClassMixin.js":
/*!********************************************!*\
  !*** ./components/base/themeClassMixin.js ***!
  \********************************************/
/*! exports provided: themeClassMixin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"themeClassMixin\", function() { return themeClassMixin; });\nvar themeProps = ['primary', 'secondary', 'background', 'surface', 'on-primary', 'on-secondary', 'on-surface', 'primary-bg', 'secondary-bg', 'text-primary-on-light', 'text-secondary-on-light', 'text-hint-on-light', 'text-disabled-on-light', 'text-icon-on-light', 'text-primary-on-dark', 'text-secondary-on-dark', 'text-hint-on-dark', 'text-disabled-on-dark', 'text-icon-on-dark'];\nvar themeClassMixin = {\n  props: {\n    theming: {\n      type: String,\n      default: ''\n    }\n  },\n  mounted: function mounted() {\n    if (themeProps.indexOf(this.theming) > -1) {\n      this.$el.classList.add('mdc-theme--' + this.theming);\n    }\n  }\n};\n\n//# sourceURL=webpack:///./components/base/themeClassMixin.js?");

/***/ }),

/***/ "./components/index.js":
/*!*****************************!*\
  !*** ./components/index.js ***!
  \*****************************/
/*! exports provided: initPlugin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _initPlugin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./initPlugin.js */ \"./components/initPlugin.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"initPlugin\", function() { return _initPlugin_js__WEBPACK_IMPORTED_MODULE_0__[\"initPlugin\"]; });\n\n\n\n//# sourceURL=webpack:///./components/index.js?");

/***/ }),

/***/ "./components/initPlugin.js":
/*!**********************************!*\
  !*** ./components/initPlugin.js ***!
  \**********************************/
/*! exports provided: initPlugin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"initPlugin\", function() { return initPlugin; });\nfunction initPlugin(plugin) {\n  if (typeof window !== 'undefined' && window.Vue) {\n    window.Vue.use(plugin);\n  }\n}\n\n//# sourceURL=webpack:///./components/initPlugin.js?");

/***/ }),

/***/ "./components/menu/Menu.vue":
/*!**********************************!*\
  !*** ./components/menu/Menu.vue ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Menu_vue_vue_type_template_id_998f83f8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Menu.vue?vue&type=template&id=998f83f8& */ \"./components/menu/Menu.vue?vue&type=template&id=998f83f8&\");\n/* harmony import */ var _Menu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Menu.vue?vue&type=script&lang=js& */ \"./components/menu/Menu.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _Menu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _Menu_vue_vue_type_template_id_998f83f8___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _Menu_vue_vue_type_template_id_998f83f8___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"components/menu/Menu.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./components/menu/Menu.vue?");

/***/ }),

/***/ "./components/menu/Menu.vue?vue&type=script&lang=js&":
/*!***********************************************************!*\
  !*** ./components/menu/Menu.vue?vue&type=script&lang=js& ***!
  \***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_1_node_modules_vue_loader_lib_index_js_vue_loader_options_Menu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/babel-loader/lib??ref--1!../../node_modules/vue-loader/lib??vue-loader-options!./Menu.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./components/menu/Menu.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_ref_1_node_modules_vue_loader_lib_index_js_vue_loader_options_Menu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./components/menu/Menu.vue?");

/***/ }),

/***/ "./components/menu/Menu.vue?vue&type=template&id=998f83f8&":
/*!*****************************************************************!*\
  !*** ./components/menu/Menu.vue?vue&type=template&id=998f83f8& ***!
  \*****************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Menu_vue_vue_type_template_id_998f83f8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./Menu.vue?vue&type=template&id=998f83f8& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./components/menu/Menu.vue?vue&type=template&id=998f83f8&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Menu_vue_vue_type_template_id_998f83f8___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Menu_vue_vue_type_template_id_998f83f8___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./components/menu/Menu.vue?");

/***/ }),

/***/ "./components/menu/MenuAnchor.vue":
/*!****************************************!*\
  !*** ./components/menu/MenuAnchor.vue ***!
  \****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _MenuAnchor_vue_vue_type_template_id_d9c18d4e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MenuAnchor.vue?vue&type=template&id=d9c18d4e& */ \"./components/menu/MenuAnchor.vue?vue&type=template&id=d9c18d4e&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\nvar script = {}\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\n  script,\n  _MenuAnchor_vue_vue_type_template_id_d9c18d4e___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _MenuAnchor_vue_vue_type_template_id_d9c18d4e___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"components/menu/MenuAnchor.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./components/menu/MenuAnchor.vue?");

/***/ }),

/***/ "./components/menu/MenuAnchor.vue?vue&type=template&id=d9c18d4e&":
/*!***********************************************************************!*\
  !*** ./components/menu/MenuAnchor.vue?vue&type=template&id=d9c18d4e& ***!
  \***********************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuAnchor_vue_vue_type_template_id_d9c18d4e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./MenuAnchor.vue?vue&type=template&id=d9c18d4e& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./components/menu/MenuAnchor.vue?vue&type=template&id=d9c18d4e&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuAnchor_vue_vue_type_template_id_d9c18d4e___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuAnchor_vue_vue_type_template_id_d9c18d4e___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./components/menu/MenuAnchor.vue?");

/***/ }),

/***/ "./components/menu/MenuSurface.vue":
/*!*****************************************!*\
  !*** ./components/menu/MenuSurface.vue ***!
  \*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _MenuSurface_vue_vue_type_template_id_4855a88e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MenuSurface.vue?vue&type=template&id=4855a88e&scoped=true& */ \"./components/menu/MenuSurface.vue?vue&type=template&id=4855a88e&scoped=true&\");\n/* harmony import */ var _MenuSurface_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MenuSurface.vue?vue&type=script&lang=js& */ \"./components/menu/MenuSurface.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n  _MenuSurface_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  _MenuSurface_vue_vue_type_template_id_4855a88e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n  _MenuSurface_vue_vue_type_template_id_4855a88e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n  false,\n  null,\n  \"4855a88e\",\n  null\n  \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"components/menu/MenuSurface.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./components/menu/MenuSurface.vue?");

/***/ }),

/***/ "./components/menu/MenuSurface.vue?vue&type=script&lang=js&":
/*!******************************************************************!*\
  !*** ./components/menu/MenuSurface.vue?vue&type=script&lang=js& ***!
  \******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_1_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuSurface_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/babel-loader/lib??ref--1!../../node_modules/vue-loader/lib??vue-loader-options!./MenuSurface.vue?vue&type=script&lang=js& */ \"./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./components/menu/MenuSurface.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_babel_loader_lib_index_js_ref_1_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuSurface_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./components/menu/MenuSurface.vue?");

/***/ }),

/***/ "./components/menu/MenuSurface.vue?vue&type=template&id=4855a88e&scoped=true&":
/*!************************************************************************************!*\
  !*** ./components/menu/MenuSurface.vue?vue&type=template&id=4855a88e&scoped=true& ***!
  \************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuSurface_vue_vue_type_template_id_4855a88e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./MenuSurface.vue?vue&type=template&id=4855a88e&scoped=true& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./components/menu/MenuSurface.vue?vue&type=template&id=4855a88e&scoped=true&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuSurface_vue_vue_type_template_id_4855a88e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuSurface_vue_vue_type_template_id_4855a88e_scoped_true___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./components/menu/MenuSurface.vue?");

/***/ }),

/***/ "./components/menu/index.js":
/*!**********************************!*\
  !*** ./components/menu/index.js ***!
  \**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Menu_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Menu.vue */ \"./components/menu/Menu.vue\");\n/* harmony import */ var _MenuAnchor_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MenuAnchor.vue */ \"./components/menu/MenuAnchor.vue\");\n/* harmony import */ var _MenuSurface_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MenuSurface.vue */ \"./components/menu/MenuSurface.vue\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./styles.scss */ \"./components/menu/styles.scss\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_styles_scss__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ */ \"./components/index.js\");\n\n\n\n\n\nvar plugin = {\n  install: function install(vm) {\n    vm.component('m-menu', _Menu_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n    vm.component('m-menu-anchor', _MenuAnchor_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n    vm.component('m-menu-surface', _MenuSurface_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n  }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (plugin);\nObject(___WEBPACK_IMPORTED_MODULE_4__[\"initPlugin\"])(plugin);\n\n//# sourceURL=webpack:///./components/menu/index.js?");

/***/ }),

/***/ "./components/menu/styles.scss":
/*!*************************************!*\
  !*** ./components/menu/styles.scss ***!
  \*************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./components/menu/styles.scss?");

/***/ }),

/***/ "./node_modules/@material/base/component.js":
/*!**************************************************!*\
  !*** ./node_modules/@material/base/component.js ***!
  \**************************************************/
/*! exports provided: MDCComponent, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCComponent\", function() { return MDCComponent; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation */ \"./node_modules/@material/base/foundation.js\");\n/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n\n\nvar MDCComponent =\n/** @class */\nfunction () {\n  function MDCComponent(root, foundation) {\n    var args = [];\n\n    for (var _i = 2; _i < arguments.length; _i++) {\n      args[_i - 2] = arguments[_i];\n    }\n\n    this.root_ = root;\n    this.initialize.apply(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"](args)); // Note that we initialize foundation here and not within the constructor's default param so that\n    // this.root_ is defined and can be used within the foundation class.\n\n    this.foundation_ = foundation === undefined ? this.getDefaultFoundation() : foundation;\n    this.foundation_.init();\n    this.initialSyncWithDOM();\n  }\n\n  MDCComponent.attachTo = function (root) {\n    // Subclasses which extend MDCBase should provide an attachTo() method that takes a root element and\n    // returns an instantiated component with its root set to that element. Also note that in the cases of\n    // subclasses, an explicit foundation class will not have to be passed in; it will simply be initialized\n    // from getDefaultFoundation().\n    return new MDCComponent(root, new _foundation__WEBPACK_IMPORTED_MODULE_1__[\"MDCFoundation\"]({}));\n  };\n  /* istanbul ignore next: method param only exists for typing purposes; it does not need to be unit tested */\n\n\n  MDCComponent.prototype.initialize = function () {\n    var _args = [];\n\n    for (var _i = 0; _i < arguments.length; _i++) {\n      _args[_i] = arguments[_i];\n    } // Subclasses can override this to do any additional setup work that would be considered part of a\n    // \"constructor\". Essentially, it is a hook into the parent constructor before the foundation is\n    // initialized. Any additional arguments besides root and foundation will be passed in here.\n\n  };\n\n  MDCComponent.prototype.getDefaultFoundation = function () {\n    // Subclasses must override this method to return a properly configured foundation class for the\n    // component.\n    throw new Error('Subclasses must override getDefaultFoundation to return a properly configured ' + 'foundation class');\n  };\n\n  MDCComponent.prototype.initialSyncWithDOM = function () {// Subclasses should override this method if they need to perform work to synchronize with a host DOM\n    // object. An example of this would be a form control wrapper that needs to synchronize its internal state\n    // to some property or attribute of the host DOM. Please note: this is *not* the place to perform DOM\n    // reads/writes that would cause layout / paint, as this is called synchronously from within the constructor.\n  };\n\n  MDCComponent.prototype.destroy = function () {\n    // Subclasses may implement this method to release any resources / deregister any listeners they have\n    // attached. An example of this might be deregistering a resize event from the window object.\n    this.foundation_.destroy();\n  };\n\n  MDCComponent.prototype.listen = function (evtType, handler) {\n    this.root_.addEventListener(evtType, handler);\n  };\n\n  MDCComponent.prototype.unlisten = function (evtType, handler) {\n    this.root_.removeEventListener(evtType, handler);\n  };\n  /**\n   * Fires a cross-browser-compatible custom event from the component root of the given type, with the given data.\n   */\n\n\n  MDCComponent.prototype.emit = function (evtType, evtData, shouldBubble) {\n    if (shouldBubble === void 0) {\n      shouldBubble = false;\n    }\n\n    var evt;\n\n    if (typeof CustomEvent === 'function') {\n      evt = new CustomEvent(evtType, {\n        bubbles: shouldBubble,\n        detail: evtData\n      });\n    } else {\n      evt = document.createEvent('CustomEvent');\n      evt.initCustomEvent(evtType, shouldBubble, false, evtData);\n    }\n\n    this.root_.dispatchEvent(evt);\n  };\n\n  return MDCComponent;\n}();\n\n // tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MDCComponent);\n\n//# sourceURL=webpack:///./node_modules/@material/base/component.js?");

/***/ }),

/***/ "./node_modules/@material/base/foundation.js":
/*!***************************************************!*\
  !*** ./node_modules/@material/base/foundation.js ***!
  \***************************************************/
/*! exports provided: MDCFoundation, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCFoundation\", function() { return MDCFoundation; });\n/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar MDCFoundation =\n/** @class */\nfunction () {\n  function MDCFoundation(adapter) {\n    if (adapter === void 0) {\n      adapter = {};\n    }\n\n    this.adapter_ = adapter;\n  }\n\n  Object.defineProperty(MDCFoundation, \"cssClasses\", {\n    get: function get() {\n      // Classes extending MDCFoundation should implement this method to return an object which exports every\n      // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'}\n      return {};\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCFoundation, \"strings\", {\n    get: function get() {\n      // Classes extending MDCFoundation should implement this method to return an object which exports all\n      // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'}\n      return {};\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCFoundation, \"numbers\", {\n    get: function get() {\n      // Classes extending MDCFoundation should implement this method to return an object which exports all\n      // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350}\n      return {};\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCFoundation, \"defaultAdapter\", {\n    get: function get() {\n      // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient\n      // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter\n      // validation.\n      return {};\n    },\n    enumerable: true,\n    configurable: true\n  });\n\n  MDCFoundation.prototype.init = function () {// Subclasses should override this method to perform initialization routines (registering events, etc.)\n  };\n\n  MDCFoundation.prototype.destroy = function () {// Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)\n  };\n\n  return MDCFoundation;\n}();\n\n // tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MDCFoundation);\n\n//# sourceURL=webpack:///./node_modules/@material/base/foundation.js?");

/***/ }),

/***/ "./node_modules/@material/dom/ponyfill.js":
/*!************************************************!*\
  !*** ./node_modules/@material/dom/ponyfill.js ***!
  \************************************************/
/*! exports provided: closest, matches */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"closest\", function() { return closest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"matches\", function() { return matches; });\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * @fileoverview A \"ponyfill\" is a polyfill that doesn't modify the global prototype chain.\n * This makes ponyfills safer than traditional polyfills, especially for libraries like MDC.\n */\nfunction closest(element, selector) {\n  if (element.closest) {\n    return element.closest(selector);\n  }\n\n  var el = element;\n\n  while (el) {\n    if (matches(el, selector)) {\n      return el;\n    }\n\n    el = el.parentElement;\n  }\n\n  return null;\n}\nfunction matches(element, selector) {\n  var nativeMatches = element.matches || element.webkitMatchesSelector || element.msMatchesSelector;\n  return nativeMatches.call(element, selector);\n}\n\n//# sourceURL=webpack:///./node_modules/@material/dom/ponyfill.js?");

/***/ }),

/***/ "./node_modules/@material/list/component.js":
/*!**************************************************!*\
  !*** ./node_modules/@material/list/component.js ***!
  \**************************************************/
/*! exports provided: MDCList */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCList\", function() { return MDCList; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/component */ \"./node_modules/@material/base/component.js\");\n/* harmony import */ var _material_dom_ponyfill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/dom/ponyfill */ \"./node_modules/@material/dom/ponyfill.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ \"./node_modules/@material/list/constants.js\");\n/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation */ \"./node_modules/@material/list/foundation.js\");\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n\n\n\n\n\nvar MDCList =\n/** @class */\nfunction (_super) {\n  tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCList, _super);\n\n  function MDCList() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  Object.defineProperty(MDCList.prototype, \"vertical\", {\n    set: function set(value) {\n      this.foundation_.setVerticalOrientation(value);\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCList.prototype, \"listElements\", {\n    get: function get() {\n      return [].slice.call(this.root_.querySelectorAll(\".\" + _constants__WEBPACK_IMPORTED_MODULE_3__[\"cssClasses\"].LIST_ITEM_CLASS));\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCList.prototype, \"wrapFocus\", {\n    set: function set(value) {\n      this.foundation_.setWrapFocus(value);\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCList.prototype, \"singleSelection\", {\n    set: function set(isSingleSelectionList) {\n      this.foundation_.setSingleSelection(isSingleSelectionList);\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCList.prototype, \"selectedIndex\", {\n    get: function get() {\n      return this.foundation_.getSelectedIndex();\n    },\n    set: function set(index) {\n      this.foundation_.setSelectedIndex(index);\n    },\n    enumerable: true,\n    configurable: true\n  });\n\n  MDCList.attachTo = function (root) {\n    return new MDCList(root);\n  };\n\n  MDCList.prototype.initialSyncWithDOM = function () {\n    this.handleClick_ = this.handleClickEvent_.bind(this);\n    this.handleKeydown_ = this.handleKeydownEvent_.bind(this);\n    this.focusInEventListener_ = this.handleFocusInEvent_.bind(this);\n    this.focusOutEventListener_ = this.handleFocusOutEvent_.bind(this);\n    this.listen('keydown', this.handleKeydown_);\n    this.listen('click', this.handleClick_);\n    this.listen('focusin', this.focusInEventListener_);\n    this.listen('focusout', this.focusOutEventListener_);\n    this.layout();\n    this.initializeListType();\n  };\n\n  MDCList.prototype.destroy = function () {\n    this.unlisten('keydown', this.handleKeydown_);\n    this.unlisten('click', this.handleClick_);\n    this.unlisten('focusin', this.focusInEventListener_);\n    this.unlisten('focusout', this.focusOutEventListener_);\n  };\n\n  MDCList.prototype.layout = function () {\n    var direction = this.root_.getAttribute(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].ARIA_ORIENTATION);\n    this.vertical = direction !== _constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].ARIA_ORIENTATION_HORIZONTAL; // List items need to have at least tabindex=-1 to be focusable.\n\n    [].slice.call(this.root_.querySelectorAll('.mdc-list-item:not([tabindex])')).forEach(function (el) {\n      el.setAttribute('tabindex', '-1');\n    }); // Child button/a elements are not tabbable until the list item is focused.\n\n    [].slice.call(this.root_.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].FOCUSABLE_CHILD_ELEMENTS)).forEach(function (el) {\n      return el.setAttribute('tabindex', '-1');\n    });\n    this.foundation_.layout();\n  };\n  /**\n   * Initialize selectedIndex value based on pre-selected checkbox list items, single selection or radio.\n   */\n\n\n  MDCList.prototype.initializeListType = function () {\n    var _this = this;\n\n    var checkboxListItems = this.root_.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].ARIA_ROLE_CHECKBOX_SELECTOR);\n    var singleSelectedListItem = this.root_.querySelector(\"\\n      .\" + _constants__WEBPACK_IMPORTED_MODULE_3__[\"cssClasses\"].LIST_ITEM_ACTIVATED_CLASS + \",\\n      .\" + _constants__WEBPACK_IMPORTED_MODULE_3__[\"cssClasses\"].LIST_ITEM_SELECTED_CLASS + \"\\n    \");\n    var radioSelectedListItem = this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].ARIA_CHECKED_RADIO_SELECTOR);\n\n    if (checkboxListItems.length) {\n      var preselectedItems = this.root_.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].ARIA_CHECKED_CHECKBOX_SELECTOR);\n      this.selectedIndex = [].map.call(preselectedItems, function (listItem) {\n        return _this.listElements.indexOf(listItem);\n      });\n    } else if (singleSelectedListItem) {\n      if (singleSelectedListItem.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_3__[\"cssClasses\"].LIST_ITEM_ACTIVATED_CLASS)) {\n        this.foundation_.setUseActivatedClass(true);\n      }\n\n      this.singleSelection = true;\n      this.selectedIndex = this.listElements.indexOf(singleSelectedListItem);\n    } else if (radioSelectedListItem) {\n      this.selectedIndex = this.listElements.indexOf(radioSelectedListItem);\n    }\n  };\n\n  MDCList.prototype.getDefaultFoundation = function () {\n    var _this = this; // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n    // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n\n\n    var adapter = {\n      addClassForElementIndex: function addClassForElementIndex(index, className) {\n        var element = _this.listElements[index];\n\n        if (element) {\n          element.classList.add(className);\n        }\n      },\n      focusItemAtIndex: function focusItemAtIndex(index) {\n        var element = _this.listElements[index];\n\n        if (element) {\n          element.focus();\n        }\n      },\n      getAttributeForElementIndex: function getAttributeForElementIndex(index, attr) {\n        return _this.listElements[index].getAttribute(attr);\n      },\n      getFocusedElementIndex: function getFocusedElementIndex() {\n        return _this.listElements.indexOf(document.activeElement);\n      },\n      getListItemCount: function getListItemCount() {\n        return _this.listElements.length;\n      },\n      hasCheckboxAtIndex: function hasCheckboxAtIndex(index) {\n        var listItem = _this.listElements[index];\n        return !!listItem.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].CHECKBOX_SELECTOR);\n      },\n      hasRadioAtIndex: function hasRadioAtIndex(index) {\n        var listItem = _this.listElements[index];\n        return !!listItem.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].RADIO_SELECTOR);\n      },\n      isCheckboxCheckedAtIndex: function isCheckboxCheckedAtIndex(index) {\n        var listItem = _this.listElements[index];\n        var toggleEl = listItem.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].CHECKBOX_SELECTOR);\n        return toggleEl.checked;\n      },\n      isFocusInsideList: function isFocusInsideList() {\n        return _this.root_.contains(document.activeElement);\n      },\n      isRootFocused: function isRootFocused() {\n        return document.activeElement === _this.root_;\n      },\n      notifyAction: function notifyAction(index) {\n        _this.emit(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].ACTION_EVENT, {\n          index: index\n        },\n        /** shouldBubble */\n        true);\n      },\n      removeClassForElementIndex: function removeClassForElementIndex(index, className) {\n        var element = _this.listElements[index];\n\n        if (element) {\n          element.classList.remove(className);\n        }\n      },\n      setAttributeForElementIndex: function setAttributeForElementIndex(index, attr, value) {\n        var element = _this.listElements[index];\n\n        if (element) {\n          element.setAttribute(attr, value);\n        }\n      },\n      setCheckedCheckboxOrRadioAtIndex: function setCheckedCheckboxOrRadioAtIndex(index, isChecked) {\n        var listItem = _this.listElements[index];\n        var toggleEl = listItem.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].CHECKBOX_RADIO_SELECTOR);\n        toggleEl.checked = isChecked;\n        var event = document.createEvent('Event');\n        event.initEvent('change', true, true);\n        toggleEl.dispatchEvent(event);\n      },\n      setTabIndexForListItemChildren: function setTabIndexForListItemChildren(listItemIndex, tabIndexValue) {\n        var element = _this.listElements[listItemIndex];\n        var listItemChildren = [].slice.call(element.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].CHILD_ELEMENTS_TO_TOGGLE_TABINDEX));\n        listItemChildren.forEach(function (el) {\n          return el.setAttribute('tabindex', tabIndexValue);\n        });\n      }\n    };\n    return new _foundation__WEBPACK_IMPORTED_MODULE_4__[\"MDCListFoundation\"](adapter);\n  };\n  /**\n   * Used to figure out which list item this event is targetting. Or returns -1 if\n   * there is no list item\n   */\n\n\n  MDCList.prototype.getListItemIndex_ = function (evt) {\n    var eventTarget = evt.target;\n    var nearestParent = Object(_material_dom_ponyfill__WEBPACK_IMPORTED_MODULE_2__[\"closest\"])(eventTarget, \".\" + _constants__WEBPACK_IMPORTED_MODULE_3__[\"cssClasses\"].LIST_ITEM_CLASS + \", .\" + _constants__WEBPACK_IMPORTED_MODULE_3__[\"cssClasses\"].ROOT); // Get the index of the element if it is a list item.\n\n    if (nearestParent && Object(_material_dom_ponyfill__WEBPACK_IMPORTED_MODULE_2__[\"matches\"])(nearestParent, \".\" + _constants__WEBPACK_IMPORTED_MODULE_3__[\"cssClasses\"].LIST_ITEM_CLASS)) {\n      return this.listElements.indexOf(nearestParent);\n    }\n\n    return -1;\n  };\n  /**\n   * Used to figure out which element was clicked before sending the event to the foundation.\n   */\n\n\n  MDCList.prototype.handleFocusInEvent_ = function (evt) {\n    var index = this.getListItemIndex_(evt);\n    this.foundation_.handleFocusIn(evt, index);\n  };\n  /**\n   * Used to figure out which element was clicked before sending the event to the foundation.\n   */\n\n\n  MDCList.prototype.handleFocusOutEvent_ = function (evt) {\n    var index = this.getListItemIndex_(evt);\n    this.foundation_.handleFocusOut(evt, index);\n  };\n  /**\n   * Used to figure out which element was focused when keydown event occurred before sending the event to the\n   * foundation.\n   */\n\n\n  MDCList.prototype.handleKeydownEvent_ = function (evt) {\n    var index = this.getListItemIndex_(evt);\n    var target = evt.target;\n    this.foundation_.handleKeydown(evt, target.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_3__[\"cssClasses\"].LIST_ITEM_CLASS), index);\n  };\n  /**\n   * Used to figure out which element was clicked before sending the event to the foundation.\n   */\n\n\n  MDCList.prototype.handleClickEvent_ = function (evt) {\n    var index = this.getListItemIndex_(evt);\n    var target = evt.target; // Toggle the checkbox only if it's not the target of the event, or the checkbox will have 2 change events.\n\n    var toggleCheckbox = !Object(_material_dom_ponyfill__WEBPACK_IMPORTED_MODULE_2__[\"matches\"])(target, _constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].CHECKBOX_RADIO_SELECTOR);\n    this.foundation_.handleClick(index, toggleCheckbox);\n  };\n\n  return MDCList;\n}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__[\"MDCComponent\"]);\n\n\n\n//# sourceURL=webpack:///./node_modules/@material/list/component.js?");

/***/ }),

/***/ "./node_modules/@material/list/constants.js":
/*!**************************************************!*\
  !*** ./node_modules/@material/list/constants.js ***!
  \**************************************************/
/*! exports provided: strings, cssClasses, numbers */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"strings\", function() { return strings; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cssClasses\", function() { return cssClasses; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"numbers\", function() { return numbers; });\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar cssClasses = {\n  LIST_ITEM_ACTIVATED_CLASS: 'mdc-list-item--activated',\n  LIST_ITEM_CLASS: 'mdc-list-item',\n  LIST_ITEM_DISABLED_CLASS: 'mdc-list-item--disabled',\n  LIST_ITEM_SELECTED_CLASS: 'mdc-list-item--selected',\n  ROOT: 'mdc-list'\n};\nvar strings = {\n  ACTION_EVENT: 'MDCList:action',\n  ARIA_CHECKED: 'aria-checked',\n  ARIA_CHECKED_CHECKBOX_SELECTOR: '[role=\"checkbox\"][aria-checked=\"true\"]',\n  ARIA_CHECKED_RADIO_SELECTOR: '[role=\"radio\"][aria-checked=\"true\"]',\n  ARIA_CURRENT: 'aria-current',\n  ARIA_ORIENTATION: 'aria-orientation',\n  ARIA_ORIENTATION_HORIZONTAL: 'horizontal',\n  ARIA_ROLE_CHECKBOX_SELECTOR: '[role=\"checkbox\"]',\n  ARIA_SELECTED: 'aria-selected',\n  CHECKBOX_RADIO_SELECTOR: 'input[type=\"checkbox\"]:not(:disabled), input[type=\"radio\"]:not(:disabled)',\n  CHECKBOX_SELECTOR: 'input[type=\"checkbox\"]:not(:disabled)',\n  CHILD_ELEMENTS_TO_TOGGLE_TABINDEX: \"\\n    .\" + cssClasses.LIST_ITEM_CLASS + \" button:not(:disabled),\\n    .\" + cssClasses.LIST_ITEM_CLASS + \" a\\n  \",\n  FOCUSABLE_CHILD_ELEMENTS: \"\\n    .\" + cssClasses.LIST_ITEM_CLASS + \" button:not(:disabled),\\n    .\" + cssClasses.LIST_ITEM_CLASS + \" a,\\n    .\" + cssClasses.LIST_ITEM_CLASS + \" input[type=\\\"radio\\\"]:not(:disabled),\\n    .\" + cssClasses.LIST_ITEM_CLASS + \" input[type=\\\"checkbox\\\"]:not(:disabled)\\n  \",\n  RADIO_SELECTOR: 'input[type=\"radio\"]:not(:disabled)'\n};\nvar numbers = {\n  UNSET_INDEX: -1\n};\n\n\n//# sourceURL=webpack:///./node_modules/@material/list/constants.js?");

/***/ }),

/***/ "./node_modules/@material/list/foundation.js":
/*!***************************************************!*\
  !*** ./node_modules/@material/list/foundation.js ***!
  \***************************************************/
/*! exports provided: MDCListFoundation, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCListFoundation\", function() { return MDCListFoundation; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/foundation */ \"./node_modules/@material/base/foundation.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./node_modules/@material/list/constants.js\");\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n\n\nvar ELEMENTS_KEY_ALLOWED_IN = ['input', 'button', 'textarea', 'select'];\n\nfunction isNumberArray(selectedIndex) {\n  return selectedIndex instanceof Array;\n}\n\nvar MDCListFoundation =\n/** @class */\nfunction (_super) {\n  tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCListFoundation, _super);\n\n  function MDCListFoundation(adapter) {\n    var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"]({}, MDCListFoundation.defaultAdapter, adapter)) || this;\n\n    _this.wrapFocus_ = false;\n    _this.isVertical_ = true;\n    _this.isSingleSelectionList_ = false;\n    _this.selectedIndex_ = _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX;\n    _this.focusedItemIndex_ = _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX;\n    _this.useActivatedClass_ = false;\n    _this.ariaCurrentAttrValue_ = null;\n    _this.isCheckboxList_ = false;\n    _this.isRadioList_ = false;\n    return _this;\n  }\n\n  Object.defineProperty(MDCListFoundation, \"strings\", {\n    get: function get() {\n      return _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCListFoundation, \"cssClasses\", {\n    get: function get() {\n      return _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCListFoundation, \"numbers\", {\n    get: function get() {\n      return _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCListFoundation, \"defaultAdapter\", {\n    get: function get() {\n      return {\n        addClassForElementIndex: function addClassForElementIndex() {\n          return undefined;\n        },\n        focusItemAtIndex: function focusItemAtIndex() {\n          return undefined;\n        },\n        getAttributeForElementIndex: function getAttributeForElementIndex() {\n          return null;\n        },\n        getFocusedElementIndex: function getFocusedElementIndex() {\n          return 0;\n        },\n        getListItemCount: function getListItemCount() {\n          return 0;\n        },\n        hasCheckboxAtIndex: function hasCheckboxAtIndex() {\n          return false;\n        },\n        hasRadioAtIndex: function hasRadioAtIndex() {\n          return false;\n        },\n        isCheckboxCheckedAtIndex: function isCheckboxCheckedAtIndex() {\n          return false;\n        },\n        isFocusInsideList: function isFocusInsideList() {\n          return false;\n        },\n        isRootFocused: function isRootFocused() {\n          return false;\n        },\n        notifyAction: function notifyAction() {\n          return undefined;\n        },\n        removeClassForElementIndex: function removeClassForElementIndex() {\n          return undefined;\n        },\n        setAttributeForElementIndex: function setAttributeForElementIndex() {\n          return undefined;\n        },\n        setCheckedCheckboxOrRadioAtIndex: function setCheckedCheckboxOrRadioAtIndex() {\n          return undefined;\n        },\n        setTabIndexForListItemChildren: function setTabIndexForListItemChildren() {\n          return undefined;\n        }\n      };\n    },\n    enumerable: true,\n    configurable: true\n  });\n\n  MDCListFoundation.prototype.layout = function () {\n    if (this.adapter_.getListItemCount() === 0) {\n      return;\n    }\n\n    if (this.adapter_.hasCheckboxAtIndex(0)) {\n      this.isCheckboxList_ = true;\n    } else if (this.adapter_.hasRadioAtIndex(0)) {\n      this.isRadioList_ = true;\n    }\n  };\n  /**\n   * Sets the private wrapFocus_ variable.\n   */\n\n\n  MDCListFoundation.prototype.setWrapFocus = function (value) {\n    this.wrapFocus_ = value;\n  };\n  /**\n   * Sets the isVertical_ private variable.\n   */\n\n\n  MDCListFoundation.prototype.setVerticalOrientation = function (value) {\n    this.isVertical_ = value;\n  };\n  /**\n   * Sets the isSingleSelectionList_ private variable.\n   */\n\n\n  MDCListFoundation.prototype.setSingleSelection = function (value) {\n    this.isSingleSelectionList_ = value;\n  };\n  /**\n   * Sets the useActivatedClass_ private variable.\n   */\n\n\n  MDCListFoundation.prototype.setUseActivatedClass = function (useActivated) {\n    this.useActivatedClass_ = useActivated;\n  };\n\n  MDCListFoundation.prototype.getSelectedIndex = function () {\n    return this.selectedIndex_;\n  };\n\n  MDCListFoundation.prototype.setSelectedIndex = function (index) {\n    if (!this.isIndexValid_(index)) {\n      return;\n    }\n\n    if (this.isCheckboxList_) {\n      this.setCheckboxAtIndex_(index);\n    } else if (this.isRadioList_) {\n      this.setRadioAtIndex_(index);\n    } else {\n      this.setSingleSelectionAtIndex_(index);\n    }\n  };\n  /**\n   * Focus in handler for the list items.\n   */\n\n\n  MDCListFoundation.prototype.handleFocusIn = function (_, listItemIndex) {\n    if (listItemIndex >= 0) {\n      this.adapter_.setTabIndexForListItemChildren(listItemIndex, '0');\n    }\n  };\n  /**\n   * Focus out handler for the list items.\n   */\n\n\n  MDCListFoundation.prototype.handleFocusOut = function (_, listItemIndex) {\n    var _this = this;\n\n    if (listItemIndex >= 0) {\n      this.adapter_.setTabIndexForListItemChildren(listItemIndex, '-1');\n    }\n    /**\n     * Between Focusout & Focusin some browsers do not have focus on any element. Setting a delay to wait till the focus\n     * is moved to next element.\n     */\n\n\n    setTimeout(function () {\n      if (!_this.adapter_.isFocusInsideList()) {\n        _this.setTabindexToFirstSelectedItem_();\n      }\n    }, 0);\n  };\n  /**\n   * Key handler for the list.\n   */\n\n\n  MDCListFoundation.prototype.handleKeydown = function (evt, isRootListItem, listItemIndex) {\n    var isArrowLeft = evt.key === 'ArrowLeft' || evt.keyCode === 37;\n    var isArrowUp = evt.key === 'ArrowUp' || evt.keyCode === 38;\n    var isArrowRight = evt.key === 'ArrowRight' || evt.keyCode === 39;\n    var isArrowDown = evt.key === 'ArrowDown' || evt.keyCode === 40;\n    var isHome = evt.key === 'Home' || evt.keyCode === 36;\n    var isEnd = evt.key === 'End' || evt.keyCode === 35;\n    var isEnter = evt.key === 'Enter' || evt.keyCode === 13;\n    var isSpace = evt.key === 'Space' || evt.keyCode === 32;\n\n    if (this.adapter_.isRootFocused()) {\n      if (isArrowUp || isEnd) {\n        evt.preventDefault();\n        this.focusLastElement();\n      } else if (isArrowDown || isHome) {\n        evt.preventDefault();\n        this.focusFirstElement();\n      }\n\n      return;\n    }\n\n    var currentIndex = this.adapter_.getFocusedElementIndex();\n\n    if (currentIndex === -1) {\n      currentIndex = listItemIndex;\n\n      if (currentIndex < 0) {\n        // If this event doesn't have a mdc-list-item ancestor from the\n        // current list (not from a sublist), return early.\n        return;\n      }\n    }\n\n    var nextIndex;\n\n    if (this.isVertical_ && isArrowDown || !this.isVertical_ && isArrowRight) {\n      this.preventDefaultEvent_(evt);\n      nextIndex = this.focusNextElement(currentIndex);\n    } else if (this.isVertical_ && isArrowUp || !this.isVertical_ && isArrowLeft) {\n      this.preventDefaultEvent_(evt);\n      nextIndex = this.focusPrevElement(currentIndex);\n    } else if (isHome) {\n      this.preventDefaultEvent_(evt);\n      nextIndex = this.focusFirstElement();\n    } else if (isEnd) {\n      this.preventDefaultEvent_(evt);\n      nextIndex = this.focusLastElement();\n    } else if (isEnter || isSpace) {\n      if (isRootListItem) {\n        // Return early if enter key is pressed on anchor element which triggers synthetic MouseEvent event.\n        var target = evt.target;\n\n        if (target && target.tagName === 'A' && isEnter) {\n          return;\n        }\n\n        this.preventDefaultEvent_(evt);\n\n        if (this.isSelectableList_()) {\n          this.setSelectedIndexOnAction_(currentIndex);\n        }\n\n        this.adapter_.notifyAction(currentIndex);\n      }\n    }\n\n    this.focusedItemIndex_ = currentIndex;\n\n    if (nextIndex !== undefined) {\n      this.setTabindexAtIndex_(nextIndex);\n      this.focusedItemIndex_ = nextIndex;\n    }\n  };\n  /**\n   * Click handler for the list.\n   */\n\n\n  MDCListFoundation.prototype.handleClick = function (index, toggleCheckbox) {\n    if (index === _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX) {\n      return;\n    }\n\n    if (this.isSelectableList_()) {\n      this.setSelectedIndexOnAction_(index, toggleCheckbox);\n    }\n\n    this.adapter_.notifyAction(index);\n    this.setTabindexAtIndex_(index);\n    this.focusedItemIndex_ = index;\n  };\n  /**\n   * Focuses the next element on the list.\n   */\n\n\n  MDCListFoundation.prototype.focusNextElement = function (index) {\n    var count = this.adapter_.getListItemCount();\n    var nextIndex = index + 1;\n\n    if (nextIndex >= count) {\n      if (this.wrapFocus_) {\n        nextIndex = 0;\n      } else {\n        // Return early because last item is already focused.\n        return index;\n      }\n    }\n\n    this.adapter_.focusItemAtIndex(nextIndex);\n    return nextIndex;\n  };\n  /**\n   * Focuses the previous element on the list.\n   */\n\n\n  MDCListFoundation.prototype.focusPrevElement = function (index) {\n    var prevIndex = index - 1;\n\n    if (prevIndex < 0) {\n      if (this.wrapFocus_) {\n        prevIndex = this.adapter_.getListItemCount() - 1;\n      } else {\n        // Return early because first item is already focused.\n        return index;\n      }\n    }\n\n    this.adapter_.focusItemAtIndex(prevIndex);\n    return prevIndex;\n  };\n\n  MDCListFoundation.prototype.focusFirstElement = function () {\n    this.adapter_.focusItemAtIndex(0);\n    return 0;\n  };\n\n  MDCListFoundation.prototype.focusLastElement = function () {\n    var lastIndex = this.adapter_.getListItemCount() - 1;\n    this.adapter_.focusItemAtIndex(lastIndex);\n    return lastIndex;\n  };\n  /**\n   * Ensures that preventDefault is only called if the containing element doesn't\n   * consume the event, and it will cause an unintended scroll.\n   */\n\n\n  MDCListFoundation.prototype.preventDefaultEvent_ = function (evt) {\n    var target = evt.target;\n    var tagName = (\"\" + target.tagName).toLowerCase();\n\n    if (ELEMENTS_KEY_ALLOWED_IN.indexOf(tagName) === -1) {\n      evt.preventDefault();\n    }\n  };\n\n  MDCListFoundation.prototype.setSingleSelectionAtIndex_ = function (index) {\n    if (this.selectedIndex_ === index) {\n      return;\n    }\n\n    var selectedClassName = _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].LIST_ITEM_SELECTED_CLASS;\n\n    if (this.useActivatedClass_) {\n      selectedClassName = _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].LIST_ITEM_ACTIVATED_CLASS;\n    }\n\n    if (this.selectedIndex_ !== _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX) {\n      this.adapter_.removeClassForElementIndex(this.selectedIndex_, selectedClassName);\n    }\n\n    this.adapter_.addClassForElementIndex(index, selectedClassName);\n    this.setAriaForSingleSelectionAtIndex_(index);\n    this.selectedIndex_ = index;\n  };\n  /**\n   * Sets aria attribute for single selection at given index.\n   */\n\n\n  MDCListFoundation.prototype.setAriaForSingleSelectionAtIndex_ = function (index) {\n    // Detect the presence of aria-current and get the value only during list initialization when it is in unset state.\n    if (this.selectedIndex_ === _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX) {\n      this.ariaCurrentAttrValue_ = this.adapter_.getAttributeForElementIndex(index, _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].ARIA_CURRENT);\n    }\n\n    var isAriaCurrent = this.ariaCurrentAttrValue_ !== null;\n    var ariaAttribute = isAriaCurrent ? _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].ARIA_CURRENT : _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].ARIA_SELECTED;\n\n    if (this.selectedIndex_ !== _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX) {\n      this.adapter_.setAttributeForElementIndex(this.selectedIndex_, ariaAttribute, 'false');\n    }\n\n    var ariaAttributeValue = isAriaCurrent ? this.ariaCurrentAttrValue_ : 'true';\n    this.adapter_.setAttributeForElementIndex(index, ariaAttribute, ariaAttributeValue);\n  };\n  /**\n   * Toggles radio at give index. Radio doesn't change the checked state if it is already checked.\n   */\n\n\n  MDCListFoundation.prototype.setRadioAtIndex_ = function (index) {\n    this.adapter_.setCheckedCheckboxOrRadioAtIndex(index, true);\n\n    if (this.selectedIndex_ !== _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX) {\n      this.adapter_.setAttributeForElementIndex(this.selectedIndex_, _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].ARIA_CHECKED, 'false');\n    }\n\n    this.adapter_.setAttributeForElementIndex(index, _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].ARIA_CHECKED, 'true');\n    this.selectedIndex_ = index;\n  };\n\n  MDCListFoundation.prototype.setCheckboxAtIndex_ = function (index) {\n    for (var i = 0; i < this.adapter_.getListItemCount(); i++) {\n      var isChecked = false;\n\n      if (index.indexOf(i) >= 0) {\n        isChecked = true;\n      }\n\n      this.adapter_.setCheckedCheckboxOrRadioAtIndex(i, isChecked);\n      this.adapter_.setAttributeForElementIndex(i, _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].ARIA_CHECKED, isChecked ? 'true' : 'false');\n    }\n\n    this.selectedIndex_ = index;\n  };\n\n  MDCListFoundation.prototype.setTabindexAtIndex_ = function (index) {\n    if (this.focusedItemIndex_ === _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX && index !== 0) {\n      // If no list item was selected set first list item's tabindex to -1.\n      // Generally, tabindex is set to 0 on first list item of list that has no preselected items.\n      this.adapter_.setAttributeForElementIndex(0, 'tabindex', '-1');\n    } else if (this.focusedItemIndex_ >= 0 && this.focusedItemIndex_ !== index) {\n      this.adapter_.setAttributeForElementIndex(this.focusedItemIndex_, 'tabindex', '-1');\n    }\n\n    this.adapter_.setAttributeForElementIndex(index, 'tabindex', '0');\n  };\n  /**\n   * @return Return true if it is single selectin list, checkbox list or radio list.\n   */\n\n\n  MDCListFoundation.prototype.isSelectableList_ = function () {\n    return this.isSingleSelectionList_ || this.isCheckboxList_ || this.isRadioList_;\n  };\n\n  MDCListFoundation.prototype.setTabindexToFirstSelectedItem_ = function () {\n    var targetIndex = 0;\n\n    if (this.isSelectableList_()) {\n      if (typeof this.selectedIndex_ === 'number' && this.selectedIndex_ !== _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX) {\n        targetIndex = this.selectedIndex_;\n      } else if (isNumberArray(this.selectedIndex_) && this.selectedIndex_.length > 0) {\n        targetIndex = this.selectedIndex_.reduce(function (currentIndex, minIndex) {\n          return Math.min(currentIndex, minIndex);\n        });\n      }\n    }\n\n    this.setTabindexAtIndex_(targetIndex);\n  };\n\n  MDCListFoundation.prototype.isIndexValid_ = function (index) {\n    var _this = this;\n\n    if (index instanceof Array) {\n      if (!this.isCheckboxList_) {\n        throw new Error('MDCListFoundation: Array of index is only supported for checkbox based list');\n      }\n\n      if (index.length === 0) {\n        return true;\n      } else {\n        return index.some(function (i) {\n          return _this.isIndexInRange_(i);\n        });\n      }\n    } else if (typeof index === 'number') {\n      if (this.isCheckboxList_) {\n        throw new Error('MDCListFoundation: Expected array of index for checkbox based list but got number: ' + index);\n      }\n\n      return this.isIndexInRange_(index);\n    } else {\n      return false;\n    }\n  };\n\n  MDCListFoundation.prototype.isIndexInRange_ = function (index) {\n    var listSize = this.adapter_.getListItemCount();\n    return index >= 0 && index < listSize;\n  };\n\n  MDCListFoundation.prototype.setSelectedIndexOnAction_ = function (index, toggleCheckbox) {\n    if (toggleCheckbox === void 0) {\n      toggleCheckbox = true;\n    }\n\n    if (this.isCheckboxList_) {\n      this.toggleCheckboxAtIndex_(index, toggleCheckbox);\n    } else {\n      this.setSelectedIndex(index);\n    }\n  };\n\n  MDCListFoundation.prototype.toggleCheckboxAtIndex_ = function (index, toggleCheckbox) {\n    var isChecked = this.adapter_.isCheckboxCheckedAtIndex(index);\n\n    if (toggleCheckbox) {\n      isChecked = !isChecked;\n      this.adapter_.setCheckedCheckboxOrRadioAtIndex(index, isChecked);\n    }\n\n    this.adapter_.setAttributeForElementIndex(index, _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].ARIA_CHECKED, isChecked ? 'true' : 'false'); // If none of the checkbox items are selected and selectedIndex is not initialized then provide a default value.\n\n    var selectedIndexes = this.selectedIndex_ === _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX ? [] : this.selectedIndex_.slice();\n\n    if (isChecked) {\n      selectedIndexes.push(index);\n    } else {\n      selectedIndexes = selectedIndexes.filter(function (i) {\n        return i !== index;\n      });\n    }\n\n    this.selectedIndex_ = selectedIndexes;\n  };\n\n  return MDCListFoundation;\n}(_material_base_foundation__WEBPACK_IMPORTED_MODULE_1__[\"MDCFoundation\"]);\n\n // tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MDCListFoundation);\n\n//# sourceURL=webpack:///./node_modules/@material/list/foundation.js?");

/***/ }),

/***/ "./node_modules/@material/menu-surface/component.js":
/*!**********************************************************!*\
  !*** ./node_modules/@material/menu-surface/component.js ***!
  \**********************************************************/
/*! exports provided: MDCMenuSurface */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCMenuSurface\", function() { return MDCMenuSurface; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/component */ \"./node_modules/@material/base/component.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./node_modules/@material/menu-surface/constants.js\");\n/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation */ \"./node_modules/@material/menu-surface/foundation.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ \"./node_modules/@material/menu-surface/util.js\");\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n\n\n\n\n\nvar MDCMenuSurface =\n/** @class */\nfunction (_super) {\n  tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCMenuSurface, _super);\n\n  function MDCMenuSurface() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  MDCMenuSurface.attachTo = function (root) {\n    return new MDCMenuSurface(root);\n  };\n\n  MDCMenuSurface.prototype.initialSyncWithDOM = function () {\n    var _this = this;\n\n    var parentEl = this.root_.parentElement;\n    this.anchorElement = parentEl && parentEl.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].ANCHOR) ? parentEl : null;\n\n    if (this.root_.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].FIXED)) {\n      this.setFixedPosition(true);\n    }\n\n    this.handleKeydown_ = function (evt) {\n      return _this.foundation_.handleKeydown(evt);\n    };\n\n    this.handleBodyClick_ = function (evt) {\n      return _this.foundation_.handleBodyClick(evt);\n    };\n\n    this.registerBodyClickListener_ = function () {\n      return document.body.addEventListener('click', _this.handleBodyClick_);\n    };\n\n    this.deregisterBodyClickListener_ = function () {\n      return document.body.removeEventListener('click', _this.handleBodyClick_);\n    };\n\n    this.listen('keydown', this.handleKeydown_);\n    this.listen(_constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].OPENED_EVENT, this.registerBodyClickListener_);\n    this.listen(_constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].CLOSED_EVENT, this.deregisterBodyClickListener_);\n  };\n\n  MDCMenuSurface.prototype.destroy = function () {\n    this.unlisten('keydown', this.handleKeydown_);\n    this.unlisten(_constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].OPENED_EVENT, this.registerBodyClickListener_);\n    this.unlisten(_constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].CLOSED_EVENT, this.deregisterBodyClickListener_);\n\n    _super.prototype.destroy.call(this);\n  };\n\n  Object.defineProperty(MDCMenuSurface.prototype, \"open\", {\n    get: function get() {\n      return this.foundation_.isOpen();\n    },\n    set: function set(value) {\n      if (value) {\n        var focusableElements = this.root_.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].FOCUSABLE_ELEMENTS);\n        this.firstFocusableElement_ = focusableElements[0];\n        this.lastFocusableElement_ = focusableElements[focusableElements.length - 1];\n        this.foundation_.open();\n      } else {\n        this.foundation_.close();\n      }\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenuSurface.prototype, \"quickOpen\", {\n    set: function set(quickOpen) {\n      this.foundation_.setQuickOpen(quickOpen);\n    },\n    enumerable: true,\n    configurable: true\n  });\n  /**\n   * Removes the menu-surface from it's current location and appends it to the\n   * body to overcome any overflow:hidden issues.\n   */\n\n  MDCMenuSurface.prototype.hoistMenuToBody = function () {\n    document.body.appendChild(this.root_);\n    this.setIsHoisted(true);\n  };\n  /** Sets the foundation to use page offsets for an positioning when the menu is hoisted to the body. */\n\n\n  MDCMenuSurface.prototype.setIsHoisted = function (isHoisted) {\n    this.foundation_.setIsHoisted(isHoisted);\n  };\n  /** Sets the element that the menu-surface is anchored to. */\n\n\n  MDCMenuSurface.prototype.setMenuSurfaceAnchorElement = function (element) {\n    this.anchorElement = element;\n  };\n  /** Sets the menu-surface to position: fixed. */\n\n\n  MDCMenuSurface.prototype.setFixedPosition = function (isFixed) {\n    if (isFixed) {\n      this.root_.classList.add(_constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].FIXED);\n    } else {\n      this.root_.classList.remove(_constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].FIXED);\n    }\n\n    this.foundation_.setFixedPosition(isFixed);\n  };\n  /** Sets the absolute x/y position to position based on. Requires the menu to be hoisted. */\n\n\n  MDCMenuSurface.prototype.setAbsolutePosition = function (x, y) {\n    this.foundation_.setAbsolutePosition(x, y);\n    this.setIsHoisted(true);\n  };\n  /**\n   * @param corner Default anchor corner alignment of top-left surface corner.\n   */\n\n\n  MDCMenuSurface.prototype.setAnchorCorner = function (corner) {\n    this.foundation_.setAnchorCorner(corner);\n  };\n\n  MDCMenuSurface.prototype.setAnchorMargin = function (margin) {\n    this.foundation_.setAnchorMargin(margin);\n  };\n\n  MDCMenuSurface.prototype.getDefaultFoundation = function () {\n    var _this = this; // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n    // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n    // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n\n\n    var adapter = {\n      addClass: function addClass(className) {\n        return _this.root_.classList.add(className);\n      },\n      removeClass: function removeClass(className) {\n        return _this.root_.classList.remove(className);\n      },\n      hasClass: function hasClass(className) {\n        return _this.root_.classList.contains(className);\n      },\n      hasAnchor: function hasAnchor() {\n        return !!_this.anchorElement;\n      },\n      notifyClose: function notifyClose() {\n        return _this.emit(_foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCMenuSurfaceFoundation\"].strings.CLOSED_EVENT, {});\n      },\n      notifyOpen: function notifyOpen() {\n        return _this.emit(_foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCMenuSurfaceFoundation\"].strings.OPENED_EVENT, {});\n      },\n      isElementInContainer: function isElementInContainer(el) {\n        return _this.root_.contains(el);\n      },\n      isRtl: function isRtl() {\n        return getComputedStyle(_this.root_).getPropertyValue('direction') === 'rtl';\n      },\n      setTransformOrigin: function setTransformOrigin(origin) {\n        var propertyName = _util__WEBPACK_IMPORTED_MODULE_4__[\"getTransformPropertyName\"](window) + \"-origin\";\n\n        _this.root_.style.setProperty(propertyName, origin);\n      },\n      isFocused: function isFocused() {\n        return document.activeElement === _this.root_;\n      },\n      saveFocus: function saveFocus() {\n        _this.previousFocus_ = document.activeElement;\n      },\n      restoreFocus: function restoreFocus() {\n        if (_this.root_.contains(document.activeElement)) {\n          if (_this.previousFocus_ && _this.previousFocus_.focus) {\n            _this.previousFocus_.focus();\n          }\n        }\n      },\n      isFirstElementFocused: function isFirstElementFocused() {\n        return _this.firstFocusableElement_ ? _this.firstFocusableElement_ === document.activeElement : false;\n      },\n      isLastElementFocused: function isLastElementFocused() {\n        return _this.lastFocusableElement_ ? _this.lastFocusableElement_ === document.activeElement : false;\n      },\n      focusFirstElement: function focusFirstElement() {\n        return _this.firstFocusableElement_ && _this.firstFocusableElement_.focus && _this.firstFocusableElement_.focus();\n      },\n      focusLastElement: function focusLastElement() {\n        return _this.lastFocusableElement_ && _this.lastFocusableElement_.focus && _this.lastFocusableElement_.focus();\n      },\n      getInnerDimensions: function getInnerDimensions() {\n        return {\n          width: _this.root_.offsetWidth,\n          height: _this.root_.offsetHeight\n        };\n      },\n      getAnchorDimensions: function getAnchorDimensions() {\n        return _this.anchorElement ? _this.anchorElement.getBoundingClientRect() : null;\n      },\n      getWindowDimensions: function getWindowDimensions() {\n        return {\n          width: window.innerWidth,\n          height: window.innerHeight\n        };\n      },\n      getBodyDimensions: function getBodyDimensions() {\n        return {\n          width: document.body.clientWidth,\n          height: document.body.clientHeight\n        };\n      },\n      getWindowScroll: function getWindowScroll() {\n        return {\n          x: window.pageXOffset,\n          y: window.pageYOffset\n        };\n      },\n      setPosition: function setPosition(position) {\n        _this.root_.style.left = 'left' in position ? position.left + \"px\" : '';\n        _this.root_.style.right = 'right' in position ? position.right + \"px\" : '';\n        _this.root_.style.top = 'top' in position ? position.top + \"px\" : '';\n        _this.root_.style.bottom = 'bottom' in position ? position.bottom + \"px\" : '';\n      },\n      setMaxHeight: function setMaxHeight(height) {\n        _this.root_.style.maxHeight = height;\n      }\n    }; // tslint:enable:object-literal-sort-keys\n\n    return new _foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCMenuSurfaceFoundation\"](adapter);\n  };\n\n  return MDCMenuSurface;\n}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__[\"MDCComponent\"]);\n\n\n\n//# sourceURL=webpack:///./node_modules/@material/menu-surface/component.js?");

/***/ }),

/***/ "./node_modules/@material/menu-surface/constants.js":
/*!**********************************************************!*\
  !*** ./node_modules/@material/menu-surface/constants.js ***!
  \**********************************************************/
/*! exports provided: cssClasses, strings, numbers, CornerBit, Corner */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cssClasses\", function() { return cssClasses; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"strings\", function() { return strings; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"numbers\", function() { return numbers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CornerBit\", function() { return CornerBit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Corner\", function() { return Corner; });\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar cssClasses = {\n  ANCHOR: 'mdc-menu-surface--anchor',\n  ANIMATING_CLOSED: 'mdc-menu-surface--animating-closed',\n  ANIMATING_OPEN: 'mdc-menu-surface--animating-open',\n  FIXED: 'mdc-menu-surface--fixed',\n  OPEN: 'mdc-menu-surface--open',\n  ROOT: 'mdc-menu-surface'\n}; // tslint:disable:object-literal-sort-keys\n\nvar strings = {\n  CLOSED_EVENT: 'MDCMenuSurface:closed',\n  OPENED_EVENT: 'MDCMenuSurface:opened',\n  FOCUSABLE_ELEMENTS: ['button:not(:disabled)', '[href]:not([aria-disabled=\"true\"])', 'input:not(:disabled)', 'select:not(:disabled)', 'textarea:not(:disabled)', '[tabindex]:not([tabindex=\"-1\"]):not([aria-disabled=\"true\"])'].join(', ')\n}; // tslint:enable:object-literal-sort-keys\n\nvar numbers = {\n  /** Total duration of menu-surface open animation. */\n  TRANSITION_OPEN_DURATION: 120,\n\n  /** Total duration of menu-surface close animation. */\n  TRANSITION_CLOSE_DURATION: 75,\n\n  /** Margin left to the edge of the viewport when menu-surface is at maximum possible height. */\n  MARGIN_TO_EDGE: 32,\n\n  /** Ratio of anchor width to menu-surface width for switching from corner positioning to center positioning. */\n  ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO: 0.67\n};\n/**\n * Enum for bits in the {@see Corner) bitmap.\n */\n\nvar CornerBit;\n\n(function (CornerBit) {\n  CornerBit[CornerBit[\"BOTTOM\"] = 1] = \"BOTTOM\";\n  CornerBit[CornerBit[\"CENTER\"] = 2] = \"CENTER\";\n  CornerBit[CornerBit[\"RIGHT\"] = 4] = \"RIGHT\";\n  CornerBit[CornerBit[\"FLIP_RTL\"] = 8] = \"FLIP_RTL\";\n})(CornerBit || (CornerBit = {}));\n/**\n * Enum for representing an element corner for positioning the menu-surface.\n *\n * The START constants map to LEFT if element directionality is left\n * to right and RIGHT if the directionality is right to left.\n * Likewise END maps to RIGHT or LEFT depending on the directionality.\n */\n\n\nvar Corner;\n\n(function (Corner) {\n  Corner[Corner[\"TOP_LEFT\"] = 0] = \"TOP_LEFT\";\n  Corner[Corner[\"TOP_RIGHT\"] = 4] = \"TOP_RIGHT\";\n  Corner[Corner[\"BOTTOM_LEFT\"] = 1] = \"BOTTOM_LEFT\";\n  Corner[Corner[\"BOTTOM_RIGHT\"] = 5] = \"BOTTOM_RIGHT\";\n  Corner[Corner[\"TOP_START\"] = 8] = \"TOP_START\";\n  Corner[Corner[\"TOP_END\"] = 12] = \"TOP_END\";\n  Corner[Corner[\"BOTTOM_START\"] = 9] = \"BOTTOM_START\";\n  Corner[Corner[\"BOTTOM_END\"] = 13] = \"BOTTOM_END\";\n})(Corner || (Corner = {}));\n\n\n\n//# sourceURL=webpack:///./node_modules/@material/menu-surface/constants.js?");

/***/ }),

/***/ "./node_modules/@material/menu-surface/foundation.js":
/*!***********************************************************!*\
  !*** ./node_modules/@material/menu-surface/foundation.js ***!
  \***********************************************************/
/*! exports provided: MDCMenuSurfaceFoundation, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCMenuSurfaceFoundation\", function() { return MDCMenuSurfaceFoundation; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/foundation */ \"./node_modules/@material/base/foundation.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./node_modules/@material/menu-surface/constants.js\");\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n\n\n\nvar MDCMenuSurfaceFoundation =\n/** @class */\nfunction (_super) {\n  tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCMenuSurfaceFoundation, _super);\n\n  function MDCMenuSurfaceFoundation(adapter) {\n    var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"]({}, MDCMenuSurfaceFoundation.defaultAdapter, adapter)) || this;\n\n    _this.isOpen_ = false;\n    _this.isQuickOpen_ = false;\n    _this.isHoistedElement_ = false;\n    _this.isFixedPosition_ = false;\n    _this.openAnimationEndTimerId_ = 0;\n    _this.closeAnimationEndTimerId_ = 0;\n    _this.animationRequestId_ = 0;\n    _this.anchorCorner_ = _constants__WEBPACK_IMPORTED_MODULE_2__[\"Corner\"].TOP_START;\n    _this.anchorMargin_ = {\n      top: 0,\n      right: 0,\n      bottom: 0,\n      left: 0\n    };\n    _this.position_ = {\n      x: 0,\n      y: 0\n    };\n    return _this;\n  }\n\n  Object.defineProperty(MDCMenuSurfaceFoundation, \"cssClasses\", {\n    get: function get() {\n      return _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenuSurfaceFoundation, \"strings\", {\n    get: function get() {\n      return _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenuSurfaceFoundation, \"numbers\", {\n    get: function get() {\n      return _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenuSurfaceFoundation, \"Corner\", {\n    get: function get() {\n      return _constants__WEBPACK_IMPORTED_MODULE_2__[\"Corner\"];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenuSurfaceFoundation, \"defaultAdapter\", {\n    /**\n     * @see {@link MDCMenuSurfaceAdapter} for typing information on parameters and return types.\n     */\n    get: function get() {\n      // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n      return {\n        addClass: function addClass() {\n          return undefined;\n        },\n        removeClass: function removeClass() {\n          return undefined;\n        },\n        hasClass: function hasClass() {\n          return false;\n        },\n        hasAnchor: function hasAnchor() {\n          return false;\n        },\n        isElementInContainer: function isElementInContainer() {\n          return false;\n        },\n        isFocused: function isFocused() {\n          return false;\n        },\n        isFirstElementFocused: function isFirstElementFocused() {\n          return false;\n        },\n        isLastElementFocused: function isLastElementFocused() {\n          return false;\n        },\n        isRtl: function isRtl() {\n          return false;\n        },\n        getInnerDimensions: function getInnerDimensions() {\n          return {\n            height: 0,\n            width: 0\n          };\n        },\n        getAnchorDimensions: function getAnchorDimensions() {\n          return null;\n        },\n        getWindowDimensions: function getWindowDimensions() {\n          return {\n            height: 0,\n            width: 0\n          };\n        },\n        getBodyDimensions: function getBodyDimensions() {\n          return {\n            height: 0,\n            width: 0\n          };\n        },\n        getWindowScroll: function getWindowScroll() {\n          return {\n            x: 0,\n            y: 0\n          };\n        },\n        setPosition: function setPosition() {\n          return undefined;\n        },\n        setMaxHeight: function setMaxHeight() {\n          return undefined;\n        },\n        setTransformOrigin: function setTransformOrigin() {\n          return undefined;\n        },\n        saveFocus: function saveFocus() {\n          return undefined;\n        },\n        restoreFocus: function restoreFocus() {\n          return undefined;\n        },\n        focusFirstElement: function focusFirstElement() {\n          return undefined;\n        },\n        focusLastElement: function focusLastElement() {\n          return undefined;\n        },\n        notifyClose: function notifyClose() {\n          return undefined;\n        },\n        notifyOpen: function notifyOpen() {\n          return undefined;\n        }\n      }; // tslint:enable:object-literal-sort-keys\n    },\n    enumerable: true,\n    configurable: true\n  });\n\n  MDCMenuSurfaceFoundation.prototype.init = function () {\n    var _a = MDCMenuSurfaceFoundation.cssClasses,\n        ROOT = _a.ROOT,\n        OPEN = _a.OPEN;\n\n    if (!this.adapter_.hasClass(ROOT)) {\n      throw new Error(ROOT + \" class required in root element.\");\n    }\n\n    if (this.adapter_.hasClass(OPEN)) {\n      this.isOpen_ = true;\n    }\n  };\n\n  MDCMenuSurfaceFoundation.prototype.destroy = function () {\n    clearTimeout(this.openAnimationEndTimerId_);\n    clearTimeout(this.closeAnimationEndTimerId_); // Cancel any currently running animations.\n\n    cancelAnimationFrame(this.animationRequestId_);\n  };\n  /**\n   * @param corner Default anchor corner alignment of top-left menu surface corner.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.setAnchorCorner = function (corner) {\n    this.anchorCorner_ = corner;\n  };\n  /**\n   * @param margin Set of margin values from anchor.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.setAnchorMargin = function (margin) {\n    this.anchorMargin_.top = margin.top || 0;\n    this.anchorMargin_.right = margin.right || 0;\n    this.anchorMargin_.bottom = margin.bottom || 0;\n    this.anchorMargin_.left = margin.left || 0;\n  };\n  /** Used to indicate if the menu-surface is hoisted to the body. */\n\n\n  MDCMenuSurfaceFoundation.prototype.setIsHoisted = function (isHoisted) {\n    this.isHoistedElement_ = isHoisted;\n  };\n  /** Used to set the menu-surface calculations based on a fixed position menu. */\n\n\n  MDCMenuSurfaceFoundation.prototype.setFixedPosition = function (isFixedPosition) {\n    this.isFixedPosition_ = isFixedPosition;\n  };\n  /** Sets the menu-surface position on the page. */\n\n\n  MDCMenuSurfaceFoundation.prototype.setAbsolutePosition = function (x, y) {\n    this.position_.x = this.isFinite_(x) ? x : 0;\n    this.position_.y = this.isFinite_(y) ? y : 0;\n  };\n\n  MDCMenuSurfaceFoundation.prototype.setQuickOpen = function (quickOpen) {\n    this.isQuickOpen_ = quickOpen;\n  };\n\n  MDCMenuSurfaceFoundation.prototype.isOpen = function () {\n    return this.isOpen_;\n  };\n  /**\n   * Open the menu surface.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.open = function () {\n    var _this = this;\n\n    this.adapter_.saveFocus();\n\n    if (!this.isQuickOpen_) {\n      this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_OPEN);\n    }\n\n    this.animationRequestId_ = requestAnimationFrame(function () {\n      _this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.OPEN);\n\n      _this.dimensions_ = _this.adapter_.getInnerDimensions();\n\n      _this.autoPosition_();\n\n      if (_this.isQuickOpen_) {\n        _this.adapter_.notifyOpen();\n      } else {\n        _this.openAnimationEndTimerId_ = setTimeout(function () {\n          _this.openAnimationEndTimerId_ = 0;\n\n          _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_OPEN);\n\n          _this.adapter_.notifyOpen();\n        }, _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].TRANSITION_OPEN_DURATION);\n      }\n    });\n    this.isOpen_ = true;\n  };\n  /**\n   * Closes the menu surface.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.close = function () {\n    var _this = this;\n\n    if (!this.isQuickOpen_) {\n      this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_CLOSED);\n    }\n\n    requestAnimationFrame(function () {\n      _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.OPEN);\n\n      if (_this.isQuickOpen_) {\n        _this.adapter_.notifyClose();\n      } else {\n        _this.closeAnimationEndTimerId_ = setTimeout(function () {\n          _this.closeAnimationEndTimerId_ = 0;\n\n          _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_CLOSED);\n\n          _this.adapter_.notifyClose();\n        }, _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].TRANSITION_CLOSE_DURATION);\n      }\n    });\n    this.isOpen_ = false;\n    this.maybeRestoreFocus_();\n  };\n  /** Handle clicks and close if not within menu-surface element. */\n\n\n  MDCMenuSurfaceFoundation.prototype.handleBodyClick = function (evt) {\n    var el = evt.target;\n\n    if (this.adapter_.isElementInContainer(el)) {\n      return;\n    }\n\n    this.close();\n  };\n  /** Handle keys that close the surface. */\n\n\n  MDCMenuSurfaceFoundation.prototype.handleKeydown = function (evt) {\n    var keyCode = evt.keyCode,\n        key = evt.key,\n        shiftKey = evt.shiftKey;\n    var isEscape = key === 'Escape' || keyCode === 27;\n    var isTab = key === 'Tab' || keyCode === 9;\n\n    if (isEscape) {\n      this.close();\n    } else if (isTab) {\n      if (this.adapter_.isLastElementFocused() && !shiftKey) {\n        this.adapter_.focusFirstElement();\n        evt.preventDefault();\n      } else if (this.adapter_.isFirstElementFocused() && shiftKey) {\n        this.adapter_.focusLastElement();\n        evt.preventDefault();\n      }\n    }\n  };\n\n  MDCMenuSurfaceFoundation.prototype.autoPosition_ = function () {\n    var _a; // Compute measurements for autoposition methods reuse.\n\n\n    this.measurements_ = this.getAutoLayoutMeasurements_();\n    var corner = this.getOriginCorner_();\n    var maxMenuSurfaceHeight = this.getMenuSurfaceMaxHeight_(corner);\n    var verticalAlignment = this.hasBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].BOTTOM) ? 'bottom' : 'top';\n    var horizontalAlignment = this.hasBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].RIGHT) ? 'right' : 'left';\n    var horizontalOffset = this.getHorizontalOriginOffset_(corner);\n    var verticalOffset = this.getVerticalOriginOffset_(corner);\n    var _b = this.measurements_,\n        anchorSize = _b.anchorSize,\n        surfaceSize = _b.surfaceSize;\n    var position = (_a = {}, _a[horizontalAlignment] = horizontalOffset, _a[verticalAlignment] = verticalOffset, _a); // Center align when anchor width is comparable or greater than menu surface, otherwise keep corner.\n\n    if (anchorSize.width / surfaceSize.width > _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO) {\n      horizontalAlignment = 'center';\n    } // If the menu-surface has been hoisted to the body, it's no longer relative to the anchor element\n\n\n    if (this.isHoistedElement_ || this.isFixedPosition_) {\n      this.adjustPositionForHoistedElement_(position);\n    }\n\n    this.adapter_.setTransformOrigin(horizontalAlignment + \" \" + verticalAlignment);\n    this.adapter_.setPosition(position);\n    this.adapter_.setMaxHeight(maxMenuSurfaceHeight ? maxMenuSurfaceHeight + 'px' : '');\n  };\n  /**\n   * @return Measurements used to position menu surface popup.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.getAutoLayoutMeasurements_ = function () {\n    var anchorRect = this.adapter_.getAnchorDimensions();\n    var bodySize = this.adapter_.getBodyDimensions();\n    var viewportSize = this.adapter_.getWindowDimensions();\n    var windowScroll = this.adapter_.getWindowScroll();\n\n    if (!anchorRect) {\n      // tslint:disable:object-literal-sort-keys Positional properties are more readable when they're grouped together\n      anchorRect = {\n        top: this.position_.y,\n        right: this.position_.x,\n        bottom: this.position_.y,\n        left: this.position_.x,\n        width: 0,\n        height: 0\n      }; // tslint:enable:object-literal-sort-keys\n    }\n\n    return {\n      anchorSize: anchorRect,\n      bodySize: bodySize,\n      surfaceSize: this.dimensions_,\n      viewportDistance: {\n        // tslint:disable:object-literal-sort-keys Positional properties are more readable when they're grouped together\n        top: anchorRect.top,\n        right: viewportSize.width - anchorRect.right,\n        bottom: viewportSize.height - anchorRect.bottom,\n        left: anchorRect.left\n      },\n      viewportSize: viewportSize,\n      windowScroll: windowScroll\n    };\n  };\n  /**\n   * Computes the corner of the anchor from which to animate and position the menu surface.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.getOriginCorner_ = function () {\n    // Defaults: open from the top left.\n    var corner = _constants__WEBPACK_IMPORTED_MODULE_2__[\"Corner\"].TOP_LEFT;\n    var _a = this.measurements_,\n        viewportDistance = _a.viewportDistance,\n        anchorSize = _a.anchorSize,\n        surfaceSize = _a.surfaceSize;\n    var isBottomAligned = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].BOTTOM);\n    var availableTop = isBottomAligned ? viewportDistance.top + anchorSize.height + this.anchorMargin_.bottom : viewportDistance.top + this.anchorMargin_.top;\n    var availableBottom = isBottomAligned ? viewportDistance.bottom - this.anchorMargin_.bottom : viewportDistance.bottom + anchorSize.height - this.anchorMargin_.top;\n    var topOverflow = surfaceSize.height - availableTop;\n    var bottomOverflow = surfaceSize.height - availableBottom;\n\n    if (bottomOverflow > 0 && topOverflow < bottomOverflow) {\n      corner = this.setBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].BOTTOM);\n    }\n\n    var isRtl = this.adapter_.isRtl();\n    var isFlipRtl = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].FLIP_RTL);\n    var avoidHorizontalOverlap = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].RIGHT);\n    var isAlignedRight = avoidHorizontalOverlap && !isRtl || !avoidHorizontalOverlap && isFlipRtl && isRtl;\n    var availableLeft = isAlignedRight ? viewportDistance.left + anchorSize.width + this.anchorMargin_.right : viewportDistance.left + this.anchorMargin_.left;\n    var availableRight = isAlignedRight ? viewportDistance.right - this.anchorMargin_.right : viewportDistance.right + anchorSize.width - this.anchorMargin_.left;\n    var leftOverflow = surfaceSize.width - availableLeft;\n    var rightOverflow = surfaceSize.width - availableRight;\n\n    if (leftOverflow < 0 && isAlignedRight && isRtl || avoidHorizontalOverlap && !isAlignedRight && leftOverflow < 0 || rightOverflow > 0 && leftOverflow < rightOverflow) {\n      corner = this.setBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].RIGHT);\n    }\n\n    return corner;\n  };\n  /**\n   * @param corner Origin corner of the menu surface.\n   * @return Maximum height of the menu surface, based on available space. 0 indicates should not be set.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.getMenuSurfaceMaxHeight_ = function (corner) {\n    var viewportDistance = this.measurements_.viewportDistance;\n    var maxHeight = 0;\n    var isBottomAligned = this.hasBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].BOTTOM);\n    var isBottomAnchored = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].BOTTOM);\n    var MARGIN_TO_EDGE = MDCMenuSurfaceFoundation.numbers.MARGIN_TO_EDGE; // When maximum height is not specified, it is handled from CSS.\n\n    if (isBottomAligned) {\n      maxHeight = viewportDistance.top + this.anchorMargin_.top - MARGIN_TO_EDGE;\n\n      if (!isBottomAnchored) {\n        maxHeight += this.measurements_.anchorSize.height;\n      }\n    } else {\n      maxHeight = viewportDistance.bottom - this.anchorMargin_.bottom + this.measurements_.anchorSize.height - MARGIN_TO_EDGE;\n\n      if (isBottomAnchored) {\n        maxHeight -= this.measurements_.anchorSize.height;\n      }\n    }\n\n    return maxHeight;\n  };\n  /**\n   * @param corner Origin corner of the menu surface.\n   * @return Horizontal offset of menu surface origin corner from corresponding anchor corner.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.getHorizontalOriginOffset_ = function (corner) {\n    var anchorSize = this.measurements_.anchorSize; // isRightAligned corresponds to using the 'right' property on the surface.\n\n    var isRightAligned = this.hasBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].RIGHT);\n    var avoidHorizontalOverlap = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].RIGHT);\n\n    if (isRightAligned) {\n      var rightOffset = avoidHorizontalOverlap ? anchorSize.width - this.anchorMargin_.left : this.anchorMargin_.right; // For hoisted or fixed elements, adjust the offset by the difference between viewport width and body width so\n      // when we calculate the right value (`adjustPositionForHoistedElement_`) based on the element position,\n      // the right property is correct.\n\n      if (this.isHoistedElement_ || this.isFixedPosition_) {\n        return rightOffset - (this.measurements_.viewportSize.width - this.measurements_.bodySize.width);\n      }\n\n      return rightOffset;\n    }\n\n    return avoidHorizontalOverlap ? anchorSize.width - this.anchorMargin_.right : this.anchorMargin_.left;\n  };\n  /**\n   * @param corner Origin corner of the menu surface.\n   * @return Vertical offset of menu surface origin corner from corresponding anchor corner.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.getVerticalOriginOffset_ = function (corner) {\n    var anchorSize = this.measurements_.anchorSize;\n    var isBottomAligned = this.hasBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].BOTTOM);\n    var avoidVerticalOverlap = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].BOTTOM);\n    var y = 0;\n\n    if (isBottomAligned) {\n      y = avoidVerticalOverlap ? anchorSize.height - this.anchorMargin_.top : -this.anchorMargin_.bottom;\n    } else {\n      y = avoidVerticalOverlap ? anchorSize.height + this.anchorMargin_.bottom : this.anchorMargin_.top;\n    }\n\n    return y;\n  };\n  /** Calculates the offsets for positioning the menu-surface when the menu-surface has been hoisted to the body. */\n\n\n  MDCMenuSurfaceFoundation.prototype.adjustPositionForHoistedElement_ = function (position) {\n    var e_1, _a;\n\n    var _b = this.measurements_,\n        windowScroll = _b.windowScroll,\n        viewportDistance = _b.viewportDistance;\n    var props = Object.keys(position);\n\n    try {\n      for (var props_1 = tslib__WEBPACK_IMPORTED_MODULE_0__[\"__values\"](props), props_1_1 = props_1.next(); !props_1_1.done; props_1_1 = props_1.next()) {\n        var prop = props_1_1.value;\n        var value = position[prop] || 0; // Hoisted surfaces need to have the anchor elements location on the page added to the\n        // position properties for proper alignment on the body.\n\n        value += viewportDistance[prop]; // Surfaces that are absolutely positioned need to have additional calculations for scroll\n        // and bottom positioning.\n\n        if (!this.isFixedPosition_) {\n          if (prop === 'top') {\n            value += windowScroll.y;\n          } else if (prop === 'bottom') {\n            value -= windowScroll.y;\n          } else if (prop === 'left') {\n            value += windowScroll.x;\n          } else {\n            // prop === 'right'\n            value -= windowScroll.x;\n          }\n        }\n\n        position[prop] = value;\n      }\n    } catch (e_1_1) {\n      e_1 = {\n        error: e_1_1\n      };\n    } finally {\n      try {\n        if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1);\n      } finally {\n        if (e_1) throw e_1.error;\n      }\n    }\n  };\n  /**\n   * The last focused element when the menu surface was opened should regain focus, if the user is\n   * focused on or within the menu surface when it is closed.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.maybeRestoreFocus_ = function () {\n    var isRootFocused = this.adapter_.isFocused();\n    var childHasFocus = document.activeElement && this.adapter_.isElementInContainer(document.activeElement);\n\n    if (isRootFocused || childHasFocus) {\n      this.adapter_.restoreFocus();\n    }\n  };\n\n  MDCMenuSurfaceFoundation.prototype.hasBit_ = function (corner, bit) {\n    return Boolean(corner & bit); // tslint:disable-line:no-bitwise\n  };\n\n  MDCMenuSurfaceFoundation.prototype.setBit_ = function (corner, bit) {\n    return corner | bit; // tslint:disable-line:no-bitwise\n  };\n  /**\n   * isFinite that doesn't force conversion to number type.\n   * Equivalent to Number.isFinite in ES2015, which is not supported in IE.\n   */\n\n\n  MDCMenuSurfaceFoundation.prototype.isFinite_ = function (num) {\n    return typeof num === 'number' && isFinite(num);\n  };\n\n  return MDCMenuSurfaceFoundation;\n}(_material_base_foundation__WEBPACK_IMPORTED_MODULE_1__[\"MDCFoundation\"]);\n\n // tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MDCMenuSurfaceFoundation);\n\n//# sourceURL=webpack:///./node_modules/@material/menu-surface/foundation.js?");

/***/ }),

/***/ "./node_modules/@material/menu-surface/index.js":
/*!******************************************************!*\
  !*** ./node_modules/@material/menu-surface/index.js ***!
  \******************************************************/
/*! exports provided: Corner, CornerBit, util, MDCMenuSurface, cssClasses, strings, numbers, MDCMenuSurfaceFoundation */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/@material/menu-surface/util.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"util\", function() { return _util__WEBPACK_IMPORTED_MODULE_0__; });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./node_modules/@material/menu-surface/constants.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Corner\", function() { return _constants__WEBPACK_IMPORTED_MODULE_1__[\"Corner\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CornerBit\", function() { return _constants__WEBPACK_IMPORTED_MODULE_1__[\"CornerBit\"]; });\n\n/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./component */ \"./node_modules/@material/menu-surface/component.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MDCMenuSurface\", function() { return _component__WEBPACK_IMPORTED_MODULE_2__[\"MDCMenuSurface\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cssClasses\", function() { return _constants__WEBPACK_IMPORTED_MODULE_1__[\"cssClasses\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"strings\", function() { return _constants__WEBPACK_IMPORTED_MODULE_1__[\"strings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"numbers\", function() { return _constants__WEBPACK_IMPORTED_MODULE_1__[\"numbers\"]; });\n\n/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation */ \"./node_modules/@material/menu-surface/foundation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MDCMenuSurfaceFoundation\", function() { return _foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCMenuSurfaceFoundation\"]; });\n\n/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/@material/menu-surface/index.js?");

/***/ }),

/***/ "./node_modules/@material/menu-surface/util.js":
/*!*****************************************************!*\
  !*** ./node_modules/@material/menu-surface/util.js ***!
  \*****************************************************/
/*! exports provided: getTransformPropertyName */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTransformPropertyName\", function() { return getTransformPropertyName; });\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar cachedCssTransformPropertyName_;\n/**\n * Returns the name of the correct transform property to use on the current browser.\n */\n\nfunction getTransformPropertyName(globalObj, forceRefresh) {\n  if (forceRefresh === void 0) {\n    forceRefresh = false;\n  }\n\n  if (cachedCssTransformPropertyName_ === undefined || forceRefresh) {\n    var el = globalObj.document.createElement('div');\n    cachedCssTransformPropertyName_ = 'transform' in el.style ? 'transform' : 'webkitTransform';\n  }\n\n  return cachedCssTransformPropertyName_;\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/@material/menu-surface/util.js?");

/***/ }),

/***/ "./node_modules/@material/menu/component.js":
/*!**************************************************!*\
  !*** ./node_modules/@material/menu/component.js ***!
  \**************************************************/
/*! exports provided: MDCMenu */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCMenu\", function() { return MDCMenu; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/component */ \"./node_modules/@material/base/component.js\");\n/* harmony import */ var _material_list_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/list/component */ \"./node_modules/@material/list/component.js\");\n/* harmony import */ var _material_list_foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material/list/foundation */ \"./node_modules/@material/list/foundation.js\");\n/* harmony import */ var _material_menu_surface_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material/menu-surface/component */ \"./node_modules/@material/menu-surface/component.js\");\n/* harmony import */ var _material_menu_surface_foundation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material/menu-surface/foundation */ \"./node_modules/@material/menu-surface/foundation.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constants */ \"./node_modules/@material/menu/constants.js\");\n/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./foundation */ \"./node_modules/@material/menu/foundation.js\");\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n\n\n\n\n\n\n\n\nvar MDCMenu =\n/** @class */\nfunction (_super) {\n  tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCMenu, _super);\n\n  function MDCMenu() {\n    return _super !== null && _super.apply(this, arguments) || this;\n  }\n\n  MDCMenu.attachTo = function (root) {\n    return new MDCMenu(root);\n  };\n\n  MDCMenu.prototype.initialize = function (menuSurfaceFactory, listFactory) {\n    if (menuSurfaceFactory === void 0) {\n      menuSurfaceFactory = function menuSurfaceFactory(el) {\n        return new _material_menu_surface_component__WEBPACK_IMPORTED_MODULE_4__[\"MDCMenuSurface\"](el);\n      };\n    }\n\n    if (listFactory === void 0) {\n      listFactory = function listFactory(el) {\n        return new _material_list_component__WEBPACK_IMPORTED_MODULE_2__[\"MDCList\"](el);\n      };\n    }\n\n    this.menuSurfaceFactory_ = menuSurfaceFactory;\n    this.listFactory_ = listFactory;\n  };\n\n  MDCMenu.prototype.initialSyncWithDOM = function () {\n    var _this = this;\n\n    this.menuSurface_ = this.menuSurfaceFactory_(this.root_);\n    var list = this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_6__[\"strings\"].LIST_SELECTOR);\n\n    if (list) {\n      this.list_ = this.listFactory_(list);\n      this.list_.wrapFocus = true;\n    } else {\n      this.list_ = null;\n    }\n\n    this.handleKeydown_ = function (evt) {\n      return _this.foundation_.handleKeydown(evt);\n    };\n\n    this.handleItemAction_ = function (evt) {\n      return _this.foundation_.handleItemAction(_this.items[evt.detail.index]);\n    };\n\n    this.handleMenuSurfaceOpened_ = function () {\n      return _this.foundation_.handleMenuSurfaceOpened();\n    };\n\n    this.menuSurface_.listen(_material_menu_surface_foundation__WEBPACK_IMPORTED_MODULE_5__[\"MDCMenuSurfaceFoundation\"].strings.OPENED_EVENT, this.handleMenuSurfaceOpened_);\n    this.listen('keydown', this.handleKeydown_);\n    this.listen(_material_list_foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCListFoundation\"].strings.ACTION_EVENT, this.handleItemAction_);\n  };\n\n  MDCMenu.prototype.destroy = function () {\n    if (this.list_) {\n      this.list_.destroy();\n    }\n\n    this.menuSurface_.destroy();\n    this.menuSurface_.unlisten(_material_menu_surface_foundation__WEBPACK_IMPORTED_MODULE_5__[\"MDCMenuSurfaceFoundation\"].strings.OPENED_EVENT, this.handleMenuSurfaceOpened_);\n    this.unlisten('keydown', this.handleKeydown_);\n    this.unlisten(_material_list_foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCListFoundation\"].strings.ACTION_EVENT, this.handleItemAction_);\n\n    _super.prototype.destroy.call(this);\n  };\n\n  Object.defineProperty(MDCMenu.prototype, \"open\", {\n    get: function get() {\n      return this.menuSurface_.open;\n    },\n    set: function set(value) {\n      this.menuSurface_.open = value;\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenu.prototype, \"wrapFocus\", {\n    get: function get() {\n      return this.list_ ? this.list_.wrapFocus : false;\n    },\n    set: function set(value) {\n      if (this.list_) {\n        this.list_.wrapFocus = value;\n      }\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenu.prototype, \"items\", {\n    /**\n     * Return the items within the menu. Note that this only contains the set of elements within\n     * the items container that are proper list items, and not supplemental / presentational DOM\n     * elements.\n     */\n    get: function get() {\n      return this.list_ ? this.list_.listElements : [];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenu.prototype, \"quickOpen\", {\n    set: function set(quickOpen) {\n      this.menuSurface_.quickOpen = quickOpen;\n    },\n    enumerable: true,\n    configurable: true\n  });\n  /**\n   * Sets default focus state where the menu should focus every time when menu\n   * is opened. Focuses the list root (`DefaultFocusState.LIST_ROOT`) element by\n   * default.\n   * @param focusState Default focus state.\n   */\n\n  MDCMenu.prototype.setDefaultFocusState = function (focusState) {\n    this.foundation_.setDefaultFocusState(focusState);\n  };\n  /**\n   * @param corner Default anchor corner alignment of top-left menu corner.\n   */\n\n\n  MDCMenu.prototype.setAnchorCorner = function (corner) {\n    this.menuSurface_.setAnchorCorner(corner);\n  };\n\n  MDCMenu.prototype.setAnchorMargin = function (margin) {\n    this.menuSurface_.setAnchorMargin(margin);\n  };\n  /**\n   * @return The item within the menu at the index specified.\n   */\n\n\n  MDCMenu.prototype.getOptionByIndex = function (index) {\n    var items = this.items;\n\n    if (index < items.length) {\n      return this.items[index];\n    } else {\n      return null;\n    }\n  };\n\n  MDCMenu.prototype.setFixedPosition = function (isFixed) {\n    this.menuSurface_.setFixedPosition(isFixed);\n  };\n\n  MDCMenu.prototype.hoistMenuToBody = function () {\n    this.menuSurface_.hoistMenuToBody();\n  };\n\n  MDCMenu.prototype.setIsHoisted = function (isHoisted) {\n    this.menuSurface_.setIsHoisted(isHoisted);\n  };\n\n  MDCMenu.prototype.setAbsolutePosition = function (x, y) {\n    this.menuSurface_.setAbsolutePosition(x, y);\n  };\n  /**\n   * Sets the element that the menu-surface is anchored to.\n   */\n\n\n  MDCMenu.prototype.setAnchorElement = function (element) {\n    this.menuSurface_.anchorElement = element;\n  };\n\n  MDCMenu.prototype.getDefaultFoundation = function () {\n    var _this = this; // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n    // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n    // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n\n\n    var adapter = {\n      addClassToElementAtIndex: function addClassToElementAtIndex(index, className) {\n        var list = _this.items;\n        list[index].classList.add(className);\n      },\n      removeClassFromElementAtIndex: function removeClassFromElementAtIndex(index, className) {\n        var list = _this.items;\n        list[index].classList.remove(className);\n      },\n      addAttributeToElementAtIndex: function addAttributeToElementAtIndex(index, attr, value) {\n        var list = _this.items;\n        list[index].setAttribute(attr, value);\n      },\n      removeAttributeFromElementAtIndex: function removeAttributeFromElementAtIndex(index, attr) {\n        var list = _this.items;\n        list[index].removeAttribute(attr);\n      },\n      elementContainsClass: function elementContainsClass(element, className) {\n        return element.classList.contains(className);\n      },\n      closeSurface: function closeSurface() {\n        return _this.open = false;\n      },\n      getElementIndex: function getElementIndex(element) {\n        return _this.items.indexOf(element);\n      },\n      getParentElement: function getParentElement(element) {\n        return element.parentElement;\n      },\n      getSelectedElementIndex: function getSelectedElementIndex(selectionGroup) {\n        var selectedListItem = selectionGroup.querySelector(\".\" + _constants__WEBPACK_IMPORTED_MODULE_6__[\"cssClasses\"].MENU_SELECTED_LIST_ITEM);\n        return selectedListItem ? _this.items.indexOf(selectedListItem) : -1;\n      },\n      notifySelected: function notifySelected(evtData) {\n        return _this.emit(_constants__WEBPACK_IMPORTED_MODULE_6__[\"strings\"].SELECTED_EVENT, {\n          index: evtData.index,\n          item: _this.items[evtData.index]\n        });\n      },\n      getMenuItemCount: function getMenuItemCount() {\n        return _this.items.length;\n      },\n      focusItemAtIndex: function focusItemAtIndex(index) {\n        return _this.items[index].focus();\n      },\n      focusListRoot: function focusListRoot() {\n        return _this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_6__[\"strings\"].LIST_SELECTOR).focus();\n      }\n    }; // tslint:enable:object-literal-sort-keys\n\n    return new _foundation__WEBPACK_IMPORTED_MODULE_7__[\"MDCMenuFoundation\"](adapter);\n  };\n\n  return MDCMenu;\n}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__[\"MDCComponent\"]);\n\n\n\n//# sourceURL=webpack:///./node_modules/@material/menu/component.js?");

/***/ }),

/***/ "./node_modules/@material/menu/constants.js":
/*!**************************************************!*\
  !*** ./node_modules/@material/menu/constants.js ***!
  \**************************************************/
/*! exports provided: cssClasses, strings, numbers, DefaultFocusState */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cssClasses\", function() { return cssClasses; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"strings\", function() { return strings; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"numbers\", function() { return numbers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DefaultFocusState\", function() { return DefaultFocusState; });\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar cssClasses = {\n  MENU_SELECTED_LIST_ITEM: 'mdc-menu-item--selected',\n  MENU_SELECTION_GROUP: 'mdc-menu__selection-group',\n  ROOT: 'mdc-menu'\n};\nvar strings = {\n  ARIA_SELECTED_ATTR: 'aria-selected',\n  CHECKBOX_SELECTOR: 'input[type=\"checkbox\"]',\n  LIST_SELECTOR: '.mdc-list',\n  SELECTED_EVENT: 'MDCMenu:selected'\n};\nvar numbers = {\n  FOCUS_ROOT_INDEX: -1\n};\nvar DefaultFocusState;\n\n(function (DefaultFocusState) {\n  DefaultFocusState[DefaultFocusState[\"NONE\"] = 0] = \"NONE\";\n  DefaultFocusState[DefaultFocusState[\"LIST_ROOT\"] = 1] = \"LIST_ROOT\";\n  DefaultFocusState[DefaultFocusState[\"FIRST_ITEM\"] = 2] = \"FIRST_ITEM\";\n  DefaultFocusState[DefaultFocusState[\"LAST_ITEM\"] = 3] = \"LAST_ITEM\";\n})(DefaultFocusState || (DefaultFocusState = {}));\n\n\n\n//# sourceURL=webpack:///./node_modules/@material/menu/constants.js?");

/***/ }),

/***/ "./node_modules/@material/menu/foundation.js":
/*!***************************************************!*\
  !*** ./node_modules/@material/menu/foundation.js ***!
  \***************************************************/
/*! exports provided: MDCMenuFoundation, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCMenuFoundation\", function() { return MDCMenuFoundation; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/foundation */ \"./node_modules/@material/base/foundation.js\");\n/* harmony import */ var _material_list_foundation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/list/foundation */ \"./node_modules/@material/list/foundation.js\");\n/* harmony import */ var _material_menu_surface_foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material/menu-surface/foundation */ \"./node_modules/@material/menu-surface/foundation.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ \"./node_modules/@material/menu/constants.js\");\n/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n\n\n\n\n\nvar MDCMenuFoundation =\n/** @class */\nfunction (_super) {\n  tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCMenuFoundation, _super);\n\n  function MDCMenuFoundation(adapter) {\n    var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"]({}, MDCMenuFoundation.defaultAdapter, adapter)) || this;\n\n    _this.closeAnimationEndTimerId_ = 0;\n    _this.defaultFocusState_ = _constants__WEBPACK_IMPORTED_MODULE_4__[\"DefaultFocusState\"].LIST_ROOT;\n    return _this;\n  }\n\n  Object.defineProperty(MDCMenuFoundation, \"cssClasses\", {\n    get: function get() {\n      return _constants__WEBPACK_IMPORTED_MODULE_4__[\"cssClasses\"];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenuFoundation, \"strings\", {\n    get: function get() {\n      return _constants__WEBPACK_IMPORTED_MODULE_4__[\"strings\"];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenuFoundation, \"numbers\", {\n    get: function get() {\n      return _constants__WEBPACK_IMPORTED_MODULE_4__[\"numbers\"];\n    },\n    enumerable: true,\n    configurable: true\n  });\n  Object.defineProperty(MDCMenuFoundation, \"defaultAdapter\", {\n    /**\n     * @see {@link MDCMenuAdapter} for typing information on parameters and return types.\n     */\n    get: function get() {\n      // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n      return {\n        addClassToElementAtIndex: function addClassToElementAtIndex() {\n          return undefined;\n        },\n        removeClassFromElementAtIndex: function removeClassFromElementAtIndex() {\n          return undefined;\n        },\n        addAttributeToElementAtIndex: function addAttributeToElementAtIndex() {\n          return undefined;\n        },\n        removeAttributeFromElementAtIndex: function removeAttributeFromElementAtIndex() {\n          return undefined;\n        },\n        elementContainsClass: function elementContainsClass() {\n          return false;\n        },\n        closeSurface: function closeSurface() {\n          return undefined;\n        },\n        getElementIndex: function getElementIndex() {\n          return -1;\n        },\n        getParentElement: function getParentElement() {\n          return null;\n        },\n        getSelectedElementIndex: function getSelectedElementIndex() {\n          return -1;\n        },\n        notifySelected: function notifySelected() {\n          return undefined;\n        },\n        getMenuItemCount: function getMenuItemCount() {\n          return 0;\n        },\n        focusItemAtIndex: function focusItemAtIndex() {\n          return undefined;\n        },\n        focusListRoot: function focusListRoot() {\n          return undefined;\n        }\n      }; // tslint:enable:object-literal-sort-keys\n    },\n    enumerable: true,\n    configurable: true\n  });\n\n  MDCMenuFoundation.prototype.destroy = function () {\n    if (this.closeAnimationEndTimerId_) {\n      clearTimeout(this.closeAnimationEndTimerId_);\n    }\n\n    this.adapter_.closeSurface();\n  };\n\n  MDCMenuFoundation.prototype.handleKeydown = function (evt) {\n    var key = evt.key,\n        keyCode = evt.keyCode;\n    var isTab = key === 'Tab' || keyCode === 9;\n\n    if (isTab) {\n      this.adapter_.closeSurface();\n    }\n  };\n\n  MDCMenuFoundation.prototype.handleItemAction = function (listItem) {\n    var _this = this;\n\n    var index = this.adapter_.getElementIndex(listItem);\n\n    if (index < 0) {\n      return;\n    }\n\n    this.adapter_.notifySelected({\n      index: index\n    });\n    this.adapter_.closeSurface(); // Wait for the menu to close before adding/removing classes that affect styles.\n\n    this.closeAnimationEndTimerId_ = setTimeout(function () {\n      var selectionGroup = _this.getSelectionGroup_(listItem);\n\n      if (selectionGroup) {\n        _this.handleSelectionGroup_(selectionGroup, index);\n      }\n    }, _material_menu_surface_foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCMenuSurfaceFoundation\"].numbers.TRANSITION_CLOSE_DURATION);\n  };\n\n  MDCMenuFoundation.prototype.handleMenuSurfaceOpened = function () {\n    switch (this.defaultFocusState_) {\n      case _constants__WEBPACK_IMPORTED_MODULE_4__[\"DefaultFocusState\"].FIRST_ITEM:\n        this.adapter_.focusItemAtIndex(0);\n        break;\n\n      case _constants__WEBPACK_IMPORTED_MODULE_4__[\"DefaultFocusState\"].LAST_ITEM:\n        this.adapter_.focusItemAtIndex(this.adapter_.getMenuItemCount() - 1);\n        break;\n\n      case _constants__WEBPACK_IMPORTED_MODULE_4__[\"DefaultFocusState\"].NONE:\n        // Do nothing.\n        break;\n\n      default:\n        this.adapter_.focusListRoot();\n        break;\n    }\n  };\n  /**\n   * Sets default focus state where the menu should focus every time when menu\n   * is opened. Focuses the list root (`DefaultFocusState.LIST_ROOT`) element by\n   * default.\n   */\n\n\n  MDCMenuFoundation.prototype.setDefaultFocusState = function (focusState) {\n    this.defaultFocusState_ = focusState;\n  };\n  /**\n   * Handles toggling the selected classes in a selection group when a selection is made.\n   */\n\n\n  MDCMenuFoundation.prototype.handleSelectionGroup_ = function (selectionGroup, index) {\n    // De-select the previous selection in this group.\n    var selectedIndex = this.adapter_.getSelectedElementIndex(selectionGroup);\n\n    if (selectedIndex >= 0) {\n      this.adapter_.removeAttributeFromElementAtIndex(selectedIndex, _constants__WEBPACK_IMPORTED_MODULE_4__[\"strings\"].ARIA_SELECTED_ATTR);\n      this.adapter_.removeClassFromElementAtIndex(selectedIndex, _constants__WEBPACK_IMPORTED_MODULE_4__[\"cssClasses\"].MENU_SELECTED_LIST_ITEM);\n    } // Select the new list item in this group.\n\n\n    this.adapter_.addClassToElementAtIndex(index, _constants__WEBPACK_IMPORTED_MODULE_4__[\"cssClasses\"].MENU_SELECTED_LIST_ITEM);\n    this.adapter_.addAttributeToElementAtIndex(index, _constants__WEBPACK_IMPORTED_MODULE_4__[\"strings\"].ARIA_SELECTED_ATTR, 'true');\n  };\n  /**\n   * Returns the parent selection group of an element if one exists.\n   */\n\n\n  MDCMenuFoundation.prototype.getSelectionGroup_ = function (listItem) {\n    var parent = this.adapter_.getParentElement(listItem);\n\n    if (!parent) {\n      return null;\n    }\n\n    var isGroup = this.adapter_.elementContainsClass(parent, _constants__WEBPACK_IMPORTED_MODULE_4__[\"cssClasses\"].MENU_SELECTION_GROUP); // Iterate through ancestors until we find the group or get to the list.\n\n    while (!isGroup && parent && !this.adapter_.elementContainsClass(parent, _material_list_foundation__WEBPACK_IMPORTED_MODULE_2__[\"MDCListFoundation\"].cssClasses.ROOT)) {\n      parent = this.adapter_.getParentElement(parent);\n      isGroup = parent ? this.adapter_.elementContainsClass(parent, _constants__WEBPACK_IMPORTED_MODULE_4__[\"cssClasses\"].MENU_SELECTION_GROUP) : false;\n    }\n\n    if (isGroup) {\n      return parent;\n    } else {\n      return null;\n    }\n  };\n\n  return MDCMenuFoundation;\n}(_material_base_foundation__WEBPACK_IMPORTED_MODULE_1__[\"MDCFoundation\"]);\n\n // tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MDCMenuFoundation);\n\n//# sourceURL=webpack:///./node_modules/@material/menu/foundation.js?");

/***/ }),

/***/ "./node_modules/@material/menu/index.js":
/*!**********************************************!*\
  !*** ./node_modules/@material/menu/index.js ***!
  \**********************************************/
/*! exports provided: Corner, MDCMenu, cssClasses, strings, numbers, DefaultFocusState, MDCMenuFoundation */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _material_menu_surface_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/menu-surface/constants */ \"./node_modules/@material/menu-surface/constants.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Corner\", function() { return _material_menu_surface_constants__WEBPACK_IMPORTED_MODULE_0__[\"Corner\"]; });\n\n/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./component */ \"./node_modules/@material/menu/component.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MDCMenu\", function() { return _component__WEBPACK_IMPORTED_MODULE_1__[\"MDCMenu\"]; });\n\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./node_modules/@material/menu/constants.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cssClasses\", function() { return _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"strings\", function() { return _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"numbers\", function() { return _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DefaultFocusState\", function() { return _constants__WEBPACK_IMPORTED_MODULE_2__[\"DefaultFocusState\"]; });\n\n/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation */ \"./node_modules/@material/menu/foundation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MDCMenuFoundation\", function() { return _foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCMenuFoundation\"]; });\n\n/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n // for backward compatibility\n\n\n\n\n\n//# sourceURL=webpack:///./node_modules/@material/menu/index.js?");

/***/ }),

/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./components/menu/Menu.vue?vue&type=script&lang=js&":
/*!*****************************************************************************************************************************************************!*\
  !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./components/menu/Menu.vue?vue&type=script&lang=js& ***!
  \*****************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _material_menu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/menu */ \"./node_modules/@material/menu/index.js\");\n/* harmony import */ var _material_menu_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/menu/constants */ \"./node_modules/@material/menu/constants.js\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../base */ \"./components/base/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  mixins: [_base__WEBPACK_IMPORTED_MODULE_2__[\"baseComponentMixin\"], _base__WEBPACK_IMPORTED_MODULE_2__[\"themeClassMixin\"]],\n  model: {\n    prop: 'open',\n    event: 'change'\n  },\n  props: {\n    open: {\n      type: Boolean,\n      default: false\n    },\n    quickOpen: {\n      type: Boolean,\n      default: false\n    },\n    anchorCorner: {\n      type: String,\n      default: ''\n    },\n    absolutePositionX: {\n      type: Number,\n      default: null\n    },\n    absolutePositionY: {\n      type: Number,\n      default: null\n    },\n    hoistToBody: {\n      type: Boolean,\n      default: false\n    },\n    fixed: {\n      type: Boolean,\n      default: false\n    },\n    wrapFocus: {\n      type: Boolean,\n      default: true\n    },\n    defaultFocusState: {\n      type: [Number, String],\n      default: null\n    }\n  },\n  data: function data() {\n    return {\n      mdcMenu: undefined,\n      slotObserver: undefined\n    };\n  },\n  computed: {\n    model: {\n      get: function get() {\n        return this.open;\n      },\n      set: function set(value) {\n        this.$emit('change', value);\n      }\n    },\n    focusState: function focusState() {\n      if (!this.defaultFocusState) return null;\n      var upperCaseFocusState = String(this.defaultFocusState).toUpperCase();\n\n      if (isNaN(this.defaultFocusState) && _material_menu_constants__WEBPACK_IMPORTED_MODULE_1__[\"DefaultFocusState\"].hasOwnProperty(upperCaseFocusState)) {\n        return _material_menu_constants__WEBPACK_IMPORTED_MODULE_1__[\"DefaultFocusState\"][upperCaseFocusState];\n      }\n\n      var numberFocusState = Number(this.defaultFocusState);\n\n      if (!isNaN(this.defaultFocusState) && _material_menu_constants__WEBPACK_IMPORTED_MODULE_1__[\"DefaultFocusState\"].hasOwnProperty(numberFocusState)) {\n        return numberFocusState;\n      }\n\n      return null;\n    },\n    tabIndex: function tabIndex() {\n      if (this.$slots.default[0].componentOptions.tag.toLowerCase() === 'm-list') {\n        return -1;\n      }\n\n      return this.mdcMenu ? this.mdcMenu.open ? 0 : -1 : this.open ? 0 : -1;\n    }\n  },\n  watch: {\n    open: function open() {\n      this.mdcMenu.open = this.open;\n    },\n    quickOpen: function quickOpen() {\n      this.mdcMenu.quickOpen = this.quickOpen;\n    },\n    hoistToBody: function hoistToBody() {\n      if (this.hoistToBody) {\n        this.mdcMenu.hoistMenuToBody();\n      }\n    },\n    fixed: function fixed() {\n      this.mdcMenu.setFixedPosition(this.fixed);\n    },\n    anchorCorner: function anchorCorner() {\n      if (this.anchorCorner !== '') {\n        this.mdcMenu.setAnchorCorner(_material_menu__WEBPACK_IMPORTED_MODULE_0__[\"Corner\"][this.anchorCorner.toUpperCase()]);\n      } else {\n        this.mdcMenu.setAnchorCorner(_material_menu__WEBPACK_IMPORTED_MODULE_0__[\"Corner\"].TOP_START);\n      }\n    },\n    absolutePositionX: function absolutePositionX() {\n      if (this.absolutePositionX !== null) {\n        this.mdcMenu.setAbsolutePosition(this.absolutePositionX, this.absolutePositionY);\n      }\n    },\n    absolutePositionY: function absolutePositionY() {\n      if (this.absolutePositionY !== null) {\n        this.mdcMenu.setAbsolutePosition(this.absolutePositionX, this.absolutePositionY);\n      }\n    },\n    wrapFocus: function wrapFocus() {\n      this.mdcMenu.wrapFocus = this.wrapFocus;\n    },\n    defaultFocusState: function defaultFocusState() {\n      if (this.focusState !== null) {\n        this.mdcMenu.setDefaultFocusState(this.focusState);\n      }\n    },\n    'mdcMenu.open': function mdcMenuOpen() {\n      this.model = this.mdcMenu.open;\n    }\n  },\n  mounted: function mounted() {\n    var _this = this;\n\n    this.updateSlot();\n    this.slotObserver = new MutationObserver(function () {\n      return _this.updateSlot();\n    });\n    this.slotObserver.observe(this.$el, {\n      childList: true,\n      subtree: true\n    });\n    this.mdcMenu = _material_menu__WEBPACK_IMPORTED_MODULE_0__[\"MDCMenu\"].attachTo(this.$el);\n\n    if (this.hoistToBody) {\n      this.mdcMenu.hoistMenuToBody();\n    }\n\n    this.mdcMenu.setFixedPosition(this.fixed);\n\n    if (this.anchorCorner !== '') {\n      this.mdcMenu.setAnchorCorner(_material_menu__WEBPACK_IMPORTED_MODULE_0__[\"Corner\"][this.anchorCorner.toUpperCase()]);\n    }\n\n    if (this.absolutePositionX !== null || this.absolutePositionY !== null) {\n      this.mdcMenu.setAbsolutePosition(this.absolutePositionX, this.absolutePositionY);\n    }\n\n    this.mdcMenu.wrapFocus = this.wrapFocus;\n\n    if (this.focusState !== null) {\n      this.mdcMenu.setDefaultFocusState(this.focusState);\n    }\n  },\n  beforeDestroy: function beforeDestroy() {\n    this.slotObserver.disconnect();\n    this.mdcMenu.destroy();\n  },\n  methods: {\n    updateSlot: function updateSlot() {\n      if (this.$slots.default) {\n        this.$slots.default.map(function (n) {\n          n.componentInstance.$el.setAttribute('role', 'menu');\n          n.componentInstance.$el.setAttribute('aria-hidden', 'true');\n          n.componentInstance.$el.setAttribute('aria-orientation', 'vertical');\n        });\n      }\n    },\n    onSelect: function onSelect(event) {\n      this.model = false;\n      this.$emit('select', event.detail);\n    }\n  }\n});\n\n//# sourceURL=webpack:///./components/menu/Menu.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./components/menu/MenuSurface.vue?vue&type=script&lang=js&":
/*!************************************************************************************************************************************************************!*\
  !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./components/menu/MenuSurface.vue?vue&type=script&lang=js& ***!
  \************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _material_menu_surface__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/menu-surface */ \"./node_modules/@material/menu-surface/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  name: 'MenuSurface',\n  model: {\n    prop: 'open',\n    event: 'change'\n  },\n  props: {\n    open: {\n      type: Boolean,\n      default: false\n    },\n    fixed: {\n      type: Boolean,\n      default: false\n    },\n    quickOpen: {\n      type: Boolean,\n      default: false\n    },\n    anchorCorner: {\n      type: String,\n      default: ''\n    },\n    absolutePositionX: {\n      type: Number,\n      default: -1\n    },\n    absolutePositionY: {\n      type: Number,\n      default: -1\n    }\n  },\n  data: function data() {\n    return {\n      mdcMenuSurface: undefined\n    };\n  },\n  computed: {\n    model: {\n      get: function get() {\n        return this.open;\n      },\n      set: function set(value) {\n        this.$emit('change', value);\n      }\n    }\n  },\n  watch: {\n    open: function open() {\n      this.mdcMenuSurface.open = this.open;\n    },\n    quickOpen: function quickOpen() {\n      this.mdcMenuSurface.quickOpen = this.quickOpen;\n    },\n    fixed: function fixed() {\n      this.mdcMenuSurface.setFixedPosition(this.fixed);\n    },\n    anchorCorner: function anchorCorner() {\n      if (this.anchorCorner !== '') {\n        this.mdcMenuSurface.setAnchorCorner(_material_menu_surface__WEBPACK_IMPORTED_MODULE_0__[\"Corner\"][this.anchorCorner.toUpperCase()]);\n      } else {\n        this.mdcMenuSurface.setAnchorCorner(_material_menu_surface__WEBPACK_IMPORTED_MODULE_0__[\"Corner\"].TOP_START);\n      }\n    },\n    absolutePositionX: function absolutePositionX() {\n      if (this.absolutePositionX > -1 && this.absolutePositionY > -1) {\n        this.mdcMenuSurface.setAbsolutePosition(this.absolutePositionX, this.absolutePositionY);\n      }\n    },\n    absolutePositionY: function absolutePositionY() {\n      if (this.absolutePositionX > -1 && this.absolutePositionY > -1) {\n        this.mdcMenuSurface.setAbsolutePosition(this.absolutePositionX, this.absolutePositionY);\n      }\n    }\n  },\n  mounted: function mounted() {\n    this.mdcMenuSurface = _material_menu_surface__WEBPACK_IMPORTED_MODULE_0__[\"MDCMenuSurface\"].attachTo(this.$el);\n    this.mdcMenuSurface.setFixedPosition(this.fixed);\n\n    if (this.anchorCorner !== '') {\n      this.mdcMenuSurface.setAnchorCorner(_material_menu_surface__WEBPACK_IMPORTED_MODULE_0__[\"Corner\"][this.anchorCorner.toUpperCase()]);\n    }\n\n    if (this.absolutePositionX > -1 && this.absolutePositionY > -1) {\n      this.mdcMenuSurface.setAbsolutePosition(this.absolutePositionX, this.absolutePositionY);\n    }\n  },\n  beforeDestroy: function beforeDestroy() {\n    this.mdcMenuSurface.destroy();\n  },\n  methods: {\n    onClosed: function onClosed() {\n      this.model = false;\n      this.$emit('closed');\n    },\n    onOpened: function onOpened() {\n      this.model = true;\n      this.$emit('opened');\n    }\n  }\n});\n\n//# sourceURL=webpack:///./components/menu/MenuSurface.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/tslib/tslib.es6.js":
/*!*****************************************!*\
  !*** ./node_modules/tslib/tslib.es6.js ***!
  \*****************************************/
/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__extends\", function() { return __extends; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__assign\", function() { return __assign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__rest\", function() { return __rest; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__decorate\", function() { return __decorate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__param\", function() { return __param; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__metadata\", function() { return __metadata; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__awaiter\", function() { return __awaiter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__generator\", function() { return __generator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__exportStar\", function() { return __exportStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__values\", function() { return __values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__read\", function() { return __read; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spread\", function() { return __spread; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__spreadArrays\", function() { return __spreadArrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__await\", function() { return __await; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncGenerator\", function() { return __asyncGenerator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncDelegator\", function() { return __asyncDelegator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__asyncValues\", function() { return __asyncValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__makeTemplateObject\", function() { return __makeTemplateObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importStar\", function() { return __importStar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"__importDefault\", function() { return __importDefault; });\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nfunction __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nfunction __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nfunction __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nfunction __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/tslib/tslib.es6.js?");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./components/menu/Menu.vue?vue&type=template&id=998f83f8&":
/*!***********************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/menu/Menu.vue?vue&type=template&id=998f83f8& ***!
  \***********************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    {\n      staticClass: \"mdc-menu mdc-menu-surface\",\n      attrs: { tabindex: _vm.tabIndex },\n      on: { \"MDCMenu:selected\": _vm.onSelect }\n    },\n    [_vm._t(\"default\")],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./components/menu/Menu.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./components/menu/MenuAnchor.vue?vue&type=template&id=d9c18d4e&":
/*!*****************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/menu/MenuAnchor.vue?vue&type=template&id=d9c18d4e& ***!
  \*****************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"mdc-menu-surface--anchor\" },\n    [_vm._t(\"default\")],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./components/menu/MenuAnchor.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./components/menu/MenuSurface.vue?vue&type=template&id=4855a88e&scoped=true&":
/*!******************************************************************************************************************************************************************************************************************!*\
  !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/menu/MenuSurface.vue?vue&type=template&id=4855a88e&scoped=true& ***!
  \******************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    {\n      staticClass: \"mdc-menu-surface\",\n      on: {\n        \"MDCMenuSurface:closed\": _vm.onClosed,\n        \"MDCMenuSurface:opened\": _vm.onOpened\n      }\n    },\n    [_vm._t(\"default\")],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./components/menu/MenuSurface.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");

/***/ }),

/***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js":
/*!********************************************************************!*\
  !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***!
  \********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier, /* server only */\n  shadowMode /* vue-cli only */\n) {\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functioal component in vue file\n      var originalRender = options.render\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return originalRender(h, context)\n      }\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n//# sourceURL=webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js?");

/***/ })

/******/ });
});