From 3ee28fd1df2d928d920b305681f63eac2e0c2e19 Mon Sep 17 00:00:00 2001 From: dntzhang Date: Wed, 26 Jun 2019 10:16:56 +0800 Subject: [PATCH] omim - update locate and menu --- packages/omim/demos/menu/bundle.js | 339 ++-- packages/omim/demos/menu/index.js | 25 +- packages/omim/src/locate/index.d.ts | 35 +- packages/omim/src/locate/index.js | 251 ++- packages/omim/src/locate/index.js.map | 2 +- packages/omim/src/locate/index.scss | 59 +- packages/omim/src/locate/index.tsx | 190 +- packages/omim/src/menu/index.d.ts | 13 +- packages/omim/src/menu/index.js | 2706 +------------------------ packages/omim/src/menu/index.js.map | 2 +- packages/omim/src/menu/index.scss | 6 + packages/omim/src/menu/index.tsx | 65 +- packages/omim/src/tree/index.d.ts | 2 +- 13 files changed, 452 insertions(+), 3243 deletions(-) diff --git a/packages/omim/demos/menu/bundle.js b/packages/omim/demos/menu/bundle.js index b5d6c465f..cd7b2e65b 100644 --- a/packages/omim/demos/menu/bundle.js +++ b/packages/omim/demos/menu/bundle.js @@ -94,296 +94,175 @@ /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__webpack_require__(/*! ../../src/menu/index.tsx */ \"./src/menu/index.tsx\");\n__webpack_require__(/*! ../../src/button/index.tsx */ \"./src/button/index.tsx\");\nvar omi_1 = __webpack_require__(/*! omi */ \"./node_modules/omi/dist/omi.esm.js\");\nomi_1.define('my-app', /** @class */ (function (_super) {\n __extends(class_1, _super);\n function class_1() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.onSelected = function (evt) {\n console.log(evt);\n };\n _this.show = false;\n _this.onClick = function () {\n _this.show = !_this.show;\n _this.update();\n };\n return _this;\n }\n class_1.prototype.render = function () {\n return omi_1.h(\"div\", null,\n omi_1.h(\"m-button\", { onClick: this.onClick }, \"OPEN MENU\"),\n omi_1.h(\"m-menu\", { anchor: true, show: this.show, onSelected: this.onSelected, list: [\n { text: 'A Menu Item' },\n { text: 'A Disabled Menu Item', disabled: true },\n { text: 'Another Menu Item' }\n ] }));\n };\n return class_1;\n}(omi_1.WeElement)));\nomi_1.render(omi_1.h(\"my-app\", null), 'body');\n\n\n//# sourceURL=webpack:///./demos/menu/index.js?"); +eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__webpack_require__(/*! ../../src/menu/index.tsx */ \"./src/menu/index.tsx\");\n__webpack_require__(/*! ../../src/button/index.tsx */ \"./src/button/index.tsx\");\n__webpack_require__(/*! ../../src/locate/index.tsx */ \"./src/locate/index.tsx\");\nvar omi_1 = __webpack_require__(/*! omi */ \"./node_modules/_omi@6.6.5@omi/dist/omi.esm.js\");\nomi_1.define('my-app', /** @class */ (function (_super) {\n __extends(class_1, _super);\n function class_1() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.onSelected = function (evt) {\n console.log(evt);\n _this.show = false;\n _this.update();\n };\n _this.show = true;\n _this.onClick = function () {\n _this.show = !_this.show;\n _this.update();\n };\n return _this;\n }\n class_1.prototype.render = function () {\n return omi_1.h(\"div\", null,\n omi_1.h(\"m-button\", { id: 'myBtn', style: 'position: relative;top: 100px;left: 40px;', onClick: this.onClick }, \"OPEN MENU\"),\n omi_1.h(\"m-locate\", { to: \"#myBtn\", direction: 'bottom-left', show: this.show },\n omi_1.h(\"m-menu\", { anchor: true, onSelected: this.onSelected, list: [\n { text: 'A Menu Item' },\n { text: 'A Disabled Menu Item', disabled: true },\n { text: 'Another Menu Item' }\n ] })));\n };\n return class_1;\n}(omi_1.WeElement)));\nomi_1.render(omi_1.h(\"my-app\", null), 'body');\n\n\n//# sourceURL=webpack:///./demos/menu/index.js?"); /***/ }), -/***/ "./node_modules/@material/base/component.js": -/*!**************************************************!*\ - !*** ./node_modules/@material/base/component.js ***! - \**************************************************/ +/***/ "./node_modules/_@material_base@1.0.0@@material/base/component.js": +/*!************************************************************************!*\ + !*** ./node_modules/_@material_base@1.0.0@@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\nvar MDCComponent = /** @class */ (function () {\n function MDCComponent(root, foundation) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this.root_ = root;\n this.initialize.apply(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"](args));\n // 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 this.foundation_ = foundation === undefined ? this.getDefaultFoundation() : foundation;\n this.foundation_.init();\n this.initialSyncWithDOM();\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 MDCComponent.prototype.initialize = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\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 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 ' +\n 'foundation class');\n };\n MDCComponent.prototype.initialSyncWithDOM = function () {\n // 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 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 MDCComponent.prototype.listen = function (evtType, handler) {\n this.root_.addEventListener(evtType, handler);\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 MDCComponent.prototype.emit = function (evtType, evtData, shouldBubble) {\n if (shouldBubble === void 0) { shouldBubble = false; }\n var evt;\n if (typeof CustomEvent === 'function') {\n evt = new CustomEvent(evtType, {\n bubbles: shouldBubble,\n detail: evtData,\n });\n }\n else {\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(evtType, shouldBubble, false, evtData);\n }\n this.root_.dispatchEvent(evt);\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/* harmony default export */ __webpack_exports__[\"default\"] = (MDCComponent);\n//# sourceMappingURL=component.js.map\n\n//# sourceURL=webpack:///./node_modules/@material/base/component.js?"); +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@1.10.0@tslib/tslib.es6.js\");\n/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation */ \"./node_modules/_@material_base@1.0.0@@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\nvar MDCComponent = /** @class */ (function () {\n function MDCComponent(root, foundation) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this.root_ = root;\n this.initialize.apply(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spread\"](args));\n // 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 this.foundation_ = foundation === undefined ? this.getDefaultFoundation() : foundation;\n this.foundation_.init();\n this.initialSyncWithDOM();\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 MDCComponent.prototype.initialize = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\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 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 ' +\n 'foundation class');\n };\n MDCComponent.prototype.initialSyncWithDOM = function () {\n // 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 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 MDCComponent.prototype.listen = function (evtType, handler) {\n this.root_.addEventListener(evtType, handler);\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 MDCComponent.prototype.emit = function (evtType, evtData, shouldBubble) {\n if (shouldBubble === void 0) { shouldBubble = false; }\n var evt;\n if (typeof CustomEvent === 'function') {\n evt = new CustomEvent(evtType, {\n bubbles: shouldBubble,\n detail: evtData,\n });\n }\n else {\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(evtType, shouldBubble, false, evtData);\n }\n this.root_.dispatchEvent(evt);\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/* harmony default export */ __webpack_exports__[\"default\"] = (MDCComponent);\n//# sourceMappingURL=component.js.map\n\n//# sourceURL=webpack:///./node_modules/_@material_base@1.0.0@@material/base/component.js?"); /***/ }), -/***/ "./node_modules/@material/base/foundation.js": -/*!***************************************************!*\ - !*** ./node_modules/@material/base/foundation.js ***! - \***************************************************/ +/***/ "./node_modules/_@material_base@1.0.0@@material/base/foundation.js": +/*!*************************************************************************!*\ + !*** ./node_modules/_@material_base@1.0.0@@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 = /** @class */ (function () {\n function MDCFoundation(adapter) {\n if (adapter === void 0) { adapter = {}; }\n this.adapter_ = adapter;\n }\n Object.defineProperty(MDCFoundation, \"cssClasses\", {\n get: function () {\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 () {\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 () {\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 () {\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 MDCFoundation.prototype.init = function () {\n // Subclasses should override this method to perform initialization routines (registering events, etc.)\n };\n MDCFoundation.prototype.destroy = function () {\n // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)\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/* harmony default export */ __webpack_exports__[\"default\"] = (MDCFoundation);\n//# sourceMappingURL=foundation.js.map\n\n//# sourceURL=webpack:///./node_modules/@material/base/foundation.js?"); +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 = /** @class */ (function () {\n function MDCFoundation(adapter) {\n if (adapter === void 0) { adapter = {}; }\n this.adapter_ = adapter;\n }\n Object.defineProperty(MDCFoundation, \"cssClasses\", {\n get: function () {\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 () {\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 () {\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 () {\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 MDCFoundation.prototype.init = function () {\n // Subclasses should override this method to perform initialization routines (registering events, etc.)\n };\n MDCFoundation.prototype.destroy = function () {\n // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)\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/* harmony default export */ __webpack_exports__[\"default\"] = (MDCFoundation);\n//# sourceMappingURL=foundation.js.map\n\n//# sourceURL=webpack:///./node_modules/_@material_base@1.0.0@@material/base/foundation.js?"); /***/ }), -/***/ "./node_modules/@material/dom/ponyfill.js": -/*!************************************************!*\ - !*** ./node_modules/@material/dom/ponyfill.js ***! - \************************************************/ +/***/ "./node_modules/_@material_dom@1.1.0@@material/dom/ponyfill.js": +/*!*********************************************************************!*\ + !*** ./node_modules/_@material_dom@1.1.0@@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 * @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 var el = element;\n while (el) {\n if (matches(el, selector)) {\n return el;\n }\n el = el.parentElement;\n }\n return null;\n}\nfunction matches(element, selector) {\n var nativeMatches = element.matches\n || element.webkitMatchesSelector\n || element.msMatchesSelector;\n return nativeMatches.call(element, selector);\n}\n//# sourceMappingURL=ponyfill.js.map\n\n//# sourceURL=webpack:///./node_modules/@material/dom/ponyfill.js?"); +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 * @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 var el = element;\n while (el) {\n if (matches(el, selector)) {\n return el;\n }\n el = el.parentElement;\n }\n return null;\n}\nfunction matches(element, selector) {\n var nativeMatches = element.matches\n || element.webkitMatchesSelector\n || element.msMatchesSelector;\n return nativeMatches.call(element, selector);\n}\n//# sourceMappingURL=ponyfill.js.map\n\n//# sourceURL=webpack:///./node_modules/_@material_dom@1.1.0@@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\nvar MDCList = /** @class */ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCList, _super);\n function MDCList() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MDCList.prototype, \"vertical\", {\n set: function (value) {\n this.foundation_.setVerticalOrientation(value);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCList.prototype, \"listElements\", {\n get: function () {\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 (value) {\n this.foundation_.setWrapFocus(value);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCList.prototype, \"singleSelection\", {\n set: function (isSingleSelectionList) {\n this.foundation_.setSingleSelection(isSingleSelectionList);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCList.prototype, \"selectedIndex\", {\n get: function () {\n return this.foundation_.getSelectedIndex();\n },\n set: function (index) {\n this.foundation_.setSelectedIndex(index);\n },\n enumerable: true,\n configurable: true\n });\n MDCList.attachTo = function (root) {\n return new MDCList(root);\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 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 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;\n // List items need to have at least tabindex=-1 to be focusable.\n [].slice.call(this.root_.querySelectorAll('.mdc-list-item:not([tabindex])'))\n .forEach(function (el) {\n el.setAttribute('tabindex', '-1');\n });\n // Child button/a elements are not tabbable until the list item is focused.\n [].slice.call(this.root_.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].FOCUSABLE_CHILD_ELEMENTS))\n .forEach(function (el) { return el.setAttribute('tabindex', '-1'); });\n this.foundation_.layout();\n };\n /**\n * Initialize selectedIndex value based on pre-selected checkbox list items, single selection or radio.\n */\n MDCList.prototype.initializeListType = function () {\n var _this = this;\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 if (checkboxListItems.length) {\n var preselectedItems = this.root_.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].ARIA_CHECKED_CHECKBOX_SELECTOR);\n this.selectedIndex =\n [].map.call(preselectedItems, function (listItem) { 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 this.singleSelection = true;\n this.selectedIndex = this.listElements.indexOf(singleSelectedListItem);\n }\n else if (radioSelectedListItem) {\n this.selectedIndex = this.listElements.indexOf(radioSelectedListItem);\n }\n };\n MDCList.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n addClassForElementIndex: function (index, className) {\n var element = _this.listElements[index];\n if (element) {\n element.classList.add(className);\n }\n },\n focusItemAtIndex: function (index) {\n var element = _this.listElements[index];\n if (element) {\n element.focus();\n }\n },\n getAttributeForElementIndex: function (index, attr) { return _this.listElements[index].getAttribute(attr); },\n getFocusedElementIndex: function () { return _this.listElements.indexOf(document.activeElement); },\n getListItemCount: function () { return _this.listElements.length; },\n hasCheckboxAtIndex: function (index) {\n var listItem = _this.listElements[index];\n return !!listItem.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].CHECKBOX_SELECTOR);\n },\n hasRadioAtIndex: function (index) {\n var listItem = _this.listElements[index];\n return !!listItem.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].RADIO_SELECTOR);\n },\n isCheckboxCheckedAtIndex: function (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 () {\n return _this.root_.contains(document.activeElement);\n },\n isRootFocused: function () { return document.activeElement === _this.root_; },\n notifyAction: function (index) {\n _this.emit(_constants__WEBPACK_IMPORTED_MODULE_3__[\"strings\"].ACTION_EVENT, { index: index }, /** shouldBubble */ true);\n },\n removeClassForElementIndex: function (index, className) {\n var element = _this.listElements[index];\n if (element) {\n element.classList.remove(className);\n }\n },\n setAttributeForElementIndex: function (index, attr, value) {\n var element = _this.listElements[index];\n if (element) {\n element.setAttribute(attr, value);\n }\n },\n setCheckedCheckboxOrRadioAtIndex: function (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 (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) { return el.setAttribute('tabindex', tabIndexValue); });\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 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);\n // Get the index of the element if it is a list item.\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 return -1;\n };\n /**\n * Used to figure out which element was clicked before sending the event to the foundation.\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 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 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 MDCList.prototype.handleClickEvent_ = function (evt) {\n var index = this.getListItemIndex_(evt);\n var target = evt.target;\n // Toggle the checkbox only if it's not the target of the event, or the checkbox will have 2 change events.\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 return MDCList;\n}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__[\"MDCComponent\"]));\n\n//# sourceMappingURL=component.js.map\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//# sourceMappingURL=constants.js.map\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'];\nfunction isNumberArray(selectedIndex) {\n return selectedIndex instanceof Array;\n}\nvar MDCListFoundation = /** @class */ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCListFoundation, _super);\n function MDCListFoundation(adapter) {\n var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"]({}, MDCListFoundation.defaultAdapter, adapter)) || this;\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 Object.defineProperty(MDCListFoundation, \"strings\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCListFoundation, \"cssClasses\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCListFoundation, \"numbers\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCListFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClassForElementIndex: function () { return undefined; },\n focusItemAtIndex: function () { return undefined; },\n getAttributeForElementIndex: function () { return null; },\n getFocusedElementIndex: function () { return 0; },\n getListItemCount: function () { return 0; },\n hasCheckboxAtIndex: function () { return false; },\n hasRadioAtIndex: function () { return false; },\n isCheckboxCheckedAtIndex: function () { return false; },\n isFocusInsideList: function () { return false; },\n isRootFocused: function () { return false; },\n notifyAction: function () { return undefined; },\n removeClassForElementIndex: function () { return undefined; },\n setAttributeForElementIndex: function () { return undefined; },\n setCheckedCheckboxOrRadioAtIndex: function () { return undefined; },\n setTabIndexForListItemChildren: function () { return undefined; },\n };\n },\n enumerable: true,\n configurable: true\n });\n MDCListFoundation.prototype.layout = function () {\n if (this.adapter_.getListItemCount() === 0) {\n return;\n }\n if (this.adapter_.hasCheckboxAtIndex(0)) {\n this.isCheckboxList_ = true;\n }\n else if (this.adapter_.hasRadioAtIndex(0)) {\n this.isRadioList_ = true;\n }\n };\n /**\n * Sets the private wrapFocus_ variable.\n */\n MDCListFoundation.prototype.setWrapFocus = function (value) {\n this.wrapFocus_ = value;\n };\n /**\n * Sets the isVertical_ private variable.\n */\n MDCListFoundation.prototype.setVerticalOrientation = function (value) {\n this.isVertical_ = value;\n };\n /**\n * Sets the isSingleSelectionList_ private variable.\n */\n MDCListFoundation.prototype.setSingleSelection = function (value) {\n this.isSingleSelectionList_ = value;\n };\n /**\n * Sets the useActivatedClass_ private variable.\n */\n MDCListFoundation.prototype.setUseActivatedClass = function (useActivated) {\n this.useActivatedClass_ = useActivated;\n };\n MDCListFoundation.prototype.getSelectedIndex = function () {\n return this.selectedIndex_;\n };\n MDCListFoundation.prototype.setSelectedIndex = function (index) {\n if (!this.isIndexValid_(index)) {\n return;\n }\n if (this.isCheckboxList_) {\n this.setCheckboxAtIndex_(index);\n }\n else if (this.isRadioList_) {\n this.setRadioAtIndex_(index);\n }\n else {\n this.setSingleSelectionAtIndex_(index);\n }\n };\n /**\n * Focus in handler for the list items.\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 MDCListFoundation.prototype.handleFocusOut = function (_, listItemIndex) {\n var _this = this;\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 setTimeout(function () {\n if (!_this.adapter_.isFocusInsideList()) {\n _this.setTabindexToFirstSelectedItem_();\n }\n }, 0);\n };\n /**\n * Key handler for the list.\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 if (this.adapter_.isRootFocused()) {\n if (isArrowUp || isEnd) {\n evt.preventDefault();\n this.focusLastElement();\n }\n else if (isArrowDown || isHome) {\n evt.preventDefault();\n this.focusFirstElement();\n }\n return;\n }\n var currentIndex = this.adapter_.getFocusedElementIndex();\n if (currentIndex === -1) {\n currentIndex = listItemIndex;\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 var nextIndex;\n if ((this.isVertical_ && isArrowDown) || (!this.isVertical_ && isArrowRight)) {\n this.preventDefaultEvent_(evt);\n nextIndex = this.focusNextElement(currentIndex);\n }\n else if ((this.isVertical_ && isArrowUp) || (!this.isVertical_ && isArrowLeft)) {\n this.preventDefaultEvent_(evt);\n nextIndex = this.focusPrevElement(currentIndex);\n }\n else if (isHome) {\n this.preventDefaultEvent_(evt);\n nextIndex = this.focusFirstElement();\n }\n else if (isEnd) {\n this.preventDefaultEvent_(evt);\n nextIndex = this.focusLastElement();\n }\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 if (target && target.tagName === 'A' && isEnter) {\n return;\n }\n this.preventDefaultEvent_(evt);\n if (this.isSelectableList_()) {\n this.setSelectedIndexOnAction_(currentIndex);\n }\n this.adapter_.notifyAction(currentIndex);\n }\n }\n this.focusedItemIndex_ = currentIndex;\n if (nextIndex !== undefined) {\n this.setTabindexAtIndex_(nextIndex);\n this.focusedItemIndex_ = nextIndex;\n }\n };\n /**\n * Click handler for the list.\n */\n MDCListFoundation.prototype.handleClick = function (index, toggleCheckbox) {\n if (index === _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX) {\n return;\n }\n if (this.isSelectableList_()) {\n this.setSelectedIndexOnAction_(index, toggleCheckbox);\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 MDCListFoundation.prototype.focusNextElement = function (index) {\n var count = this.adapter_.getListItemCount();\n var nextIndex = index + 1;\n if (nextIndex >= count) {\n if (this.wrapFocus_) {\n nextIndex = 0;\n }\n else {\n // Return early because last item is already focused.\n return index;\n }\n }\n this.adapter_.focusItemAtIndex(nextIndex);\n return nextIndex;\n };\n /**\n * Focuses the previous element on the list.\n */\n MDCListFoundation.prototype.focusPrevElement = function (index) {\n var prevIndex = index - 1;\n if (prevIndex < 0) {\n if (this.wrapFocus_) {\n prevIndex = this.adapter_.getListItemCount() - 1;\n }\n else {\n // Return early because first item is already focused.\n return index;\n }\n }\n this.adapter_.focusItemAtIndex(prevIndex);\n return prevIndex;\n };\n MDCListFoundation.prototype.focusFirstElement = function () {\n this.adapter_.focusItemAtIndex(0);\n return 0;\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 MDCListFoundation.prototype.preventDefaultEvent_ = function (evt) {\n var target = evt.target;\n var tagName = (\"\" + target.tagName).toLowerCase();\n if (ELEMENTS_KEY_ALLOWED_IN.indexOf(tagName) === -1) {\n evt.preventDefault();\n }\n };\n MDCListFoundation.prototype.setSingleSelectionAtIndex_ = function (index) {\n if (this.selectedIndex_ === index) {\n return;\n }\n var selectedClassName = _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].LIST_ITEM_SELECTED_CLASS;\n if (this.useActivatedClass_) {\n selectedClassName = _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].LIST_ITEM_ACTIVATED_CLASS;\n }\n if (this.selectedIndex_ !== _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX) {\n this.adapter_.removeClassForElementIndex(this.selectedIndex_, selectedClassName);\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 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_ =\n this.adapter_.getAttributeForElementIndex(index, _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].ARIA_CURRENT);\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 if (this.selectedIndex_ !== _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX) {\n this.adapter_.setAttributeForElementIndex(this.selectedIndex_, ariaAttribute, 'false');\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 MDCListFoundation.prototype.setRadioAtIndex_ = function (index) {\n this.adapter_.setCheckedCheckboxOrRadioAtIndex(index, true);\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 this.adapter_.setAttributeForElementIndex(index, _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].ARIA_CHECKED, 'true');\n this.selectedIndex_ = index;\n };\n MDCListFoundation.prototype.setCheckboxAtIndex_ = function (index) {\n for (var i = 0; i < this.adapter_.getListItemCount(); i++) {\n var isChecked = false;\n if (index.indexOf(i) >= 0) {\n isChecked = true;\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 this.selectedIndex_ = index;\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 }\n else if (this.focusedItemIndex_ >= 0 && this.focusedItemIndex_ !== index) {\n this.adapter_.setAttributeForElementIndex(this.focusedItemIndex_, 'tabindex', '-1');\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 MDCListFoundation.prototype.isSelectableList_ = function () {\n return this.isSingleSelectionList_ || this.isCheckboxList_ || this.isRadioList_;\n };\n MDCListFoundation.prototype.setTabindexToFirstSelectedItem_ = function () {\n var targetIndex = 0;\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 }\n else if (isNumberArray(this.selectedIndex_) && this.selectedIndex_.length > 0) {\n targetIndex = this.selectedIndex_.reduce(function (currentIndex, minIndex) { return Math.min(currentIndex, minIndex); });\n }\n }\n this.setTabindexAtIndex_(targetIndex);\n };\n MDCListFoundation.prototype.isIndexValid_ = function (index) {\n var _this = this;\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 if (index.length === 0) {\n return true;\n }\n else {\n return index.some(function (i) { 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 return this.isIndexInRange_(index);\n }\n else {\n return false;\n }\n };\n MDCListFoundation.prototype.isIndexInRange_ = function (index) {\n var listSize = this.adapter_.getListItemCount();\n return index >= 0 && index < listSize;\n };\n MDCListFoundation.prototype.setSelectedIndexOnAction_ = function (index, toggleCheckbox) {\n if (toggleCheckbox === void 0) { toggleCheckbox = true; }\n if (this.isCheckboxList_) {\n this.toggleCheckboxAtIndex_(index, toggleCheckbox);\n }\n else {\n this.setSelectedIndex(index);\n }\n };\n MDCListFoundation.prototype.toggleCheckboxAtIndex_ = function (index, toggleCheckbox) {\n var isChecked = this.adapter_.isCheckboxCheckedAtIndex(index);\n if (toggleCheckbox) {\n isChecked = !isChecked;\n this.adapter_.setCheckedCheckboxOrRadioAtIndex(index, isChecked);\n }\n this.adapter_.setAttributeForElementIndex(index, _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"].ARIA_CHECKED, isChecked ? 'true' : 'false');\n // If none of the checkbox items are selected and selectedIndex is not initialized then provide a default value.\n var selectedIndexes = this.selectedIndex_ === _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].UNSET_INDEX ? [] : this.selectedIndex_.slice();\n if (isChecked) {\n selectedIndexes.push(index);\n }\n else {\n selectedIndexes = selectedIndexes.filter(function (i) { return i !== index; });\n }\n this.selectedIndex_ = selectedIndexes;\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/* harmony default export */ __webpack_exports__[\"default\"] = (MDCListFoundation);\n//# sourceMappingURL=foundation.js.map\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\nvar MDCMenuSurface = /** @class */ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCMenuSurface, _super);\n function MDCMenuSurface() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCMenuSurface.attachTo = function (root) {\n return new MDCMenuSurface(root);\n };\n MDCMenuSurface.prototype.initialSyncWithDOM = function () {\n var _this = this;\n var parentEl = this.root_.parentElement;\n this.anchorElement = parentEl && parentEl.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].ANCHOR) ? parentEl : null;\n if (this.root_.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].FIXED)) {\n this.setFixedPosition(true);\n }\n this.handleKeydown_ = function (evt) { return _this.foundation_.handleKeydown(evt); };\n this.handleBodyClick_ = function (evt) { return _this.foundation_.handleBodyClick(evt); };\n this.registerBodyClickListener_ = function () { return document.body.addEventListener('click', _this.handleBodyClick_); };\n this.deregisterBodyClickListener_ = function () { return document.body.removeEventListener('click', _this.handleBodyClick_); };\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 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 _super.prototype.destroy.call(this);\n };\n Object.defineProperty(MDCMenuSurface.prototype, \"open\", {\n get: function () {\n return this.foundation_.isOpen();\n },\n set: function (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 }\n else {\n this.foundation_.close();\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuSurface.prototype, \"quickOpen\", {\n set: function (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 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 MDCMenuSurface.prototype.setIsHoisted = function (isHoisted) {\n this.foundation_.setIsHoisted(isHoisted);\n };\n /** Sets the element that the menu-surface is anchored to. */\n MDCMenuSurface.prototype.setMenuSurfaceAnchorElement = function (element) {\n this.anchorElement = element;\n };\n /** Sets the menu-surface to position: fixed. */\n MDCMenuSurface.prototype.setFixedPosition = function (isFixed) {\n if (isFixed) {\n this.root_.classList.add(_constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].FIXED);\n }\n else {\n this.root_.classList.remove(_constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"].FIXED);\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 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 MDCMenuSurface.prototype.setAnchorCorner = function (corner) {\n this.foundation_.setAnchorCorner(corner);\n };\n MDCMenuSurface.prototype.setAnchorMargin = function (margin) {\n this.foundation_.setAnchorMargin(margin);\n };\n MDCMenuSurface.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\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 var adapter = {\n addClass: function (className) { return _this.root_.classList.add(className); },\n removeClass: function (className) { return _this.root_.classList.remove(className); },\n hasClass: function (className) { return _this.root_.classList.contains(className); },\n hasAnchor: function () { return !!_this.anchorElement; },\n notifyClose: function () { return _this.emit(_foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCMenuSurfaceFoundation\"].strings.CLOSED_EVENT, {}); },\n notifyOpen: function () { return _this.emit(_foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCMenuSurfaceFoundation\"].strings.OPENED_EVENT, {}); },\n isElementInContainer: function (el) { return _this.root_.contains(el); },\n isRtl: function () { return getComputedStyle(_this.root_).getPropertyValue('direction') === 'rtl'; },\n setTransformOrigin: function (origin) {\n var propertyName = _util__WEBPACK_IMPORTED_MODULE_4__[\"getTransformPropertyName\"](window) + \"-origin\";\n _this.root_.style.setProperty(propertyName, origin);\n },\n isFocused: function () { return document.activeElement === _this.root_; },\n saveFocus: function () {\n _this.previousFocus_ = document.activeElement;\n },\n restoreFocus: function () {\n if (_this.root_.contains(document.activeElement)) {\n if (_this.previousFocus_ && _this.previousFocus_.focus) {\n _this.previousFocus_.focus();\n }\n }\n },\n isFirstElementFocused: function () {\n return _this.firstFocusableElement_ ? _this.firstFocusableElement_ === document.activeElement : false;\n },\n isLastElementFocused: function () {\n return _this.lastFocusableElement_ ? _this.lastFocusableElement_ === document.activeElement : false;\n },\n focusFirstElement: function () {\n return _this.firstFocusableElement_ && _this.firstFocusableElement_.focus && _this.firstFocusableElement_.focus();\n },\n focusLastElement: function () {\n return _this.lastFocusableElement_ && _this.lastFocusableElement_.focus && _this.lastFocusableElement_.focus();\n },\n getInnerDimensions: function () {\n return { width: _this.root_.offsetWidth, height: _this.root_.offsetHeight };\n },\n getAnchorDimensions: function () { return _this.anchorElement ? _this.anchorElement.getBoundingClientRect() : null; },\n getWindowDimensions: function () {\n return { width: window.innerWidth, height: window.innerHeight };\n },\n getBodyDimensions: function () {\n return { width: document.body.clientWidth, height: document.body.clientHeight };\n },\n getWindowScroll: function () {\n return { x: window.pageXOffset, y: window.pageYOffset };\n },\n setPosition: function (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 (height) {\n _this.root_.style.maxHeight = height;\n },\n };\n // tslint:enable:object-literal-sort-keys\n return new _foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCMenuSurfaceFoundation\"](adapter);\n };\n return MDCMenuSurface;\n}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__[\"MDCComponent\"]));\n\n//# sourceMappingURL=component.js.map\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};\n// tslint:disable:object-literal-sort-keys\nvar strings = {\n CLOSED_EVENT: 'MDCMenuSurface:closed',\n OPENED_EVENT: 'MDCMenuSurface:opened',\n FOCUSABLE_ELEMENTS: [\n 'button:not(:disabled)', '[href]:not([aria-disabled=\"true\"])', 'input:not(:disabled)',\n 'select:not(:disabled)', 'textarea:not(:disabled)', '[tabindex]:not([tabindex=\"-1\"]):not([aria-disabled=\"true\"])',\n ].join(', '),\n};\n// tslint:enable:object-literal-sort-keys\nvar numbers = {\n /** Total duration of menu-surface open animation. */\n TRANSITION_OPEN_DURATION: 120,\n /** Total duration of menu-surface close animation. */\n TRANSITION_CLOSE_DURATION: 75,\n /** Margin left to the edge of the viewport when menu-surface is at maximum possible height. */\n MARGIN_TO_EDGE: 32,\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 */\nvar CornerBit;\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 */\nvar Corner;\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//# sourceMappingURL=constants.js.map\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\nvar MDCMenuSurfaceFoundation = /** @class */ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCMenuSurfaceFoundation, _super);\n function MDCMenuSurfaceFoundation(adapter) {\n var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"]({}, MDCMenuSurfaceFoundation.defaultAdapter, adapter)) || this;\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_ = { top: 0, right: 0, bottom: 0, left: 0 };\n _this.position_ = { x: 0, y: 0 };\n return _this;\n }\n Object.defineProperty(MDCMenuSurfaceFoundation, \"cssClasses\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuSurfaceFoundation, \"strings\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuSurfaceFoundation, \"numbers\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuSurfaceFoundation, \"Corner\", {\n get: function () {\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 () {\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n return {\n addClass: function () { return undefined; },\n removeClass: function () { return undefined; },\n hasClass: function () { return false; },\n hasAnchor: function () { return false; },\n isElementInContainer: function () { return false; },\n isFocused: function () { return false; },\n isFirstElementFocused: function () { return false; },\n isLastElementFocused: function () { return false; },\n isRtl: function () { return false; },\n getInnerDimensions: function () { return ({ height: 0, width: 0 }); },\n getAnchorDimensions: function () { return null; },\n getWindowDimensions: function () { return ({ height: 0, width: 0 }); },\n getBodyDimensions: function () { return ({ height: 0, width: 0 }); },\n getWindowScroll: function () { return ({ x: 0, y: 0 }); },\n setPosition: function () { return undefined; },\n setMaxHeight: function () { return undefined; },\n setTransformOrigin: function () { return undefined; },\n saveFocus: function () { return undefined; },\n restoreFocus: function () { return undefined; },\n focusFirstElement: function () { return undefined; },\n focusLastElement: function () { return undefined; },\n notifyClose: function () { return undefined; },\n notifyOpen: function () { return undefined; },\n };\n // tslint:enable:object-literal-sort-keys\n },\n enumerable: true,\n configurable: true\n });\n MDCMenuSurfaceFoundation.prototype.init = function () {\n var _a = MDCMenuSurfaceFoundation.cssClasses, ROOT = _a.ROOT, OPEN = _a.OPEN;\n if (!this.adapter_.hasClass(ROOT)) {\n throw new Error(ROOT + \" class required in root element.\");\n }\n if (this.adapter_.hasClass(OPEN)) {\n this.isOpen_ = true;\n }\n };\n MDCMenuSurfaceFoundation.prototype.destroy = function () {\n clearTimeout(this.openAnimationEndTimerId_);\n clearTimeout(this.closeAnimationEndTimerId_);\n // Cancel any currently running animations.\n cancelAnimationFrame(this.animationRequestId_);\n };\n /**\n * @param corner Default anchor corner alignment of top-left menu surface corner.\n */\n MDCMenuSurfaceFoundation.prototype.setAnchorCorner = function (corner) {\n this.anchorCorner_ = corner;\n };\n /**\n * @param margin Set of margin values from anchor.\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 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 MDCMenuSurfaceFoundation.prototype.setFixedPosition = function (isFixedPosition) {\n this.isFixedPosition_ = isFixedPosition;\n };\n /** Sets the menu-surface position on the page. */\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 MDCMenuSurfaceFoundation.prototype.setQuickOpen = function (quickOpen) {\n this.isQuickOpen_ = quickOpen;\n };\n MDCMenuSurfaceFoundation.prototype.isOpen = function () {\n return this.isOpen_;\n };\n /**\n * Open the menu surface.\n */\n MDCMenuSurfaceFoundation.prototype.open = function () {\n var _this = this;\n this.adapter_.saveFocus();\n if (!this.isQuickOpen_) {\n this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_OPEN);\n }\n this.animationRequestId_ = requestAnimationFrame(function () {\n _this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.OPEN);\n _this.dimensions_ = _this.adapter_.getInnerDimensions();\n _this.autoPosition_();\n if (_this.isQuickOpen_) {\n _this.adapter_.notifyOpen();\n }\n else {\n _this.openAnimationEndTimerId_ = setTimeout(function () {\n _this.openAnimationEndTimerId_ = 0;\n _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_OPEN);\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 MDCMenuSurfaceFoundation.prototype.close = function () {\n var _this = this;\n if (!this.isQuickOpen_) {\n this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_CLOSED);\n }\n requestAnimationFrame(function () {\n _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.OPEN);\n if (_this.isQuickOpen_) {\n _this.adapter_.notifyClose();\n }\n else {\n _this.closeAnimationEndTimerId_ = setTimeout(function () {\n _this.closeAnimationEndTimerId_ = 0;\n _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_CLOSED);\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 MDCMenuSurfaceFoundation.prototype.handleBodyClick = function (evt) {\n var el = evt.target;\n if (this.adapter_.isElementInContainer(el)) {\n return;\n }\n this.close();\n };\n /** Handle keys that close the surface. */\n MDCMenuSurfaceFoundation.prototype.handleKeydown = function (evt) {\n var keyCode = evt.keyCode, key = evt.key, shiftKey = evt.shiftKey;\n var isEscape = key === 'Escape' || keyCode === 27;\n var isTab = key === 'Tab' || keyCode === 9;\n if (isEscape) {\n this.close();\n }\n else if (isTab) {\n if (this.adapter_.isLastElementFocused() && !shiftKey) {\n this.adapter_.focusFirstElement();\n evt.preventDefault();\n }\n else if (this.adapter_.isFirstElementFocused() && shiftKey) {\n this.adapter_.focusLastElement();\n evt.preventDefault();\n }\n }\n };\n MDCMenuSurfaceFoundation.prototype.autoPosition_ = function () {\n var _a;\n // Compute measurements for autoposition methods reuse.\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_, anchorSize = _b.anchorSize, surfaceSize = _b.surfaceSize;\n var position = (_a = {},\n _a[horizontalAlignment] = horizontalOffset,\n _a[verticalAlignment] = verticalOffset,\n _a);\n // Center align when anchor width is comparable or greater than menu surface, otherwise keep corner.\n if (anchorSize.width / surfaceSize.width > _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO) {\n horizontalAlignment = 'center';\n }\n // If the menu-surface has been hoisted to the body, it's no longer relative to the anchor element\n if (this.isHoistedElement_ || this.isFixedPosition_) {\n this.adjustPositionForHoistedElement_(position);\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 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 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 };\n // tslint:enable:object-literal-sort-keys\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 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_, viewportDistance = _a.viewportDistance, anchorSize = _a.anchorSize, 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\n : viewportDistance.top + this.anchorMargin_.top;\n var availableBottom = isBottomAligned ? viewportDistance.bottom - this.anchorMargin_.bottom\n : viewportDistance.bottom + anchorSize.height - this.anchorMargin_.top;\n var topOverflow = surfaceSize.height - availableTop;\n var bottomOverflow = surfaceSize.height - availableBottom;\n if (bottomOverflow > 0 && topOverflow < bottomOverflow) {\n corner = this.setBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].BOTTOM);\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) ||\n (!avoidHorizontalOverlap && isFlipRtl && isRtl);\n var availableLeft = isAlignedRight ? viewportDistance.left + anchorSize.width + this.anchorMargin_.right :\n viewportDistance.left + this.anchorMargin_.left;\n var availableRight = isAlignedRight ? viewportDistance.right - this.anchorMargin_.right :\n viewportDistance.right + anchorSize.width - this.anchorMargin_.left;\n var leftOverflow = surfaceSize.width - availableLeft;\n var rightOverflow = surfaceSize.width - availableRight;\n if ((leftOverflow < 0 && isAlignedRight && isRtl) ||\n (avoidHorizontalOverlap && !isAlignedRight && leftOverflow < 0) ||\n (rightOverflow > 0 && leftOverflow < rightOverflow)) {\n corner = this.setBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__[\"CornerBit\"].RIGHT);\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 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;\n // When maximum height is not specified, it is handled from CSS.\n if (isBottomAligned) {\n maxHeight = viewportDistance.top + this.anchorMargin_.top - MARGIN_TO_EDGE;\n if (!isBottomAnchored) {\n maxHeight += this.measurements_.anchorSize.height;\n }\n }\n else {\n maxHeight =\n viewportDistance.bottom - this.anchorMargin_.bottom + this.measurements_.anchorSize.height - MARGIN_TO_EDGE;\n if (isBottomAnchored) {\n maxHeight -= this.measurements_.anchorSize.height;\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 MDCMenuSurfaceFoundation.prototype.getHorizontalOriginOffset_ = function (corner) {\n var anchorSize = this.measurements_.anchorSize;\n // isRightAligned corresponds to using the 'right' property on the surface.\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 if (isRightAligned) {\n var rightOffset = avoidHorizontalOverlap ? anchorSize.width - this.anchorMargin_.left : this.anchorMargin_.right;\n // 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 if (this.isHoistedElement_ || this.isFixedPosition_) {\n return rightOffset - (this.measurements_.viewportSize.width - this.measurements_.bodySize.width);\n }\n return rightOffset;\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 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 if (isBottomAligned) {\n y = avoidVerticalOverlap ? anchorSize.height - this.anchorMargin_.top : -this.anchorMargin_.bottom;\n }\n else {\n y = avoidVerticalOverlap ? (anchorSize.height + this.anchorMargin_.bottom) : this.anchorMargin_.top;\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 MDCMenuSurfaceFoundation.prototype.adjustPositionForHoistedElement_ = function (position) {\n var e_1, _a;\n var _b = this.measurements_, windowScroll = _b.windowScroll, viewportDistance = _b.viewportDistance;\n var props = Object.keys(position);\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;\n // 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 value += viewportDistance[prop];\n // Surfaces that are absolutely positioned need to have additional calculations for scroll\n // and bottom positioning.\n if (!this.isFixedPosition_) {\n if (prop === 'top') {\n value += windowScroll.y;\n }\n else if (prop === 'bottom') {\n value -= windowScroll.y;\n }\n else if (prop === 'left') {\n value += windowScroll.x;\n }\n else { // prop === 'right'\n value -= windowScroll.x;\n }\n }\n position[prop] = value;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1);\n }\n finally { if (e_1) throw e_1.error; }\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 MDCMenuSurfaceFoundation.prototype.maybeRestoreFocus_ = function () {\n var isRootFocused = this.adapter_.isFocused();\n var childHasFocus = document.activeElement && this.adapter_.isElementInContainer(document.activeElement);\n if (isRootFocused || childHasFocus) {\n this.adapter_.restoreFocus();\n }\n };\n MDCMenuSurfaceFoundation.prototype.hasBit_ = function (corner, bit) {\n return Boolean(corner & bit); // tslint:disable-line:no-bitwise\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 MDCMenuSurfaceFoundation.prototype.isFinite_ = function (num) {\n return typeof num === 'number' && isFinite(num);\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/* harmony default export */ __webpack_exports__[\"default\"] = (MDCMenuSurfaceFoundation);\n//# sourceMappingURL=foundation.js.map\n\n//# sourceURL=webpack:///./node_modules/@material/menu-surface/foundation.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 */\nfunction getTransformPropertyName(globalObj, forceRefresh) {\n if (forceRefresh === void 0) { forceRefresh = false; }\n if (cachedCssTransformPropertyName_ === undefined || forceRefresh) {\n var el = globalObj.document.createElement('div');\n cachedCssTransformPropertyName_ = 'transform' in el.style ? 'transform' : 'webkitTransform';\n }\n return cachedCssTransformPropertyName_;\n}\n\n//# sourceMappingURL=util.js.map\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\nvar MDCMenu = /** @class */ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCMenu, _super);\n function MDCMenu() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCMenu.attachTo = function (root) {\n return new MDCMenu(root);\n };\n MDCMenu.prototype.initialize = function (menuSurfaceFactory, listFactory) {\n if (menuSurfaceFactory === void 0) { menuSurfaceFactory = function (el) { return new _material_menu_surface_component__WEBPACK_IMPORTED_MODULE_4__[\"MDCMenuSurface\"](el); }; }\n if (listFactory === void 0) { listFactory = function (el) { return new _material_list_component__WEBPACK_IMPORTED_MODULE_2__[\"MDCList\"](el); }; }\n this.menuSurfaceFactory_ = menuSurfaceFactory;\n this.listFactory_ = listFactory;\n };\n MDCMenu.prototype.initialSyncWithDOM = function () {\n var _this = this;\n this.menuSurface_ = this.menuSurfaceFactory_(this.root_);\n var list = this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_6__[\"strings\"].LIST_SELECTOR);\n if (list) {\n this.list_ = this.listFactory_(list);\n this.list_.wrapFocus = true;\n }\n else {\n this.list_ = null;\n }\n this.handleKeydown_ = function (evt) { return _this.foundation_.handleKeydown(evt); };\n this.handleItemAction_ = function (evt) { return _this.foundation_.handleItemAction(_this.items[evt.detail.index]); };\n this.handleMenuSurfaceOpened_ = function () { return _this.foundation_.handleMenuSurfaceOpened(); };\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 MDCMenu.prototype.destroy = function () {\n if (this.list_) {\n this.list_.destroy();\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 _super.prototype.destroy.call(this);\n };\n Object.defineProperty(MDCMenu.prototype, \"open\", {\n get: function () {\n return this.menuSurface_.open;\n },\n set: function (value) {\n this.menuSurface_.open = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenu.prototype, \"wrapFocus\", {\n get: function () {\n return this.list_ ? this.list_.wrapFocus : false;\n },\n set: function (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 () {\n return this.list_ ? this.list_.listElements : [];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenu.prototype, \"quickOpen\", {\n set: function (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 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 MDCMenu.prototype.setAnchorCorner = function (corner) {\n this.menuSurface_.setAnchorCorner(corner);\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 MDCMenu.prototype.getOptionByIndex = function (index) {\n var items = this.items;\n if (index < items.length) {\n return this.items[index];\n }\n else {\n return null;\n }\n };\n MDCMenu.prototype.setFixedPosition = function (isFixed) {\n this.menuSurface_.setFixedPosition(isFixed);\n };\n MDCMenu.prototype.hoistMenuToBody = function () {\n this.menuSurface_.hoistMenuToBody();\n };\n MDCMenu.prototype.setIsHoisted = function (isHoisted) {\n this.menuSurface_.setIsHoisted(isHoisted);\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 MDCMenu.prototype.setAnchorElement = function (element) {\n this.menuSurface_.anchorElement = element;\n };\n MDCMenu.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\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 var adapter = {\n addClassToElementAtIndex: function (index, className) {\n var list = _this.items;\n list[index].classList.add(className);\n },\n removeClassFromElementAtIndex: function (index, className) {\n var list = _this.items;\n list[index].classList.remove(className);\n },\n addAttributeToElementAtIndex: function (index, attr, value) {\n var list = _this.items;\n list[index].setAttribute(attr, value);\n },\n removeAttributeFromElementAtIndex: function (index, attr) {\n var list = _this.items;\n list[index].removeAttribute(attr);\n },\n elementContainsClass: function (element, className) { return element.classList.contains(className); },\n closeSurface: function () { return _this.open = false; },\n getElementIndex: function (element) { return _this.items.indexOf(element); },\n getParentElement: function (element) { return element.parentElement; },\n getSelectedElementIndex: function (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 (evtData) { return _this.emit(_constants__WEBPACK_IMPORTED_MODULE_6__[\"strings\"].SELECTED_EVENT, {\n index: evtData.index,\n item: _this.items[evtData.index],\n }); },\n getMenuItemCount: function () { return _this.items.length; },\n focusItemAtIndex: function (index) { return _this.items[index].focus(); },\n focusListRoot: function () { return _this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_6__[\"strings\"].LIST_SELECTOR).focus(); },\n };\n // tslint:enable:object-literal-sort-keys\n return new _foundation__WEBPACK_IMPORTED_MODULE_7__[\"MDCMenuFoundation\"](adapter);\n };\n return MDCMenu;\n}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__[\"MDCComponent\"]));\n\n//# sourceMappingURL=component.js.map\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(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//# sourceMappingURL=constants.js.map\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\nvar MDCMenuFoundation = /** @class */ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCMenuFoundation, _super);\n function MDCMenuFoundation(adapter) {\n var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"]({}, MDCMenuFoundation.defaultAdapter, adapter)) || this;\n _this.closeAnimationEndTimerId_ = 0;\n _this.defaultFocusState_ = _constants__WEBPACK_IMPORTED_MODULE_4__[\"DefaultFocusState\"].LIST_ROOT;\n return _this;\n }\n Object.defineProperty(MDCMenuFoundation, \"cssClasses\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_4__[\"cssClasses\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuFoundation, \"strings\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_4__[\"strings\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuFoundation, \"numbers\", {\n get: function () {\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 () {\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n return {\n addClassToElementAtIndex: function () { return undefined; },\n removeClassFromElementAtIndex: function () { return undefined; },\n addAttributeToElementAtIndex: function () { return undefined; },\n removeAttributeFromElementAtIndex: function () { return undefined; },\n elementContainsClass: function () { return false; },\n closeSurface: function () { return undefined; },\n getElementIndex: function () { return -1; },\n getParentElement: function () { return null; },\n getSelectedElementIndex: function () { return -1; },\n notifySelected: function () { return undefined; },\n getMenuItemCount: function () { return 0; },\n focusItemAtIndex: function () { return undefined; },\n focusListRoot: function () { return undefined; },\n };\n // tslint:enable:object-literal-sort-keys\n },\n enumerable: true,\n configurable: true\n });\n MDCMenuFoundation.prototype.destroy = function () {\n if (this.closeAnimationEndTimerId_) {\n clearTimeout(this.closeAnimationEndTimerId_);\n }\n this.adapter_.closeSurface();\n };\n MDCMenuFoundation.prototype.handleKeydown = function (evt) {\n var key = evt.key, keyCode = evt.keyCode;\n var isTab = key === 'Tab' || keyCode === 9;\n if (isTab) {\n this.adapter_.closeSurface();\n }\n };\n MDCMenuFoundation.prototype.handleItemAction = function (listItem) {\n var _this = this;\n var index = this.adapter_.getElementIndex(listItem);\n if (index < 0) {\n return;\n }\n this.adapter_.notifySelected({ index: index });\n this.adapter_.closeSurface();\n // Wait for the menu to close before adding/removing classes that affect styles.\n this.closeAnimationEndTimerId_ = setTimeout(function () {\n var selectionGroup = _this.getSelectionGroup_(listItem);\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 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 case _constants__WEBPACK_IMPORTED_MODULE_4__[\"DefaultFocusState\"].LAST_ITEM:\n this.adapter_.focusItemAtIndex(this.adapter_.getMenuItemCount() - 1);\n break;\n case _constants__WEBPACK_IMPORTED_MODULE_4__[\"DefaultFocusState\"].NONE:\n // Do nothing.\n break;\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 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 MDCMenuFoundation.prototype.handleSelectionGroup_ = function (selectionGroup, index) {\n // De-select the previous selection in this group.\n var selectedIndex = this.adapter_.getSelectedElementIndex(selectionGroup);\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 }\n // Select the new list item in this group.\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 MDCMenuFoundation.prototype.getSelectionGroup_ = function (listItem) {\n var parent = this.adapter_.getParentElement(listItem);\n if (!parent) {\n return null;\n }\n var isGroup = this.adapter_.elementContainsClass(parent, _constants__WEBPACK_IMPORTED_MODULE_4__[\"cssClasses\"].MENU_SELECTION_GROUP);\n // Iterate through ancestors until we find the group or get to the list.\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 if (isGroup) {\n return parent;\n }\n else {\n return null;\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/* harmony default export */ __webpack_exports__[\"default\"] = (MDCMenuFoundation);\n//# sourceMappingURL=foundation.js.map\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, 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 _foundation__WEBPACK_IMPORTED_MODULE_2__ = __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_2__[\"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//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack:///./node_modules/@material/menu/index.js?"); - -/***/ }), - -/***/ "./node_modules/@material/ripple/component.js": -/*!****************************************************!*\ - !*** ./node_modules/@material/ripple/component.js ***! - \****************************************************/ +/***/ "./node_modules/_@material_ripple@2.3.0@@material/ripple/component.js": +/*!****************************************************************************!*\ + !*** ./node_modules/_@material_ripple@2.3.0@@material/ripple/component.js ***! + \****************************************************************************/ /*! exports provided: MDCRipple */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCRipple\", function() { return MDCRipple; });\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 _foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation */ \"./node_modules/@material/ripple/foundation.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ \"./node_modules/@material/ripple/util.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\n\n\nvar MDCRipple = /** @class */ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCRipple, _super);\n function MDCRipple() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.disabled = false;\n return _this;\n }\n MDCRipple.attachTo = function (root, opts) {\n if (opts === void 0) { opts = { isUnbounded: undefined }; }\n var ripple = new MDCRipple(root);\n // Only override unbounded behavior if option is explicitly specified\n if (opts.isUnbounded !== undefined) {\n ripple.unbounded = opts.isUnbounded;\n }\n return ripple;\n };\n MDCRipple.createAdapter = function (instance) {\n return {\n addClass: function (className) { return instance.root_.classList.add(className); },\n browserSupportsCssVars: function () { return _util__WEBPACK_IMPORTED_MODULE_4__[\"supportsCssVariables\"](window); },\n computeBoundingRect: function () { return instance.root_.getBoundingClientRect(); },\n containsEventTarget: function (target) { return instance.root_.contains(target); },\n deregisterDocumentInteractionHandler: function (evtType, handler) {\n return document.documentElement.removeEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_4__[\"applyPassive\"]());\n },\n deregisterInteractionHandler: function (evtType, handler) {\n return instance.root_.removeEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_4__[\"applyPassive\"]());\n },\n deregisterResizeHandler: function (handler) { return window.removeEventListener('resize', handler); },\n getWindowPageOffset: function () { return ({ x: window.pageXOffset, y: window.pageYOffset }); },\n isSurfaceActive: function () { return Object(_material_dom_ponyfill__WEBPACK_IMPORTED_MODULE_2__[\"matches\"])(instance.root_, ':active'); },\n isSurfaceDisabled: function () { return Boolean(instance.disabled); },\n isUnbounded: function () { return Boolean(instance.unbounded); },\n registerDocumentInteractionHandler: function (evtType, handler) {\n return document.documentElement.addEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_4__[\"applyPassive\"]());\n },\n registerInteractionHandler: function (evtType, handler) {\n return instance.root_.addEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_4__[\"applyPassive\"]());\n },\n registerResizeHandler: function (handler) { return window.addEventListener('resize', handler); },\n removeClass: function (className) { return instance.root_.classList.remove(className); },\n updateCssVariable: function (varName, value) { return instance.root_.style.setProperty(varName, value); },\n };\n };\n Object.defineProperty(MDCRipple.prototype, \"unbounded\", {\n get: function () {\n return Boolean(this.unbounded_);\n },\n set: function (unbounded) {\n this.unbounded_ = Boolean(unbounded);\n this.setUnbounded_();\n },\n enumerable: true,\n configurable: true\n });\n MDCRipple.prototype.activate = function () {\n this.foundation_.activate();\n };\n MDCRipple.prototype.deactivate = function () {\n this.foundation_.deactivate();\n };\n MDCRipple.prototype.layout = function () {\n this.foundation_.layout();\n };\n MDCRipple.prototype.getDefaultFoundation = function () {\n return new _foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCRippleFoundation\"](MDCRipple.createAdapter(this));\n };\n MDCRipple.prototype.initialSyncWithDOM = function () {\n var root = this.root_;\n this.unbounded = 'mdcRippleIsUnbounded' in root.dataset;\n };\n /**\n * Closure Compiler throws an access control error when directly accessing a\n * protected or private property inside a getter/setter, like unbounded above.\n * By accessing the protected property inside a method, we solve that problem.\n * That's why this function exists.\n */\n MDCRipple.prototype.setUnbounded_ = function () {\n this.foundation_.setUnbounded(Boolean(this.unbounded_));\n };\n return MDCRipple;\n}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__[\"MDCComponent\"]));\n\n//# sourceMappingURL=component.js.map\n\n//# sourceURL=webpack:///./node_modules/@material/ripple/component.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCRipple\", function() { return MDCRipple; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/_tslib@1.10.0@tslib/tslib.es6.js\");\n/* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/component */ \"./node_modules/_@material_base@1.0.0@@material/base/component.js\");\n/* harmony import */ var _material_dom_ponyfill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/dom/ponyfill */ \"./node_modules/_@material_dom@1.1.0@@material/dom/ponyfill.js\");\n/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation */ \"./node_modules/_@material_ripple@2.3.0@@material/ripple/foundation.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ \"./node_modules/_@material_ripple@2.3.0@@material/ripple/util.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\n\n\nvar MDCRipple = /** @class */ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCRipple, _super);\n function MDCRipple() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.disabled = false;\n return _this;\n }\n MDCRipple.attachTo = function (root, opts) {\n if (opts === void 0) { opts = { isUnbounded: undefined }; }\n var ripple = new MDCRipple(root);\n // Only override unbounded behavior if option is explicitly specified\n if (opts.isUnbounded !== undefined) {\n ripple.unbounded = opts.isUnbounded;\n }\n return ripple;\n };\n MDCRipple.createAdapter = function (instance) {\n return {\n addClass: function (className) { return instance.root_.classList.add(className); },\n browserSupportsCssVars: function () { return _util__WEBPACK_IMPORTED_MODULE_4__[\"supportsCssVariables\"](window); },\n computeBoundingRect: function () { return instance.root_.getBoundingClientRect(); },\n containsEventTarget: function (target) { return instance.root_.contains(target); },\n deregisterDocumentInteractionHandler: function (evtType, handler) {\n return document.documentElement.removeEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_4__[\"applyPassive\"]());\n },\n deregisterInteractionHandler: function (evtType, handler) {\n return instance.root_.removeEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_4__[\"applyPassive\"]());\n },\n deregisterResizeHandler: function (handler) { return window.removeEventListener('resize', handler); },\n getWindowPageOffset: function () { return ({ x: window.pageXOffset, y: window.pageYOffset }); },\n isSurfaceActive: function () { return Object(_material_dom_ponyfill__WEBPACK_IMPORTED_MODULE_2__[\"matches\"])(instance.root_, ':active'); },\n isSurfaceDisabled: function () { return Boolean(instance.disabled); },\n isUnbounded: function () { return Boolean(instance.unbounded); },\n registerDocumentInteractionHandler: function (evtType, handler) {\n return document.documentElement.addEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_4__[\"applyPassive\"]());\n },\n registerInteractionHandler: function (evtType, handler) {\n return instance.root_.addEventListener(evtType, handler, _util__WEBPACK_IMPORTED_MODULE_4__[\"applyPassive\"]());\n },\n registerResizeHandler: function (handler) { return window.addEventListener('resize', handler); },\n removeClass: function (className) { return instance.root_.classList.remove(className); },\n updateCssVariable: function (varName, value) { return instance.root_.style.setProperty(varName, value); },\n };\n };\n Object.defineProperty(MDCRipple.prototype, \"unbounded\", {\n get: function () {\n return Boolean(this.unbounded_);\n },\n set: function (unbounded) {\n this.unbounded_ = Boolean(unbounded);\n this.setUnbounded_();\n },\n enumerable: true,\n configurable: true\n });\n MDCRipple.prototype.activate = function () {\n this.foundation_.activate();\n };\n MDCRipple.prototype.deactivate = function () {\n this.foundation_.deactivate();\n };\n MDCRipple.prototype.layout = function () {\n this.foundation_.layout();\n };\n MDCRipple.prototype.getDefaultFoundation = function () {\n return new _foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCRippleFoundation\"](MDCRipple.createAdapter(this));\n };\n MDCRipple.prototype.initialSyncWithDOM = function () {\n var root = this.root_;\n this.unbounded = 'mdcRippleIsUnbounded' in root.dataset;\n };\n /**\n * Closure Compiler throws an access control error when directly accessing a\n * protected or private property inside a getter/setter, like unbounded above.\n * By accessing the protected property inside a method, we solve that problem.\n * That's why this function exists.\n */\n MDCRipple.prototype.setUnbounded_ = function () {\n this.foundation_.setUnbounded(Boolean(this.unbounded_));\n };\n return MDCRipple;\n}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__[\"MDCComponent\"]));\n\n//# sourceMappingURL=component.js.map\n\n//# sourceURL=webpack:///./node_modules/_@material_ripple@2.3.0@@material/ripple/component.js?"); /***/ }), -/***/ "./node_modules/@material/ripple/constants.js": -/*!****************************************************!*\ - !*** ./node_modules/@material/ripple/constants.js ***! - \****************************************************/ +/***/ "./node_modules/_@material_ripple@2.3.0@@material/ripple/constants.js": +/*!****************************************************************************!*\ + !*** ./node_modules/_@material_ripple@2.3.0@@material/ripple/constants.js ***! + \****************************************************************************/ /*! exports provided: cssClasses, strings, numbers */ /***/ (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/**\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 cssClasses = {\n // Ripple is a special case where the \"root\" component is really a \"mixin\" of sorts,\n // given that it's an 'upgrade' to an existing component. That being said it is the root\n // CSS class that all other CSS classes derive from.\n BG_FOCUSED: 'mdc-ripple-upgraded--background-focused',\n FG_ACTIVATION: 'mdc-ripple-upgraded--foreground-activation',\n FG_DEACTIVATION: 'mdc-ripple-upgraded--foreground-deactivation',\n ROOT: 'mdc-ripple-upgraded',\n UNBOUNDED: 'mdc-ripple-upgraded--unbounded',\n};\nvar strings = {\n VAR_FG_SCALE: '--mdc-ripple-fg-scale',\n VAR_FG_SIZE: '--mdc-ripple-fg-size',\n VAR_FG_TRANSLATE_END: '--mdc-ripple-fg-translate-end',\n VAR_FG_TRANSLATE_START: '--mdc-ripple-fg-translate-start',\n VAR_LEFT: '--mdc-ripple-left',\n VAR_TOP: '--mdc-ripple-top',\n};\nvar numbers = {\n DEACTIVATION_TIMEOUT_MS: 225,\n FG_DEACTIVATION_MS: 150,\n INITIAL_ORIGIN_SCALE: 0.6,\n PADDING: 10,\n TAP_DELAY_MS: 300,\n};\n//# sourceMappingURL=constants.js.map\n\n//# sourceURL=webpack:///./node_modules/@material/ripple/constants.js?"); +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/**\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 cssClasses = {\n // Ripple is a special case where the \"root\" component is really a \"mixin\" of sorts,\n // given that it's an 'upgrade' to an existing component. That being said it is the root\n // CSS class that all other CSS classes derive from.\n BG_FOCUSED: 'mdc-ripple-upgraded--background-focused',\n FG_ACTIVATION: 'mdc-ripple-upgraded--foreground-activation',\n FG_DEACTIVATION: 'mdc-ripple-upgraded--foreground-deactivation',\n ROOT: 'mdc-ripple-upgraded',\n UNBOUNDED: 'mdc-ripple-upgraded--unbounded',\n};\nvar strings = {\n VAR_FG_SCALE: '--mdc-ripple-fg-scale',\n VAR_FG_SIZE: '--mdc-ripple-fg-size',\n VAR_FG_TRANSLATE_END: '--mdc-ripple-fg-translate-end',\n VAR_FG_TRANSLATE_START: '--mdc-ripple-fg-translate-start',\n VAR_LEFT: '--mdc-ripple-left',\n VAR_TOP: '--mdc-ripple-top',\n};\nvar numbers = {\n DEACTIVATION_TIMEOUT_MS: 225,\n FG_DEACTIVATION_MS: 150,\n INITIAL_ORIGIN_SCALE: 0.6,\n PADDING: 10,\n TAP_DELAY_MS: 300,\n};\n//# sourceMappingURL=constants.js.map\n\n//# sourceURL=webpack:///./node_modules/_@material_ripple@2.3.0@@material/ripple/constants.js?"); /***/ }), -/***/ "./node_modules/@material/ripple/foundation.js": -/*!*****************************************************!*\ - !*** ./node_modules/@material/ripple/foundation.js ***! - \*****************************************************/ +/***/ "./node_modules/_@material_ripple@2.3.0@@material/ripple/foundation.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/_@material_ripple@2.3.0@@material/ripple/foundation.js ***! + \*****************************************************************************/ /*! exports provided: MDCRippleFoundation, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCRippleFoundation\", function() { return MDCRippleFoundation; });\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/ripple/constants.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util */ \"./node_modules/@material/ripple/util.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\n\n// Activation events registered on the root element of each instance for activation\nvar ACTIVATION_EVENT_TYPES = [\n 'touchstart', 'pointerdown', 'mousedown', 'keydown',\n];\n// Deactivation events registered on documentElement when a pointer-related down event occurs\nvar POINTER_DEACTIVATION_EVENT_TYPES = [\n 'touchend', 'pointerup', 'mouseup', 'contextmenu',\n];\n// simultaneous nested activations\nvar activatedTargets = [];\nvar MDCRippleFoundation = /** @class */ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCRippleFoundation, _super);\n function MDCRippleFoundation(adapter) {\n var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"]({}, MDCRippleFoundation.defaultAdapter, adapter)) || this;\n _this.activationAnimationHasEnded_ = false;\n _this.activationTimer_ = 0;\n _this.fgDeactivationRemovalTimer_ = 0;\n _this.fgScale_ = '0';\n _this.frame_ = { width: 0, height: 0 };\n _this.initialSize_ = 0;\n _this.layoutFrame_ = 0;\n _this.maxRadius_ = 0;\n _this.unboundedCoords_ = { left: 0, top: 0 };\n _this.activationState_ = _this.defaultActivationState_();\n _this.activationTimerCallback_ = function () {\n _this.activationAnimationHasEnded_ = true;\n _this.runDeactivationUXLogicIfReady_();\n };\n _this.activateHandler_ = function (e) { return _this.activate_(e); };\n _this.deactivateHandler_ = function () { return _this.deactivate_(); };\n _this.focusHandler_ = function () { return _this.handleFocus(); };\n _this.blurHandler_ = function () { return _this.handleBlur(); };\n _this.resizeHandler_ = function () { return _this.layout(); };\n return _this;\n }\n Object.defineProperty(MDCRippleFoundation, \"cssClasses\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"strings\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"numbers\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () { return undefined; },\n browserSupportsCssVars: function () { return true; },\n computeBoundingRect: function () { return ({ top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 }); },\n containsEventTarget: function () { return true; },\n deregisterDocumentInteractionHandler: function () { return undefined; },\n deregisterInteractionHandler: function () { return undefined; },\n deregisterResizeHandler: function () { return undefined; },\n getWindowPageOffset: function () { return ({ x: 0, y: 0 }); },\n isSurfaceActive: function () { return true; },\n isSurfaceDisabled: function () { return true; },\n isUnbounded: function () { return true; },\n registerDocumentInteractionHandler: function () { return undefined; },\n registerInteractionHandler: function () { return undefined; },\n registerResizeHandler: function () { return undefined; },\n removeClass: function () { return undefined; },\n updateCssVariable: function () { return undefined; },\n };\n },\n enumerable: true,\n configurable: true\n });\n MDCRippleFoundation.prototype.init = function () {\n var _this = this;\n var supportsPressRipple = this.supportsPressRipple_();\n this.registerRootHandlers_(supportsPressRipple);\n if (supportsPressRipple) {\n var _a = MDCRippleFoundation.cssClasses, ROOT_1 = _a.ROOT, UNBOUNDED_1 = _a.UNBOUNDED;\n requestAnimationFrame(function () {\n _this.adapter_.addClass(ROOT_1);\n if (_this.adapter_.isUnbounded()) {\n _this.adapter_.addClass(UNBOUNDED_1);\n // Unbounded ripples need layout logic applied immediately to set coordinates for both shade and ripple\n _this.layoutInternal_();\n }\n });\n }\n };\n MDCRippleFoundation.prototype.destroy = function () {\n var _this = this;\n if (this.supportsPressRipple_()) {\n if (this.activationTimer_) {\n clearTimeout(this.activationTimer_);\n this.activationTimer_ = 0;\n this.adapter_.removeClass(MDCRippleFoundation.cssClasses.FG_ACTIVATION);\n }\n if (this.fgDeactivationRemovalTimer_) {\n clearTimeout(this.fgDeactivationRemovalTimer_);\n this.fgDeactivationRemovalTimer_ = 0;\n this.adapter_.removeClass(MDCRippleFoundation.cssClasses.FG_DEACTIVATION);\n }\n var _a = MDCRippleFoundation.cssClasses, ROOT_2 = _a.ROOT, UNBOUNDED_2 = _a.UNBOUNDED;\n requestAnimationFrame(function () {\n _this.adapter_.removeClass(ROOT_2);\n _this.adapter_.removeClass(UNBOUNDED_2);\n _this.removeCssVars_();\n });\n }\n this.deregisterRootHandlers_();\n this.deregisterDeactivationHandlers_();\n };\n /**\n * @param evt Optional event containing position information.\n */\n MDCRippleFoundation.prototype.activate = function (evt) {\n this.activate_(evt);\n };\n MDCRippleFoundation.prototype.deactivate = function () {\n this.deactivate_();\n };\n MDCRippleFoundation.prototype.layout = function () {\n var _this = this;\n if (this.layoutFrame_) {\n cancelAnimationFrame(this.layoutFrame_);\n }\n this.layoutFrame_ = requestAnimationFrame(function () {\n _this.layoutInternal_();\n _this.layoutFrame_ = 0;\n });\n };\n MDCRippleFoundation.prototype.setUnbounded = function (unbounded) {\n var UNBOUNDED = MDCRippleFoundation.cssClasses.UNBOUNDED;\n if (unbounded) {\n this.adapter_.addClass(UNBOUNDED);\n }\n else {\n this.adapter_.removeClass(UNBOUNDED);\n }\n };\n MDCRippleFoundation.prototype.handleFocus = function () {\n var _this = this;\n requestAnimationFrame(function () {\n return _this.adapter_.addClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);\n });\n };\n MDCRippleFoundation.prototype.handleBlur = function () {\n var _this = this;\n requestAnimationFrame(function () {\n return _this.adapter_.removeClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);\n });\n };\n /**\n * We compute this property so that we are not querying information about the client\n * until the point in time where the foundation requests it. This prevents scenarios where\n * client-side feature-detection may happen too early, such as when components are rendered on the server\n * and then initialized at mount time on the client.\n */\n MDCRippleFoundation.prototype.supportsPressRipple_ = function () {\n return this.adapter_.browserSupportsCssVars();\n };\n MDCRippleFoundation.prototype.defaultActivationState_ = function () {\n return {\n activationEvent: undefined,\n hasDeactivationUXRun: false,\n isActivated: false,\n isProgrammatic: false,\n wasActivatedByPointer: false,\n wasElementMadeActive: false,\n };\n };\n /**\n * supportsPressRipple Passed from init to save a redundant function call\n */\n MDCRippleFoundation.prototype.registerRootHandlers_ = function (supportsPressRipple) {\n var _this = this;\n if (supportsPressRipple) {\n ACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.registerInteractionHandler(evtType, _this.activateHandler_);\n });\n if (this.adapter_.isUnbounded()) {\n this.adapter_.registerResizeHandler(this.resizeHandler_);\n }\n }\n this.adapter_.registerInteractionHandler('focus', this.focusHandler_);\n this.adapter_.registerInteractionHandler('blur', this.blurHandler_);\n };\n MDCRippleFoundation.prototype.registerDeactivationHandlers_ = function (evt) {\n var _this = this;\n if (evt.type === 'keydown') {\n this.adapter_.registerInteractionHandler('keyup', this.deactivateHandler_);\n }\n else {\n POINTER_DEACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.registerDocumentInteractionHandler(evtType, _this.deactivateHandler_);\n });\n }\n };\n MDCRippleFoundation.prototype.deregisterRootHandlers_ = function () {\n var _this = this;\n ACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.deregisterInteractionHandler(evtType, _this.activateHandler_);\n });\n this.adapter_.deregisterInteractionHandler('focus', this.focusHandler_);\n this.adapter_.deregisterInteractionHandler('blur', this.blurHandler_);\n if (this.adapter_.isUnbounded()) {\n this.adapter_.deregisterResizeHandler(this.resizeHandler_);\n }\n };\n MDCRippleFoundation.prototype.deregisterDeactivationHandlers_ = function () {\n var _this = this;\n this.adapter_.deregisterInteractionHandler('keyup', this.deactivateHandler_);\n POINTER_DEACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.deregisterDocumentInteractionHandler(evtType, _this.deactivateHandler_);\n });\n };\n MDCRippleFoundation.prototype.removeCssVars_ = function () {\n var _this = this;\n var rippleStrings = MDCRippleFoundation.strings;\n var keys = Object.keys(rippleStrings);\n keys.forEach(function (key) {\n if (key.indexOf('VAR_') === 0) {\n _this.adapter_.updateCssVariable(rippleStrings[key], null);\n }\n });\n };\n MDCRippleFoundation.prototype.activate_ = function (evt) {\n var _this = this;\n if (this.adapter_.isSurfaceDisabled()) {\n return;\n }\n var activationState = this.activationState_;\n if (activationState.isActivated) {\n return;\n }\n // Avoid reacting to follow-on events fired by touch device after an already-processed user interaction\n var previousActivationEvent = this.previousActivationEvent_;\n var isSameInteraction = previousActivationEvent && evt !== undefined && previousActivationEvent.type !== evt.type;\n if (isSameInteraction) {\n return;\n }\n activationState.isActivated = true;\n activationState.isProgrammatic = evt === undefined;\n activationState.activationEvent = evt;\n activationState.wasActivatedByPointer = activationState.isProgrammatic ? false : evt !== undefined && (evt.type === 'mousedown' || evt.type === 'touchstart' || evt.type === 'pointerdown');\n var hasActivatedChild = evt !== undefined && activatedTargets.length > 0 && activatedTargets.some(function (target) { return _this.adapter_.containsEventTarget(target); });\n if (hasActivatedChild) {\n // Immediately reset activation state, while preserving logic that prevents touch follow-on events\n this.resetActivationState_();\n return;\n }\n if (evt !== undefined) {\n activatedTargets.push(evt.target);\n this.registerDeactivationHandlers_(evt);\n }\n activationState.wasElementMadeActive = this.checkElementMadeActive_(evt);\n if (activationState.wasElementMadeActive) {\n this.animateActivation_();\n }\n requestAnimationFrame(function () {\n // Reset array on next frame after the current event has had a chance to bubble to prevent ancestor ripples\n activatedTargets = [];\n if (!activationState.wasElementMadeActive\n && evt !== undefined\n && (evt.key === ' ' || evt.keyCode === 32)) {\n // If space was pressed, try again within an rAF call to detect :active, because different UAs report\n // active states inconsistently when they're called within event handling code:\n // - https://bugs.chromium.org/p/chromium/issues/detail?id=635971\n // - https://bugzilla.mozilla.org/show_bug.cgi?id=1293741\n // We try first outside rAF to support Edge, which does not exhibit this problem, but will crash if a CSS\n // variable is set within a rAF callback for a submit button interaction (#2241).\n activationState.wasElementMadeActive = _this.checkElementMadeActive_(evt);\n if (activationState.wasElementMadeActive) {\n _this.animateActivation_();\n }\n }\n if (!activationState.wasElementMadeActive) {\n // Reset activation state immediately if element was not made active.\n _this.activationState_ = _this.defaultActivationState_();\n }\n });\n };\n MDCRippleFoundation.prototype.checkElementMadeActive_ = function (evt) {\n return (evt !== undefined && evt.type === 'keydown') ? this.adapter_.isSurfaceActive() : true;\n };\n MDCRippleFoundation.prototype.animateActivation_ = function () {\n var _this = this;\n var _a = MDCRippleFoundation.strings, VAR_FG_TRANSLATE_START = _a.VAR_FG_TRANSLATE_START, VAR_FG_TRANSLATE_END = _a.VAR_FG_TRANSLATE_END;\n var _b = MDCRippleFoundation.cssClasses, FG_DEACTIVATION = _b.FG_DEACTIVATION, FG_ACTIVATION = _b.FG_ACTIVATION;\n var DEACTIVATION_TIMEOUT_MS = MDCRippleFoundation.numbers.DEACTIVATION_TIMEOUT_MS;\n this.layoutInternal_();\n var translateStart = '';\n var translateEnd = '';\n if (!this.adapter_.isUnbounded()) {\n var _c = this.getFgTranslationCoordinates_(), startPoint = _c.startPoint, endPoint = _c.endPoint;\n translateStart = startPoint.x + \"px, \" + startPoint.y + \"px\";\n translateEnd = endPoint.x + \"px, \" + endPoint.y + \"px\";\n }\n this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_START, translateStart);\n this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_END, translateEnd);\n // Cancel any ongoing activation/deactivation animations\n clearTimeout(this.activationTimer_);\n clearTimeout(this.fgDeactivationRemovalTimer_);\n this.rmBoundedActivationClasses_();\n this.adapter_.removeClass(FG_DEACTIVATION);\n // Force layout in order to re-trigger the animation.\n this.adapter_.computeBoundingRect();\n this.adapter_.addClass(FG_ACTIVATION);\n this.activationTimer_ = setTimeout(function () { return _this.activationTimerCallback_(); }, DEACTIVATION_TIMEOUT_MS);\n };\n MDCRippleFoundation.prototype.getFgTranslationCoordinates_ = function () {\n var _a = this.activationState_, activationEvent = _a.activationEvent, wasActivatedByPointer = _a.wasActivatedByPointer;\n var startPoint;\n if (wasActivatedByPointer) {\n startPoint = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"getNormalizedEventCoords\"])(activationEvent, this.adapter_.getWindowPageOffset(), this.adapter_.computeBoundingRect());\n }\n else {\n startPoint = {\n x: this.frame_.width / 2,\n y: this.frame_.height / 2,\n };\n }\n // Center the element around the start point.\n startPoint = {\n x: startPoint.x - (this.initialSize_ / 2),\n y: startPoint.y - (this.initialSize_ / 2),\n };\n var endPoint = {\n x: (this.frame_.width / 2) - (this.initialSize_ / 2),\n y: (this.frame_.height / 2) - (this.initialSize_ / 2),\n };\n return { startPoint: startPoint, endPoint: endPoint };\n };\n MDCRippleFoundation.prototype.runDeactivationUXLogicIfReady_ = function () {\n var _this = this;\n // This method is called both when a pointing device is released, and when the activation animation ends.\n // The deactivation animation should only run after both of those occur.\n var FG_DEACTIVATION = MDCRippleFoundation.cssClasses.FG_DEACTIVATION;\n var _a = this.activationState_, hasDeactivationUXRun = _a.hasDeactivationUXRun, isActivated = _a.isActivated;\n var activationHasEnded = hasDeactivationUXRun || !isActivated;\n if (activationHasEnded && this.activationAnimationHasEnded_) {\n this.rmBoundedActivationClasses_();\n this.adapter_.addClass(FG_DEACTIVATION);\n this.fgDeactivationRemovalTimer_ = setTimeout(function () {\n _this.adapter_.removeClass(FG_DEACTIVATION);\n }, _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].FG_DEACTIVATION_MS);\n }\n };\n MDCRippleFoundation.prototype.rmBoundedActivationClasses_ = function () {\n var FG_ACTIVATION = MDCRippleFoundation.cssClasses.FG_ACTIVATION;\n this.adapter_.removeClass(FG_ACTIVATION);\n this.activationAnimationHasEnded_ = false;\n this.adapter_.computeBoundingRect();\n };\n MDCRippleFoundation.prototype.resetActivationState_ = function () {\n var _this = this;\n this.previousActivationEvent_ = this.activationState_.activationEvent;\n this.activationState_ = this.defaultActivationState_();\n // Touch devices may fire additional events for the same interaction within a short time.\n // Store the previous event until it's safe to assume that subsequent events are for new interactions.\n setTimeout(function () { return _this.previousActivationEvent_ = undefined; }, MDCRippleFoundation.numbers.TAP_DELAY_MS);\n };\n MDCRippleFoundation.prototype.deactivate_ = function () {\n var _this = this;\n var activationState = this.activationState_;\n // This can happen in scenarios such as when you have a keyup event that blurs the element.\n if (!activationState.isActivated) {\n return;\n }\n var state = tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"]({}, activationState);\n if (activationState.isProgrammatic) {\n requestAnimationFrame(function () { return _this.animateDeactivation_(state); });\n this.resetActivationState_();\n }\n else {\n this.deregisterDeactivationHandlers_();\n requestAnimationFrame(function () {\n _this.activationState_.hasDeactivationUXRun = true;\n _this.animateDeactivation_(state);\n _this.resetActivationState_();\n });\n }\n };\n MDCRippleFoundation.prototype.animateDeactivation_ = function (_a) {\n var wasActivatedByPointer = _a.wasActivatedByPointer, wasElementMadeActive = _a.wasElementMadeActive;\n if (wasActivatedByPointer || wasElementMadeActive) {\n this.runDeactivationUXLogicIfReady_();\n }\n };\n MDCRippleFoundation.prototype.layoutInternal_ = function () {\n var _this = this;\n this.frame_ = this.adapter_.computeBoundingRect();\n var maxDim = Math.max(this.frame_.height, this.frame_.width);\n // Surface diameter is treated differently for unbounded vs. bounded ripples.\n // Unbounded ripple diameter is calculated smaller since the surface is expected to already be padded appropriately\n // to extend the hitbox, and the ripple is expected to meet the edges of the padded hitbox (which is typically\n // square). Bounded ripples, on the other hand, are fully expected to expand beyond the surface's longest diameter\n // (calculated based on the diagonal plus a constant padding), and are clipped at the surface's border via\n // `overflow: hidden`.\n var getBoundedRadius = function () {\n var hypotenuse = Math.sqrt(Math.pow(_this.frame_.width, 2) + Math.pow(_this.frame_.height, 2));\n return hypotenuse + MDCRippleFoundation.numbers.PADDING;\n };\n this.maxRadius_ = this.adapter_.isUnbounded() ? maxDim : getBoundedRadius();\n // Ripple is sized as a fraction of the largest dimension of the surface, then scales up using a CSS scale transform\n this.initialSize_ = Math.floor(maxDim * MDCRippleFoundation.numbers.INITIAL_ORIGIN_SCALE);\n this.fgScale_ = \"\" + this.maxRadius_ / this.initialSize_;\n this.updateLayoutCssVars_();\n };\n MDCRippleFoundation.prototype.updateLayoutCssVars_ = function () {\n var _a = MDCRippleFoundation.strings, VAR_FG_SIZE = _a.VAR_FG_SIZE, VAR_LEFT = _a.VAR_LEFT, VAR_TOP = _a.VAR_TOP, VAR_FG_SCALE = _a.VAR_FG_SCALE;\n this.adapter_.updateCssVariable(VAR_FG_SIZE, this.initialSize_ + \"px\");\n this.adapter_.updateCssVariable(VAR_FG_SCALE, this.fgScale_);\n if (this.adapter_.isUnbounded()) {\n this.unboundedCoords_ = {\n left: Math.round((this.frame_.width / 2) - (this.initialSize_ / 2)),\n top: Math.round((this.frame_.height / 2) - (this.initialSize_ / 2)),\n };\n this.adapter_.updateCssVariable(VAR_LEFT, this.unboundedCoords_.left + \"px\");\n this.adapter_.updateCssVariable(VAR_TOP, this.unboundedCoords_.top + \"px\");\n }\n };\n return MDCRippleFoundation;\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/* harmony default export */ __webpack_exports__[\"default\"] = (MDCRippleFoundation);\n//# sourceMappingURL=foundation.js.map\n\n//# sourceURL=webpack:///./node_modules/@material/ripple/foundation.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MDCRippleFoundation\", function() { return MDCRippleFoundation; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"./node_modules/_tslib@1.10.0@tslib/tslib.es6.js\");\n/* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/foundation */ \"./node_modules/_@material_base@1.0.0@@material/base/foundation.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./node_modules/_@material_ripple@2.3.0@@material/ripple/constants.js\");\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./util */ \"./node_modules/_@material_ripple@2.3.0@@material/ripple/util.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\n\n// Activation events registered on the root element of each instance for activation\nvar ACTIVATION_EVENT_TYPES = [\n 'touchstart', 'pointerdown', 'mousedown', 'keydown',\n];\n// Deactivation events registered on documentElement when a pointer-related down event occurs\nvar POINTER_DEACTIVATION_EVENT_TYPES = [\n 'touchend', 'pointerup', 'mouseup', 'contextmenu',\n];\n// simultaneous nested activations\nvar activatedTargets = [];\nvar MDCRippleFoundation = /** @class */ (function (_super) {\n tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"](MDCRippleFoundation, _super);\n function MDCRippleFoundation(adapter) {\n var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"]({}, MDCRippleFoundation.defaultAdapter, adapter)) || this;\n _this.activationAnimationHasEnded_ = false;\n _this.activationTimer_ = 0;\n _this.fgDeactivationRemovalTimer_ = 0;\n _this.fgScale_ = '0';\n _this.frame_ = { width: 0, height: 0 };\n _this.initialSize_ = 0;\n _this.layoutFrame_ = 0;\n _this.maxRadius_ = 0;\n _this.unboundedCoords_ = { left: 0, top: 0 };\n _this.activationState_ = _this.defaultActivationState_();\n _this.activationTimerCallback_ = function () {\n _this.activationAnimationHasEnded_ = true;\n _this.runDeactivationUXLogicIfReady_();\n };\n _this.activateHandler_ = function (e) { return _this.activate_(e); };\n _this.deactivateHandler_ = function () { return _this.deactivate_(); };\n _this.focusHandler_ = function () { return _this.handleFocus(); };\n _this.blurHandler_ = function () { return _this.handleBlur(); };\n _this.resizeHandler_ = function () { return _this.layout(); };\n return _this;\n }\n Object.defineProperty(MDCRippleFoundation, \"cssClasses\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"cssClasses\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"strings\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"strings\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"numbers\", {\n get: function () {\n return _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCRippleFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () { return undefined; },\n browserSupportsCssVars: function () { return true; },\n computeBoundingRect: function () { return ({ top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 }); },\n containsEventTarget: function () { return true; },\n deregisterDocumentInteractionHandler: function () { return undefined; },\n deregisterInteractionHandler: function () { return undefined; },\n deregisterResizeHandler: function () { return undefined; },\n getWindowPageOffset: function () { return ({ x: 0, y: 0 }); },\n isSurfaceActive: function () { return true; },\n isSurfaceDisabled: function () { return true; },\n isUnbounded: function () { return true; },\n registerDocumentInteractionHandler: function () { return undefined; },\n registerInteractionHandler: function () { return undefined; },\n registerResizeHandler: function () { return undefined; },\n removeClass: function () { return undefined; },\n updateCssVariable: function () { return undefined; },\n };\n },\n enumerable: true,\n configurable: true\n });\n MDCRippleFoundation.prototype.init = function () {\n var _this = this;\n var supportsPressRipple = this.supportsPressRipple_();\n this.registerRootHandlers_(supportsPressRipple);\n if (supportsPressRipple) {\n var _a = MDCRippleFoundation.cssClasses, ROOT_1 = _a.ROOT, UNBOUNDED_1 = _a.UNBOUNDED;\n requestAnimationFrame(function () {\n _this.adapter_.addClass(ROOT_1);\n if (_this.adapter_.isUnbounded()) {\n _this.adapter_.addClass(UNBOUNDED_1);\n // Unbounded ripples need layout logic applied immediately to set coordinates for both shade and ripple\n _this.layoutInternal_();\n }\n });\n }\n };\n MDCRippleFoundation.prototype.destroy = function () {\n var _this = this;\n if (this.supportsPressRipple_()) {\n if (this.activationTimer_) {\n clearTimeout(this.activationTimer_);\n this.activationTimer_ = 0;\n this.adapter_.removeClass(MDCRippleFoundation.cssClasses.FG_ACTIVATION);\n }\n if (this.fgDeactivationRemovalTimer_) {\n clearTimeout(this.fgDeactivationRemovalTimer_);\n this.fgDeactivationRemovalTimer_ = 0;\n this.adapter_.removeClass(MDCRippleFoundation.cssClasses.FG_DEACTIVATION);\n }\n var _a = MDCRippleFoundation.cssClasses, ROOT_2 = _a.ROOT, UNBOUNDED_2 = _a.UNBOUNDED;\n requestAnimationFrame(function () {\n _this.adapter_.removeClass(ROOT_2);\n _this.adapter_.removeClass(UNBOUNDED_2);\n _this.removeCssVars_();\n });\n }\n this.deregisterRootHandlers_();\n this.deregisterDeactivationHandlers_();\n };\n /**\n * @param evt Optional event containing position information.\n */\n MDCRippleFoundation.prototype.activate = function (evt) {\n this.activate_(evt);\n };\n MDCRippleFoundation.prototype.deactivate = function () {\n this.deactivate_();\n };\n MDCRippleFoundation.prototype.layout = function () {\n var _this = this;\n if (this.layoutFrame_) {\n cancelAnimationFrame(this.layoutFrame_);\n }\n this.layoutFrame_ = requestAnimationFrame(function () {\n _this.layoutInternal_();\n _this.layoutFrame_ = 0;\n });\n };\n MDCRippleFoundation.prototype.setUnbounded = function (unbounded) {\n var UNBOUNDED = MDCRippleFoundation.cssClasses.UNBOUNDED;\n if (unbounded) {\n this.adapter_.addClass(UNBOUNDED);\n }\n else {\n this.adapter_.removeClass(UNBOUNDED);\n }\n };\n MDCRippleFoundation.prototype.handleFocus = function () {\n var _this = this;\n requestAnimationFrame(function () {\n return _this.adapter_.addClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);\n });\n };\n MDCRippleFoundation.prototype.handleBlur = function () {\n var _this = this;\n requestAnimationFrame(function () {\n return _this.adapter_.removeClass(MDCRippleFoundation.cssClasses.BG_FOCUSED);\n });\n };\n /**\n * We compute this property so that we are not querying information about the client\n * until the point in time where the foundation requests it. This prevents scenarios where\n * client-side feature-detection may happen too early, such as when components are rendered on the server\n * and then initialized at mount time on the client.\n */\n MDCRippleFoundation.prototype.supportsPressRipple_ = function () {\n return this.adapter_.browserSupportsCssVars();\n };\n MDCRippleFoundation.prototype.defaultActivationState_ = function () {\n return {\n activationEvent: undefined,\n hasDeactivationUXRun: false,\n isActivated: false,\n isProgrammatic: false,\n wasActivatedByPointer: false,\n wasElementMadeActive: false,\n };\n };\n /**\n * supportsPressRipple Passed from init to save a redundant function call\n */\n MDCRippleFoundation.prototype.registerRootHandlers_ = function (supportsPressRipple) {\n var _this = this;\n if (supportsPressRipple) {\n ACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.registerInteractionHandler(evtType, _this.activateHandler_);\n });\n if (this.adapter_.isUnbounded()) {\n this.adapter_.registerResizeHandler(this.resizeHandler_);\n }\n }\n this.adapter_.registerInteractionHandler('focus', this.focusHandler_);\n this.adapter_.registerInteractionHandler('blur', this.blurHandler_);\n };\n MDCRippleFoundation.prototype.registerDeactivationHandlers_ = function (evt) {\n var _this = this;\n if (evt.type === 'keydown') {\n this.adapter_.registerInteractionHandler('keyup', this.deactivateHandler_);\n }\n else {\n POINTER_DEACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.registerDocumentInteractionHandler(evtType, _this.deactivateHandler_);\n });\n }\n };\n MDCRippleFoundation.prototype.deregisterRootHandlers_ = function () {\n var _this = this;\n ACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.deregisterInteractionHandler(evtType, _this.activateHandler_);\n });\n this.adapter_.deregisterInteractionHandler('focus', this.focusHandler_);\n this.adapter_.deregisterInteractionHandler('blur', this.blurHandler_);\n if (this.adapter_.isUnbounded()) {\n this.adapter_.deregisterResizeHandler(this.resizeHandler_);\n }\n };\n MDCRippleFoundation.prototype.deregisterDeactivationHandlers_ = function () {\n var _this = this;\n this.adapter_.deregisterInteractionHandler('keyup', this.deactivateHandler_);\n POINTER_DEACTIVATION_EVENT_TYPES.forEach(function (evtType) {\n _this.adapter_.deregisterDocumentInteractionHandler(evtType, _this.deactivateHandler_);\n });\n };\n MDCRippleFoundation.prototype.removeCssVars_ = function () {\n var _this = this;\n var rippleStrings = MDCRippleFoundation.strings;\n var keys = Object.keys(rippleStrings);\n keys.forEach(function (key) {\n if (key.indexOf('VAR_') === 0) {\n _this.adapter_.updateCssVariable(rippleStrings[key], null);\n }\n });\n };\n MDCRippleFoundation.prototype.activate_ = function (evt) {\n var _this = this;\n if (this.adapter_.isSurfaceDisabled()) {\n return;\n }\n var activationState = this.activationState_;\n if (activationState.isActivated) {\n return;\n }\n // Avoid reacting to follow-on events fired by touch device after an already-processed user interaction\n var previousActivationEvent = this.previousActivationEvent_;\n var isSameInteraction = previousActivationEvent && evt !== undefined && previousActivationEvent.type !== evt.type;\n if (isSameInteraction) {\n return;\n }\n activationState.isActivated = true;\n activationState.isProgrammatic = evt === undefined;\n activationState.activationEvent = evt;\n activationState.wasActivatedByPointer = activationState.isProgrammatic ? false : evt !== undefined && (evt.type === 'mousedown' || evt.type === 'touchstart' || evt.type === 'pointerdown');\n var hasActivatedChild = evt !== undefined && activatedTargets.length > 0 && activatedTargets.some(function (target) { return _this.adapter_.containsEventTarget(target); });\n if (hasActivatedChild) {\n // Immediately reset activation state, while preserving logic that prevents touch follow-on events\n this.resetActivationState_();\n return;\n }\n if (evt !== undefined) {\n activatedTargets.push(evt.target);\n this.registerDeactivationHandlers_(evt);\n }\n activationState.wasElementMadeActive = this.checkElementMadeActive_(evt);\n if (activationState.wasElementMadeActive) {\n this.animateActivation_();\n }\n requestAnimationFrame(function () {\n // Reset array on next frame after the current event has had a chance to bubble to prevent ancestor ripples\n activatedTargets = [];\n if (!activationState.wasElementMadeActive\n && evt !== undefined\n && (evt.key === ' ' || evt.keyCode === 32)) {\n // If space was pressed, try again within an rAF call to detect :active, because different UAs report\n // active states inconsistently when they're called within event handling code:\n // - https://bugs.chromium.org/p/chromium/issues/detail?id=635971\n // - https://bugzilla.mozilla.org/show_bug.cgi?id=1293741\n // We try first outside rAF to support Edge, which does not exhibit this problem, but will crash if a CSS\n // variable is set within a rAF callback for a submit button interaction (#2241).\n activationState.wasElementMadeActive = _this.checkElementMadeActive_(evt);\n if (activationState.wasElementMadeActive) {\n _this.animateActivation_();\n }\n }\n if (!activationState.wasElementMadeActive) {\n // Reset activation state immediately if element was not made active.\n _this.activationState_ = _this.defaultActivationState_();\n }\n });\n };\n MDCRippleFoundation.prototype.checkElementMadeActive_ = function (evt) {\n return (evt !== undefined && evt.type === 'keydown') ? this.adapter_.isSurfaceActive() : true;\n };\n MDCRippleFoundation.prototype.animateActivation_ = function () {\n var _this = this;\n var _a = MDCRippleFoundation.strings, VAR_FG_TRANSLATE_START = _a.VAR_FG_TRANSLATE_START, VAR_FG_TRANSLATE_END = _a.VAR_FG_TRANSLATE_END;\n var _b = MDCRippleFoundation.cssClasses, FG_DEACTIVATION = _b.FG_DEACTIVATION, FG_ACTIVATION = _b.FG_ACTIVATION;\n var DEACTIVATION_TIMEOUT_MS = MDCRippleFoundation.numbers.DEACTIVATION_TIMEOUT_MS;\n this.layoutInternal_();\n var translateStart = '';\n var translateEnd = '';\n if (!this.adapter_.isUnbounded()) {\n var _c = this.getFgTranslationCoordinates_(), startPoint = _c.startPoint, endPoint = _c.endPoint;\n translateStart = startPoint.x + \"px, \" + startPoint.y + \"px\";\n translateEnd = endPoint.x + \"px, \" + endPoint.y + \"px\";\n }\n this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_START, translateStart);\n this.adapter_.updateCssVariable(VAR_FG_TRANSLATE_END, translateEnd);\n // Cancel any ongoing activation/deactivation animations\n clearTimeout(this.activationTimer_);\n clearTimeout(this.fgDeactivationRemovalTimer_);\n this.rmBoundedActivationClasses_();\n this.adapter_.removeClass(FG_DEACTIVATION);\n // Force layout in order to re-trigger the animation.\n this.adapter_.computeBoundingRect();\n this.adapter_.addClass(FG_ACTIVATION);\n this.activationTimer_ = setTimeout(function () { return _this.activationTimerCallback_(); }, DEACTIVATION_TIMEOUT_MS);\n };\n MDCRippleFoundation.prototype.getFgTranslationCoordinates_ = function () {\n var _a = this.activationState_, activationEvent = _a.activationEvent, wasActivatedByPointer = _a.wasActivatedByPointer;\n var startPoint;\n if (wasActivatedByPointer) {\n startPoint = Object(_util__WEBPACK_IMPORTED_MODULE_3__[\"getNormalizedEventCoords\"])(activationEvent, this.adapter_.getWindowPageOffset(), this.adapter_.computeBoundingRect());\n }\n else {\n startPoint = {\n x: this.frame_.width / 2,\n y: this.frame_.height / 2,\n };\n }\n // Center the element around the start point.\n startPoint = {\n x: startPoint.x - (this.initialSize_ / 2),\n y: startPoint.y - (this.initialSize_ / 2),\n };\n var endPoint = {\n x: (this.frame_.width / 2) - (this.initialSize_ / 2),\n y: (this.frame_.height / 2) - (this.initialSize_ / 2),\n };\n return { startPoint: startPoint, endPoint: endPoint };\n };\n MDCRippleFoundation.prototype.runDeactivationUXLogicIfReady_ = function () {\n var _this = this;\n // This method is called both when a pointing device is released, and when the activation animation ends.\n // The deactivation animation should only run after both of those occur.\n var FG_DEACTIVATION = MDCRippleFoundation.cssClasses.FG_DEACTIVATION;\n var _a = this.activationState_, hasDeactivationUXRun = _a.hasDeactivationUXRun, isActivated = _a.isActivated;\n var activationHasEnded = hasDeactivationUXRun || !isActivated;\n if (activationHasEnded && this.activationAnimationHasEnded_) {\n this.rmBoundedActivationClasses_();\n this.adapter_.addClass(FG_DEACTIVATION);\n this.fgDeactivationRemovalTimer_ = setTimeout(function () {\n _this.adapter_.removeClass(FG_DEACTIVATION);\n }, _constants__WEBPACK_IMPORTED_MODULE_2__[\"numbers\"].FG_DEACTIVATION_MS);\n }\n };\n MDCRippleFoundation.prototype.rmBoundedActivationClasses_ = function () {\n var FG_ACTIVATION = MDCRippleFoundation.cssClasses.FG_ACTIVATION;\n this.adapter_.removeClass(FG_ACTIVATION);\n this.activationAnimationHasEnded_ = false;\n this.adapter_.computeBoundingRect();\n };\n MDCRippleFoundation.prototype.resetActivationState_ = function () {\n var _this = this;\n this.previousActivationEvent_ = this.activationState_.activationEvent;\n this.activationState_ = this.defaultActivationState_();\n // Touch devices may fire additional events for the same interaction within a short time.\n // Store the previous event until it's safe to assume that subsequent events are for new interactions.\n setTimeout(function () { return _this.previousActivationEvent_ = undefined; }, MDCRippleFoundation.numbers.TAP_DELAY_MS);\n };\n MDCRippleFoundation.prototype.deactivate_ = function () {\n var _this = this;\n var activationState = this.activationState_;\n // This can happen in scenarios such as when you have a keyup event that blurs the element.\n if (!activationState.isActivated) {\n return;\n }\n var state = tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"]({}, activationState);\n if (activationState.isProgrammatic) {\n requestAnimationFrame(function () { return _this.animateDeactivation_(state); });\n this.resetActivationState_();\n }\n else {\n this.deregisterDeactivationHandlers_();\n requestAnimationFrame(function () {\n _this.activationState_.hasDeactivationUXRun = true;\n _this.animateDeactivation_(state);\n _this.resetActivationState_();\n });\n }\n };\n MDCRippleFoundation.prototype.animateDeactivation_ = function (_a) {\n var wasActivatedByPointer = _a.wasActivatedByPointer, wasElementMadeActive = _a.wasElementMadeActive;\n if (wasActivatedByPointer || wasElementMadeActive) {\n this.runDeactivationUXLogicIfReady_();\n }\n };\n MDCRippleFoundation.prototype.layoutInternal_ = function () {\n var _this = this;\n this.frame_ = this.adapter_.computeBoundingRect();\n var maxDim = Math.max(this.frame_.height, this.frame_.width);\n // Surface diameter is treated differently for unbounded vs. bounded ripples.\n // Unbounded ripple diameter is calculated smaller since the surface is expected to already be padded appropriately\n // to extend the hitbox, and the ripple is expected to meet the edges of the padded hitbox (which is typically\n // square). Bounded ripples, on the other hand, are fully expected to expand beyond the surface's longest diameter\n // (calculated based on the diagonal plus a constant padding), and are clipped at the surface's border via\n // `overflow: hidden`.\n var getBoundedRadius = function () {\n var hypotenuse = Math.sqrt(Math.pow(_this.frame_.width, 2) + Math.pow(_this.frame_.height, 2));\n return hypotenuse + MDCRippleFoundation.numbers.PADDING;\n };\n this.maxRadius_ = this.adapter_.isUnbounded() ? maxDim : getBoundedRadius();\n // Ripple is sized as a fraction of the largest dimension of the surface, then scales up using a CSS scale transform\n this.initialSize_ = Math.floor(maxDim * MDCRippleFoundation.numbers.INITIAL_ORIGIN_SCALE);\n this.fgScale_ = \"\" + this.maxRadius_ / this.initialSize_;\n this.updateLayoutCssVars_();\n };\n MDCRippleFoundation.prototype.updateLayoutCssVars_ = function () {\n var _a = MDCRippleFoundation.strings, VAR_FG_SIZE = _a.VAR_FG_SIZE, VAR_LEFT = _a.VAR_LEFT, VAR_TOP = _a.VAR_TOP, VAR_FG_SCALE = _a.VAR_FG_SCALE;\n this.adapter_.updateCssVariable(VAR_FG_SIZE, this.initialSize_ + \"px\");\n this.adapter_.updateCssVariable(VAR_FG_SCALE, this.fgScale_);\n if (this.adapter_.isUnbounded()) {\n this.unboundedCoords_ = {\n left: Math.round((this.frame_.width / 2) - (this.initialSize_ / 2)),\n top: Math.round((this.frame_.height / 2) - (this.initialSize_ / 2)),\n };\n this.adapter_.updateCssVariable(VAR_LEFT, this.unboundedCoords_.left + \"px\");\n this.adapter_.updateCssVariable(VAR_TOP, this.unboundedCoords_.top + \"px\");\n }\n };\n return MDCRippleFoundation;\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/* harmony default export */ __webpack_exports__[\"default\"] = (MDCRippleFoundation);\n//# sourceMappingURL=foundation.js.map\n\n//# sourceURL=webpack:///./node_modules/_@material_ripple@2.3.0@@material/ripple/foundation.js?"); /***/ }), -/***/ "./node_modules/@material/ripple/index.js": -/*!************************************************!*\ - !*** ./node_modules/@material/ripple/index.js ***! - \************************************************/ -/*! exports provided: util, MDCRipple, MDCRippleFoundation */ +/***/ "./node_modules/_@material_ripple@2.3.0@@material/ripple/index.js": +/*!************************************************************************!*\ + !*** ./node_modules/_@material_ripple@2.3.0@@material/ripple/index.js ***! + \************************************************************************/ +/*! exports provided: util, MDCRipple, cssClasses, strings, numbers, MDCRippleFoundation */ /***/ (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/ripple/util.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"util\", function() { return _util__WEBPACK_IMPORTED_MODULE_0__; });\n/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./component */ \"./node_modules/@material/ripple/component.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MDCRipple\", function() { return _component__WEBPACK_IMPORTED_MODULE_1__[\"MDCRipple\"]; });\n\n/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation */ \"./node_modules/@material/ripple/foundation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MDCRippleFoundation\", function() { return _foundation__WEBPACK_IMPORTED_MODULE_2__[\"MDCRippleFoundation\"]; });\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//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack:///./node_modules/@material/ripple/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./node_modules/_@material_ripple@2.3.0@@material/ripple/util.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"util\", function() { return _util__WEBPACK_IMPORTED_MODULE_0__; });\n/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./component */ \"./node_modules/_@material_ripple@2.3.0@@material/ripple/component.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MDCRipple\", function() { return _component__WEBPACK_IMPORTED_MODULE_1__[\"MDCRipple\"]; });\n\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ \"./node_modules/_@material_ripple@2.3.0@@material/ripple/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 import */ var _foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation */ \"./node_modules/_@material_ripple@2.3.0@@material/ripple/foundation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MDCRippleFoundation\", function() { return _foundation__WEBPACK_IMPORTED_MODULE_3__[\"MDCRippleFoundation\"]; });\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//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack:///./node_modules/_@material_ripple@2.3.0@@material/ripple/index.js?"); /***/ }), -/***/ "./node_modules/@material/ripple/util.js": -/*!***********************************************!*\ - !*** ./node_modules/@material/ripple/util.js ***! - \***********************************************/ +/***/ "./node_modules/_@material_ripple@2.3.0@@material/ripple/util.js": +/*!***********************************************************************!*\ + !*** ./node_modules/_@material_ripple@2.3.0@@material/ripple/util.js ***! + \***********************************************************************/ /*! exports provided: supportsCssVariables, applyPassive, getNormalizedEventCoords */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"supportsCssVariables\", function() { return supportsCssVariables; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyPassive\", function() { return applyPassive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNormalizedEventCoords\", function() { return getNormalizedEventCoords; });\n/**\n * Stores result from supportsCssVariables to avoid redundant processing to\n * detect CSS custom variable support.\n */\nvar supportsCssVariables_;\n/**\n * Stores result from applyPassive to avoid redundant processing to detect\n * passive event listener support.\n */\nvar supportsPassive_;\nfunction detectEdgePseudoVarBug(windowObj) {\n // Detect versions of Edge with buggy var() support\n // See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11495448/\n var document = windowObj.document;\n var node = document.createElement('div');\n node.className = 'mdc-ripple-surface--test-edge-var-bug';\n document.body.appendChild(node);\n // The bug exists if ::before style ends up propagating to the parent element.\n // Additionally, getComputedStyle returns null in iframes with display: \"none\" in Firefox,\n // but Firefox is known to support CSS custom properties correctly.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n var computedStyle = windowObj.getComputedStyle(node);\n var hasPseudoVarBug = computedStyle !== null && computedStyle.borderTopStyle === 'solid';\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n return hasPseudoVarBug;\n}\nfunction supportsCssVariables(windowObj, forceRefresh) {\n if (forceRefresh === void 0) { forceRefresh = false; }\n var CSS = windowObj.CSS;\n var supportsCssVars = supportsCssVariables_;\n if (typeof supportsCssVariables_ === 'boolean' && !forceRefresh) {\n return supportsCssVariables_;\n }\n var supportsFunctionPresent = CSS && typeof CSS.supports === 'function';\n if (!supportsFunctionPresent) {\n return false;\n }\n var explicitlySupportsCssVars = CSS.supports('--css-vars', 'yes');\n // See: https://bugs.webkit.org/show_bug.cgi?id=154669\n // See: README section on Safari\n var weAreFeatureDetectingSafari10plus = (CSS.supports('(--css-vars: yes)') &&\n CSS.supports('color', '#00000000'));\n if (explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus) {\n supportsCssVars = !detectEdgePseudoVarBug(windowObj);\n }\n else {\n supportsCssVars = false;\n }\n if (!forceRefresh) {\n supportsCssVariables_ = supportsCssVars;\n }\n return supportsCssVars;\n}\n/**\n * Determine whether the current browser supports passive event listeners, and\n * if so, use them.\n */\nfunction applyPassive(globalObj, forceRefresh) {\n if (globalObj === void 0) { globalObj = window; }\n if (forceRefresh === void 0) { forceRefresh = false; }\n if (supportsPassive_ === undefined || forceRefresh) {\n var isSupported_1 = false;\n try {\n globalObj.document.addEventListener('test', function () { return undefined; }, {\n get passive() {\n isSupported_1 = true;\n return isSupported_1;\n },\n });\n }\n catch (e) {\n } // tslint:disable-line:no-empty cannot throw error due to tests. tslint also disables console.log.\n supportsPassive_ = isSupported_1;\n }\n return supportsPassive_ ? { passive: true } : false;\n}\nfunction getNormalizedEventCoords(evt, pageOffset, clientRect) {\n if (!evt) {\n return { x: 0, y: 0 };\n }\n var x = pageOffset.x, y = pageOffset.y;\n var documentX = x + clientRect.left;\n var documentY = y + clientRect.top;\n var normalizedX;\n var normalizedY;\n // Determine touch point relative to the ripple container.\n if (evt.type === 'touchstart') {\n var touchEvent = evt;\n normalizedX = touchEvent.changedTouches[0].pageX - documentX;\n normalizedY = touchEvent.changedTouches[0].pageY - documentY;\n }\n else {\n var mouseEvent = evt;\n normalizedX = mouseEvent.pageX - documentX;\n normalizedY = mouseEvent.pageY - documentY;\n }\n return { x: normalizedX, y: normalizedY };\n}\n//# sourceMappingURL=util.js.map\n\n//# sourceURL=webpack:///./node_modules/@material/ripple/util.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"supportsCssVariables\", function() { return supportsCssVariables; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyPassive\", function() { return applyPassive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNormalizedEventCoords\", function() { return getNormalizedEventCoords; });\n/**\n * Stores result from supportsCssVariables to avoid redundant processing to\n * detect CSS custom variable support.\n */\nvar supportsCssVariables_;\n/**\n * Stores result from applyPassive to avoid redundant processing to detect\n * passive event listener support.\n */\nvar supportsPassive_;\nfunction detectEdgePseudoVarBug(windowObj) {\n // Detect versions of Edge with buggy var() support\n // See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11495448/\n var document = windowObj.document;\n var node = document.createElement('div');\n node.className = 'mdc-ripple-surface--test-edge-var-bug';\n document.body.appendChild(node);\n // The bug exists if ::before style ends up propagating to the parent element.\n // Additionally, getComputedStyle returns null in iframes with display: \"none\" in Firefox,\n // but Firefox is known to support CSS custom properties correctly.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n var computedStyle = windowObj.getComputedStyle(node);\n var hasPseudoVarBug = computedStyle !== null && computedStyle.borderTopStyle === 'solid';\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n return hasPseudoVarBug;\n}\nfunction supportsCssVariables(windowObj, forceRefresh) {\n if (forceRefresh === void 0) { forceRefresh = false; }\n var CSS = windowObj.CSS;\n var supportsCssVars = supportsCssVariables_;\n if (typeof supportsCssVariables_ === 'boolean' && !forceRefresh) {\n return supportsCssVariables_;\n }\n var supportsFunctionPresent = CSS && typeof CSS.supports === 'function';\n if (!supportsFunctionPresent) {\n return false;\n }\n var explicitlySupportsCssVars = CSS.supports('--css-vars', 'yes');\n // See: https://bugs.webkit.org/show_bug.cgi?id=154669\n // See: README section on Safari\n var weAreFeatureDetectingSafari10plus = (CSS.supports('(--css-vars: yes)') &&\n CSS.supports('color', '#00000000'));\n if (explicitlySupportsCssVars || weAreFeatureDetectingSafari10plus) {\n supportsCssVars = !detectEdgePseudoVarBug(windowObj);\n }\n else {\n supportsCssVars = false;\n }\n if (!forceRefresh) {\n supportsCssVariables_ = supportsCssVars;\n }\n return supportsCssVars;\n}\n/**\n * Determine whether the current browser supports passive event listeners, and\n * if so, use them.\n */\nfunction applyPassive(globalObj, forceRefresh) {\n if (globalObj === void 0) { globalObj = window; }\n if (forceRefresh === void 0) { forceRefresh = false; }\n if (supportsPassive_ === undefined || forceRefresh) {\n var isSupported_1 = false;\n try {\n globalObj.document.addEventListener('test', function () { return undefined; }, {\n get passive() {\n isSupported_1 = true;\n return isSupported_1;\n },\n });\n }\n catch (e) {\n } // tslint:disable-line:no-empty cannot throw error due to tests. tslint also disables console.log.\n supportsPassive_ = isSupported_1;\n }\n return supportsPassive_ ? { passive: true } : false;\n}\nfunction getNormalizedEventCoords(evt, pageOffset, clientRect) {\n if (!evt) {\n return { x: 0, y: 0 };\n }\n var x = pageOffset.x, y = pageOffset.y;\n var documentX = x + clientRect.left;\n var documentY = y + clientRect.top;\n var normalizedX;\n var normalizedY;\n // Determine touch point relative to the ripple container.\n if (evt.type === 'touchstart') {\n var touchEvent = evt;\n normalizedX = touchEvent.changedTouches[0].pageX - documentX;\n normalizedY = touchEvent.changedTouches[0].pageY - documentY;\n }\n else {\n var mouseEvent = evt;\n normalizedX = mouseEvent.pageX - documentX;\n normalizedY = mouseEvent.pageY - documentY;\n }\n return { x: normalizedX, y: normalizedY };\n}\n//# sourceMappingURL=util.js.map\n\n//# sourceURL=webpack:///./node_modules/_@material_ripple@2.3.0@@material/ripple/util.js?"); /***/ }), -/***/ "./node_modules/css-loader/index.js!./node_modules/sass-loader/lib/loader.js?!./src/button/index.scss": -/*!************************************************************************************************************!*\ - !*** ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js??ref--4-2!./src/button/index.scss ***! - \************************************************************************************************************/ +/***/ "./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/button/index.scss": +/*!*************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/_css-loader@1.0.1@css-loader!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./src/button/index.scss ***! + \*************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("exports = module.exports = __webpack_require__(/*! ../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \".mdc-button {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 0.875rem;\\n line-height: 2.25rem;\\n font-weight: 500;\\n letter-spacing: 0.08929em;\\n text-decoration: none;\\n text-transform: uppercase;\\n padding: 0 8px 0 8px;\\n display: inline-flex;\\n position: relative;\\n align-items: center;\\n justify-content: center;\\n box-sizing: border-box;\\n min-width: 64px;\\n height: 36px;\\n border: none;\\n outline: none;\\n /* @alternate */\\n line-height: inherit;\\n user-select: none;\\n -webkit-appearance: none;\\n overflow: hidden;\\n vertical-align: middle;\\n border-radius: 4px; }\\n .mdc-button::-moz-focus-inner {\\n padding: 0;\\n border: 0; }\\n .mdc-button:active {\\n outline: none; }\\n .mdc-button:hover {\\n cursor: pointer; }\\n .mdc-button:disabled {\\n background-color: transparent;\\n color: rgba(0, 0, 0, 0.37);\\n cursor: default;\\n pointer-events: none; }\\n .mdc-button.mdc-button--dense {\\n border-radius: 4px; }\\n .mdc-button:not(:disabled) {\\n background-color: transparent; }\\n .mdc-button .mdc-button__icon {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 8px;\\n display: inline-block;\\n width: 18px;\\n height: 18px;\\n font-size: 18px;\\n vertical-align: top; }\\n [dir=\\\"rtl\\\"] .mdc-button .mdc-button__icon, .mdc-button .mdc-button__icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n margin-left: 8px;\\n /* @noflip */\\n margin-right: 0; }\\n .mdc-button:not(:disabled) {\\n color: #0072d9;\\n /* @alternate */\\n color: var(--mdc-theme-primary, #0072d9); }\\n\\n.mdc-button__label + .mdc-button__icon {\\n /* @noflip */\\n margin-left: 8px;\\n /* @noflip */\\n margin-right: 0; }\\n [dir=\\\"rtl\\\"] .mdc-button__label + .mdc-button__icon, .mdc-button__label + .mdc-button__icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 8px; }\\n\\nsvg.mdc-button__icon {\\n fill: currentColor; }\\n\\n.mdc-button--raised .mdc-button__icon,\\n.mdc-button--unelevated .mdc-button__icon,\\n.mdc-button--outlined .mdc-button__icon {\\n /* @noflip */\\n margin-left: -4px;\\n /* @noflip */\\n margin-right: 8px; }\\n [dir=\\\"rtl\\\"] .mdc-button--raised .mdc-button__icon, .mdc-button--raised .mdc-button__icon[dir=\\\"rtl\\\"], [dir=\\\"rtl\\\"]\\n .mdc-button--unelevated .mdc-button__icon,\\n .mdc-button--unelevated .mdc-button__icon[dir=\\\"rtl\\\"], [dir=\\\"rtl\\\"]\\n .mdc-button--outlined .mdc-button__icon,\\n .mdc-button--outlined .mdc-button__icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n margin-left: 8px;\\n /* @noflip */\\n margin-right: -4px; }\\n\\n.mdc-button--raised .mdc-button__label + .mdc-button__icon,\\n.mdc-button--unelevated .mdc-button__label + .mdc-button__icon,\\n.mdc-button--outlined .mdc-button__label + .mdc-button__icon {\\n /* @noflip */\\n margin-left: 8px;\\n /* @noflip */\\n margin-right: -4px; }\\n [dir=\\\"rtl\\\"] .mdc-button--raised .mdc-button__label + .mdc-button__icon, .mdc-button--raised .mdc-button__label + .mdc-button__icon[dir=\\\"rtl\\\"], [dir=\\\"rtl\\\"]\\n .mdc-button--unelevated .mdc-button__label + .mdc-button__icon,\\n .mdc-button--unelevated .mdc-button__label + .mdc-button__icon[dir=\\\"rtl\\\"], [dir=\\\"rtl\\\"]\\n .mdc-button--outlined .mdc-button__label + .mdc-button__icon,\\n .mdc-button--outlined .mdc-button__label + .mdc-button__icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n margin-left: -4px;\\n /* @noflip */\\n margin-right: 8px; }\\n\\n.mdc-button--raised,\\n.mdc-button--unelevated {\\n padding: 0 16px 0 16px; }\\n .mdc-button--raised:disabled,\\n .mdc-button--unelevated:disabled {\\n background-color: rgba(0, 0, 0, 0.12);\\n color: rgba(0, 0, 0, 0.37); }\\n .mdc-button--raised:not(:disabled),\\n .mdc-button--unelevated:not(:disabled) {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n .mdc-button--raised:not(:disabled),\\n .mdc-button--unelevated:not(:disabled) {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n .mdc-button--raised:not(:disabled),\\n .mdc-button--unelevated:not(:disabled) {\\n color: #fff;\\n /* @alternate */\\n color: var(--mdc-theme-on-primary, #fff); }\\n\\n.mdc-button--raised {\\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); }\\n .mdc-button--raised:hover, .mdc-button--raised:focus {\\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\\n .mdc-button--raised:active {\\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n .mdc-button--raised:disabled {\\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\\n\\n.mdc-button--outlined {\\n border-style: solid;\\n padding: 0 15px 0 15px;\\n border-width: 1px; }\\n .mdc-button--outlined:disabled {\\n border-color: rgba(0, 0, 0, 0.37); }\\n .mdc-button--outlined:not(:disabled) {\\n border-color: #0072d9;\\n /* @alternate */\\n border-color: var(--mdc-theme-primary, #0072d9); }\\n\\n.mdc-button--dense {\\n height: 32px;\\n font-size: .8125rem; }\\n\\n@keyframes mdc-ripple-fg-radius-in {\\n from {\\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }\\n to {\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }\\n\\n@keyframes mdc-ripple-fg-opacity-in {\\n from {\\n animation-timing-function: linear;\\n opacity: 0; }\\n to {\\n opacity: var(--mdc-ripple-fg-opacity, 0); } }\\n\\n@keyframes mdc-ripple-fg-opacity-out {\\n from {\\n animation-timing-function: linear;\\n opacity: var(--mdc-ripple-fg-opacity, 0); }\\n to {\\n opacity: 0; } }\\n\\n.mdc-ripple-surface--test-edge-var-bug {\\n --mdc-ripple-surface-test-edge-var: 1px solid #000;\\n visibility: hidden; }\\n .mdc-ripple-surface--test-edge-var-bug::before {\\n border: var(--mdc-ripple-surface-test-edge-var); }\\n\\n.mdc-button {\\n --mdc-ripple-fg-size: 0;\\n --mdc-ripple-left: 0;\\n --mdc-ripple-top: 0;\\n --mdc-ripple-fg-scale: 1;\\n --mdc-ripple-fg-translate-end: 0;\\n --mdc-ripple-fg-translate-start: 0;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n will-change: transform, opacity; }\\n .mdc-button::before, .mdc-button::after {\\n position: absolute;\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n content: \\\"\\\"; }\\n .mdc-button::before {\\n transition: opacity 15ms linear, background-color 15ms linear;\\n z-index: 1; }\\n .mdc-button.mdc-ripple-upgraded::before {\\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\\n .mdc-button.mdc-ripple-upgraded::after {\\n top: 0;\\n /* @noflip */\\n left: 0;\\n transform: scale(0);\\n transform-origin: center center; }\\n .mdc-button.mdc-ripple-upgraded--unbounded::after {\\n top: var(--mdc-ripple-top, 0);\\n /* @noflip */\\n left: var(--mdc-ripple-left, 0); }\\n .mdc-button.mdc-ripple-upgraded--foreground-activation::after {\\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\\n .mdc-button.mdc-ripple-upgraded--foreground-deactivation::after {\\n animation: mdc-ripple-fg-opacity-out 150ms;\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\\n .mdc-button::before, .mdc-button::after {\\n top: calc(50% - 100%);\\n /* @noflip */\\n left: calc(50% - 100%);\\n width: 200%;\\n height: 200%; }\\n .mdc-button.mdc-ripple-upgraded::after {\\n width: var(--mdc-ripple-fg-size, 100%);\\n height: var(--mdc-ripple-fg-size, 100%); }\\n .mdc-button::before, .mdc-button::after {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n .mdc-button::before, .mdc-button::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n .mdc-button:hover::before {\\n opacity: 0.04; }\\n .mdc-button:not(.mdc-ripple-upgraded):focus::before, .mdc-button.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n .mdc-button:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n .mdc-button:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n .mdc-button.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.12; }\\n\\n.mdc-button--raised::before, .mdc-button--raised::after,\\n.mdc-button--unelevated::before,\\n.mdc-button--unelevated::after {\\n background-color: #fff; }\\n @supports not (-ms-ime-align: auto) {\\n .mdc-button--raised::before, .mdc-button--raised::after,\\n .mdc-button--unelevated::before,\\n .mdc-button--unelevated::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-on-primary, #fff); } }\\n\\n.mdc-button--raised:hover::before,\\n.mdc-button--unelevated:hover::before {\\n opacity: 0.08; }\\n\\n.mdc-button--raised:not(.mdc-ripple-upgraded):focus::before, .mdc-button--raised.mdc-ripple-upgraded--background-focused::before,\\n.mdc-button--unelevated:not(.mdc-ripple-upgraded):focus::before,\\n.mdc-button--unelevated.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n\\n.mdc-button--raised:not(.mdc-ripple-upgraded)::after,\\n.mdc-button--unelevated:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n\\n.mdc-button--raised:not(.mdc-ripple-upgraded):active::after,\\n.mdc-button--unelevated:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n\\n.mdc-button--raised.mdc-ripple-upgraded,\\n.mdc-button--unelevated.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.24; }\\n\\n.m-icon {\\n margin-right: 0.6em; }\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/button/index.scss?./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js??ref--4-2"); +eval("exports = module.exports = __webpack_require__(/*! ../../node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js */ \"./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \".mdc-button {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 0.875rem;\\n line-height: 2.25rem;\\n font-weight: 500;\\n letter-spacing: 0.08929em;\\n text-decoration: none;\\n text-transform: uppercase;\\n padding: 0 8px 0 8px;\\n display: inline-flex;\\n position: relative;\\n align-items: center;\\n justify-content: center;\\n box-sizing: border-box;\\n min-width: 64px;\\n height: 36px;\\n border: none;\\n outline: none;\\n /* @alternate */\\n line-height: inherit;\\n user-select: none;\\n -webkit-appearance: none;\\n overflow: hidden;\\n vertical-align: middle;\\n border-radius: 4px; }\\n .mdc-button::-moz-focus-inner {\\n padding: 0;\\n border: 0; }\\n .mdc-button:active {\\n outline: none; }\\n .mdc-button:hover {\\n cursor: pointer; }\\n .mdc-button:disabled {\\n background-color: transparent;\\n color: rgba(0, 0, 0, 0.37);\\n cursor: default;\\n pointer-events: none; }\\n .mdc-button.mdc-button--dense {\\n border-radius: 4px; }\\n .mdc-button:not(:disabled) {\\n background-color: transparent; }\\n .mdc-button .mdc-button__icon {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 8px;\\n display: inline-block;\\n width: 18px;\\n height: 18px;\\n font-size: 18px;\\n vertical-align: top; }\\n [dir=\\\"rtl\\\"] .mdc-button .mdc-button__icon, .mdc-button .mdc-button__icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n margin-left: 8px;\\n /* @noflip */\\n margin-right: 0; }\\n .mdc-button:not(:disabled) {\\n color: #0072d9;\\n /* @alternate */\\n color: var(--mdc-theme-primary, #0072d9); }\\n\\n.mdc-button__label + .mdc-button__icon {\\n /* @noflip */\\n margin-left: 8px;\\n /* @noflip */\\n margin-right: 0; }\\n [dir=\\\"rtl\\\"] .mdc-button__label + .mdc-button__icon, .mdc-button__label + .mdc-button__icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 8px; }\\n\\nsvg.mdc-button__icon {\\n fill: currentColor; }\\n\\n.mdc-button--raised .mdc-button__icon,\\n.mdc-button--unelevated .mdc-button__icon,\\n.mdc-button--outlined .mdc-button__icon {\\n /* @noflip */\\n margin-left: -4px;\\n /* @noflip */\\n margin-right: 8px; }\\n [dir=\\\"rtl\\\"] .mdc-button--raised .mdc-button__icon, .mdc-button--raised .mdc-button__icon[dir=\\\"rtl\\\"], [dir=\\\"rtl\\\"]\\n .mdc-button--unelevated .mdc-button__icon,\\n .mdc-button--unelevated .mdc-button__icon[dir=\\\"rtl\\\"], [dir=\\\"rtl\\\"]\\n .mdc-button--outlined .mdc-button__icon,\\n .mdc-button--outlined .mdc-button__icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n margin-left: 8px;\\n /* @noflip */\\n margin-right: -4px; }\\n\\n.mdc-button--raised .mdc-button__label + .mdc-button__icon,\\n.mdc-button--unelevated .mdc-button__label + .mdc-button__icon,\\n.mdc-button--outlined .mdc-button__label + .mdc-button__icon {\\n /* @noflip */\\n margin-left: 8px;\\n /* @noflip */\\n margin-right: -4px; }\\n [dir=\\\"rtl\\\"] .mdc-button--raised .mdc-button__label + .mdc-button__icon, .mdc-button--raised .mdc-button__label + .mdc-button__icon[dir=\\\"rtl\\\"], [dir=\\\"rtl\\\"]\\n .mdc-button--unelevated .mdc-button__label + .mdc-button__icon,\\n .mdc-button--unelevated .mdc-button__label + .mdc-button__icon[dir=\\\"rtl\\\"], [dir=\\\"rtl\\\"]\\n .mdc-button--outlined .mdc-button__label + .mdc-button__icon,\\n .mdc-button--outlined .mdc-button__label + .mdc-button__icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n margin-left: -4px;\\n /* @noflip */\\n margin-right: 8px; }\\n\\n.mdc-button--raised,\\n.mdc-button--unelevated {\\n padding: 0 16px 0 16px; }\\n .mdc-button--raised:disabled,\\n .mdc-button--unelevated:disabled {\\n background-color: rgba(0, 0, 0, 0.12);\\n color: rgba(0, 0, 0, 0.37); }\\n .mdc-button--raised:not(:disabled),\\n .mdc-button--unelevated:not(:disabled) {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n .mdc-button--raised:not(:disabled),\\n .mdc-button--unelevated:not(:disabled) {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n .mdc-button--raised:not(:disabled),\\n .mdc-button--unelevated:not(:disabled) {\\n color: #ffffff;\\n /* @alternate */\\n color: var(--mdc-theme-on-primary, #ffffff); }\\n\\n.mdc-button--raised {\\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); }\\n .mdc-button--raised:hover, .mdc-button--raised:focus {\\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\\n .mdc-button--raised:active {\\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n .mdc-button--raised:disabled {\\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\\n\\n.mdc-button--outlined {\\n border-style: solid;\\n padding: 0 15px 0 15px;\\n border-width: 1px; }\\n .mdc-button--outlined:disabled {\\n border-color: rgba(0, 0, 0, 0.37); }\\n .mdc-button--outlined:not(:disabled) {\\n border-color: #0072d9;\\n /* @alternate */\\n border-color: var(--mdc-theme-primary, #0072d9); }\\n\\n.mdc-button--dense {\\n height: 32px;\\n font-size: .8125rem; }\\n\\n@keyframes mdc-ripple-fg-radius-in {\\n from {\\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }\\n to {\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }\\n\\n@keyframes mdc-ripple-fg-opacity-in {\\n from {\\n animation-timing-function: linear;\\n opacity: 0; }\\n to {\\n opacity: var(--mdc-ripple-fg-opacity, 0); } }\\n\\n@keyframes mdc-ripple-fg-opacity-out {\\n from {\\n animation-timing-function: linear;\\n opacity: var(--mdc-ripple-fg-opacity, 0); }\\n to {\\n opacity: 0; } }\\n\\n.mdc-ripple-surface--test-edge-var-bug {\\n --mdc-ripple-surface-test-edge-var: 1px solid #000;\\n visibility: hidden; }\\n .mdc-ripple-surface--test-edge-var-bug::before {\\n border: var(--mdc-ripple-surface-test-edge-var); }\\n\\n.mdc-button {\\n --mdc-ripple-fg-size: 0;\\n --mdc-ripple-left: 0;\\n --mdc-ripple-top: 0;\\n --mdc-ripple-fg-scale: 1;\\n --mdc-ripple-fg-translate-end: 0;\\n --mdc-ripple-fg-translate-start: 0;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n .mdc-button::before, .mdc-button::after {\\n position: absolute;\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n content: \\\"\\\"; }\\n .mdc-button::before {\\n transition: opacity 15ms linear, background-color 15ms linear;\\n z-index: 1; }\\n .mdc-button.mdc-ripple-upgraded::before {\\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\\n .mdc-button.mdc-ripple-upgraded::after {\\n top: 0;\\n /* @noflip */\\n left: 0;\\n transform: scale(0);\\n transform-origin: center center; }\\n .mdc-button.mdc-ripple-upgraded--unbounded::after {\\n top: var(--mdc-ripple-top, 0);\\n /* @noflip */\\n left: var(--mdc-ripple-left, 0); }\\n .mdc-button.mdc-ripple-upgraded--foreground-activation::after {\\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\\n .mdc-button.mdc-ripple-upgraded--foreground-deactivation::after {\\n animation: mdc-ripple-fg-opacity-out 150ms;\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\\n .mdc-button::before, .mdc-button::after {\\n top: calc(50% - 100%);\\n /* @noflip */\\n left: calc(50% - 100%);\\n width: 200%;\\n height: 200%; }\\n .mdc-button.mdc-ripple-upgraded::after {\\n width: var(--mdc-ripple-fg-size, 100%);\\n height: var(--mdc-ripple-fg-size, 100%); }\\n .mdc-button::before, .mdc-button::after {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n .mdc-button::before, .mdc-button::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n .mdc-button:hover::before {\\n opacity: 0.04; }\\n .mdc-button:not(.mdc-ripple-upgraded):focus::before, .mdc-button.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n .mdc-button:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n .mdc-button:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n .mdc-button.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.12; }\\n\\n.mdc-button--raised::before, .mdc-button--raised::after,\\n.mdc-button--unelevated::before,\\n.mdc-button--unelevated::after {\\n background-color: #ffffff; }\\n @supports not (-ms-ime-align: auto) {\\n .mdc-button--raised::before, .mdc-button--raised::after,\\n .mdc-button--unelevated::before,\\n .mdc-button--unelevated::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-on-primary, #ffffff); } }\\n\\n.mdc-button--raised:hover::before,\\n.mdc-button--unelevated:hover::before {\\n opacity: 0.08; }\\n\\n.mdc-button--raised:not(.mdc-ripple-upgraded):focus::before, .mdc-button--raised.mdc-ripple-upgraded--background-focused::before,\\n.mdc-button--unelevated:not(.mdc-ripple-upgraded):focus::before,\\n.mdc-button--unelevated.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n\\n.mdc-button--raised:not(.mdc-ripple-upgraded)::after,\\n.mdc-button--unelevated:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n\\n.mdc-button--raised:not(.mdc-ripple-upgraded):active::after,\\n.mdc-button--unelevated:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n\\n.mdc-button--raised.mdc-ripple-upgraded,\\n.mdc-button--unelevated.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.24; }\\n\\n:host {\\n display: inline-block; }\\n\\n.m-icon {\\n margin-right: 0.6em; }\\n\\n.material-icons {\\n font-family: 'Material Icons';\\n font-weight: normal;\\n font-style: normal;\\n font-size: 24px;\\n line-height: 1;\\n letter-spacing: normal;\\n text-transform: none;\\n display: inline-block;\\n white-space: nowrap;\\n word-wrap: normal;\\n direction: ltr;\\n -webkit-font-feature-settings: 'liga';\\n -webkit-font-smoothing: antialiased; }\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/button/index.scss?./node_modules/_css-loader@1.0.1@css-loader!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3"); /***/ }), -/***/ "./node_modules/css-loader/index.js!./node_modules/sass-loader/lib/loader.js?!./src/menu/index.scss": -/*!**********************************************************************************************************!*\ - !*** ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js??ref--4-2!./src/menu/index.scss ***! - \**********************************************************************************************************/ +/***/ "./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/locate/index.scss": +/*!*************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/_css-loader@1.0.1@css-loader!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./src/locate/index.scss ***! + \*************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("exports = module.exports = __webpack_require__(/*! ../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \".mdc-list {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 1rem;\\n line-height: 1.75rem;\\n font-weight: 400;\\n letter-spacing: 0.00937em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n /* @alternate */\\n line-height: 1.5rem;\\n margin: 0;\\n padding: 8px 0;\\n list-style-type: none;\\n color: rgba(0, 0, 0, 0.87);\\n /* @alternate */\\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\\n .mdc-list:focus {\\n outline: none; }\\n\\n.mdc-list-item__secondary-text {\\n color: rgba(0, 0, 0, 0.54);\\n /* @alternate */\\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)); }\\n\\n.mdc-list-item__graphic {\\n background-color: transparent; }\\n\\n.mdc-list-item__graphic {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-item__meta {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-group__subheader {\\n color: rgba(0, 0, 0, 0.87);\\n /* @alternate */\\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\\n\\n.mdc-list--dense {\\n padding-top: 4px;\\n padding-bottom: 4px;\\n font-size: .812rem; }\\n\\n.mdc-list-item {\\n display: flex;\\n position: relative;\\n align-items: center;\\n justify-content: flex-start;\\n height: 48px;\\n padding: 0 16px;\\n overflow: hidden; }\\n .mdc-list-item:focus {\\n outline: none; }\\n\\n.mdc-list-item--selected,\\n.mdc-list-item--activated {\\n color: #0072d9;\\n /* @alternate */\\n color: var(--mdc-theme-primary, #0072d9); }\\n .mdc-list-item--selected .mdc-list-item__graphic,\\n .mdc-list-item--activated .mdc-list-item__graphic {\\n color: #0072d9;\\n /* @alternate */\\n color: var(--mdc-theme-primary, #0072d9); }\\n\\n.mdc-list-item--disabled {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 32px;\\n width: 24px;\\n height: 24px;\\n flex-shrink: 0;\\n align-items: center;\\n justify-content: center;\\n fill: currentColor; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 32px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list .mdc-list-item__graphic {\\n display: inline-flex; }\\n\\n.mdc-list-item__meta {\\n /* @noflip */\\n margin-left: auto;\\n /* @noflip */\\n margin-right: 0; }\\n .mdc-list-item__meta:not(.material-icons) {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 0.75rem;\\n line-height: 1.25rem;\\n font-weight: 400;\\n letter-spacing: 0.03333em;\\n text-decoration: inherit;\\n text-transform: inherit; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list-item__meta,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list-item__meta {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: auto; }\\n\\n.mdc-list-item__text {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden; }\\n\\n.mdc-list-item__text[for] {\\n pointer-events: none; }\\n\\n.mdc-list-item__primary-text {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n margin-bottom: -20px;\\n display: block; }\\n .mdc-list-item__primary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 32px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list-item__primary-text::after {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: -20px; }\\n .mdc-list--dense .mdc-list-item__primary-text {\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n margin-bottom: -20px; }\\n .mdc-list--dense .mdc-list-item__primary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 24px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list--dense .mdc-list-item__primary-text::after {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: -20px; }\\n\\n.mdc-list-item__secondary-text {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n font-weight: 400;\\n letter-spacing: 0.01786em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n display: block; }\\n .mdc-list-item__secondary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list--dense .mdc-list-item__secondary-text {\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n font-size: inherit; }\\n .mdc-list--dense .mdc-list-item__secondary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n\\n.mdc-list--dense .mdc-list-item {\\n height: 40px; }\\n\\n.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 36px;\\n width: 20px;\\n height: 20px; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--dense .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 36px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list--avatar-list .mdc-list-item {\\n height: 56px; }\\n\\n.mdc-list--avatar-list .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 16px;\\n width: 40px;\\n height: 40px;\\n border-radius: 50%; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--avatar-list .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 16px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list--two-line .mdc-list-item__text {\\n align-self: flex-start; }\\n\\n.mdc-list--two-line .mdc-list-item {\\n height: 72px; }\\n\\n.mdc-list--two-line.mdc-list--dense .mdc-list-item,\\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {\\n height: 60px; }\\n\\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 20px;\\n width: 36px;\\n height: 36px; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 20px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\\n cursor: pointer; }\\n\\na.mdc-list-item {\\n color: inherit;\\n text-decoration: none; }\\n\\n.mdc-list-divider {\\n height: 0;\\n margin: 0;\\n border: none;\\n border-bottom-width: 1px;\\n border-bottom-style: solid; }\\n\\n.mdc-list-divider {\\n border-bottom-color: rgba(0, 0, 0, 0.12); }\\n\\n.mdc-list-divider--padded {\\n margin: 0 16px; }\\n\\n.mdc-list-divider--inset {\\n /* @noflip */\\n margin-left: 72px;\\n /* @noflip */\\n margin-right: 0;\\n width: calc(100% - 72px); }\\n .mdc-list-group[dir=\\\"rtl\\\"] .mdc-list-divider--inset,\\n [dir=\\\"rtl\\\"] .mdc-list-group .mdc-list-divider--inset {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 72px; }\\n\\n.mdc-list-divider--inset.mdc-list-divider--padded {\\n width: calc(100% - 72px - 16px); }\\n\\n.mdc-list-group .mdc-list {\\n padding: 0; }\\n\\n.mdc-list-group__subheader {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 1rem;\\n line-height: 1.75rem;\\n font-weight: 400;\\n letter-spacing: 0.00937em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n margin: 0.75rem 16px; }\\n\\n@keyframes mdc-ripple-fg-radius-in {\\n from {\\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }\\n to {\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }\\n\\n@keyframes mdc-ripple-fg-opacity-in {\\n from {\\n animation-timing-function: linear;\\n opacity: 0; }\\n to {\\n opacity: var(--mdc-ripple-fg-opacity, 0); } }\\n\\n@keyframes mdc-ripple-fg-opacity-out {\\n from {\\n animation-timing-function: linear;\\n opacity: var(--mdc-ripple-fg-opacity, 0); }\\n to {\\n opacity: 0; } }\\n\\n.mdc-ripple-surface--test-edge-var-bug {\\n --mdc-ripple-surface-test-edge-var: 1px solid #000;\\n visibility: hidden; }\\n .mdc-ripple-surface--test-edge-var-bug::before {\\n border: var(--mdc-ripple-surface-test-edge-var); }\\n\\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\\n --mdc-ripple-fg-size: 0;\\n --mdc-ripple-left: 0;\\n --mdc-ripple-top: 0;\\n --mdc-ripple-fg-scale: 1;\\n --mdc-ripple-fg-translate-end: 0;\\n --mdc-ripple-fg-translate-start: 0;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n will-change: transform, opacity; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n position: absolute;\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n content: \\\"\\\"; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {\\n transition: opacity 15ms linear, background-color 15ms linear;\\n z-index: 1; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {\\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\\n top: 0;\\n /* @noflip */\\n left: 0;\\n transform: scale(0);\\n transform-origin: center center; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {\\n top: var(--mdc-ripple-top, 0);\\n /* @noflip */\\n left: var(--mdc-ripple-left, 0); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {\\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {\\n animation: mdc-ripple-fg-opacity-out 150ms;\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n top: calc(50% - 100%);\\n /* @noflip */\\n left: calc(50% - 100%);\\n width: 200%;\\n height: 200%; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\\n width: var(--mdc-ripple-fg-size, 100%);\\n height: var(--mdc-ripple-fg-size, 100%); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n background-color: #000; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {\\n opacity: 0.04; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {\\n opacity: 0.16; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {\\n opacity: 0.08; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.2; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.2; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.2; }\\n\\n:not(.mdc-list--non-interactive) > .mdc-list-item--disabled {\\n --mdc-ripple-fg-size: 0;\\n --mdc-ripple-left: 0;\\n --mdc-ripple-top: 0;\\n --mdc-ripple-fg-scale: 1;\\n --mdc-ripple-fg-translate-end: 0;\\n --mdc-ripple-fg-translate-start: 0;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n will-change: transform, opacity; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n position: absolute;\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n content: \\\"\\\"; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before {\\n transition: opacity 15ms linear, background-color 15ms linear;\\n z-index: 1; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::before {\\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\\n top: 0;\\n /* @noflip */\\n left: 0;\\n transform: scale(0);\\n transform-origin: center center; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after {\\n top: var(--mdc-ripple-top, 0);\\n /* @noflip */\\n left: var(--mdc-ripple-left, 0); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after {\\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after {\\n animation: mdc-ripple-fg-opacity-out 150ms;\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n top: calc(50% - 100%);\\n /* @noflip */\\n left: calc(50% - 100%);\\n width: 200%;\\n height: 200%; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\\n width: var(--mdc-ripple-fg-size, 100%);\\n height: var(--mdc-ripple-fg-size, 100%); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n background-color: #000; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n\\n.mdc-menu-surface {\\n display: none;\\n position: absolute;\\n box-sizing: border-box;\\n max-width: calc(100vw - 32px);\\n max-height: calc(100vh - 32px);\\n margin: 0;\\n padding: 0;\\n transform: scale(1);\\n transform-origin: top left;\\n opacity: 0;\\n overflow: auto;\\n will-change: transform, opacity;\\n z-index: 8;\\n transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);\\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\\n background-color: #fff;\\n /* @alternate */\\n background-color: var(--mdc-theme-surface, #fff);\\n color: #000;\\n /* @alternate */\\n color: var(--mdc-theme-on-surface, #000);\\n border-radius: 4px;\\n /* @noflip */\\n transform-origin-left: top left;\\n /* @noflip */\\n transform-origin-right: top right; }\\n .mdc-menu-surface:focus {\\n outline: none; }\\n .mdc-menu-surface--open {\\n display: inline-block;\\n transform: scale(1);\\n opacity: 1; }\\n .mdc-menu-surface--animating-open {\\n display: inline-block;\\n transform: scale(0.8);\\n opacity: 0; }\\n .mdc-menu-surface--animating-closed {\\n display: inline-block;\\n opacity: 0;\\n transition: opacity 0.075s linear; }\\n [dir=\\\"rtl\\\"] .mdc-menu-surface, .mdc-menu-surface[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n transform-origin-left: top right;\\n /* @noflip */\\n transform-origin-right: top left; }\\n\\n.mdc-menu-surface--anchor {\\n position: relative;\\n overflow: visible; }\\n\\n.mdc-menu-surface--fixed {\\n position: fixed; }\\n\\n.mdc-menu {\\n min-width: 112px; }\\n .mdc-menu .mdc-list-item__meta {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list-item__graphic {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list-divider {\\n margin: 8px 0; }\\n .mdc-menu .mdc-list-item {\\n user-select: none; }\\n .mdc-menu .mdc-list-item--disabled {\\n cursor: auto; }\\n .mdc-menu a.mdc-list-item .mdc-list-item__text,\\n .mdc-menu a.mdc-list-item .mdc-list-item__graphic {\\n pointer-events: none; }\\n\\n.mdc-menu__selection-group {\\n padding: 0;\\n fill: currentColor; }\\n .mdc-menu__selection-group .mdc-list-item {\\n /* @noflip */\\n padding-left: 56px;\\n /* @noflip */\\n padding-right: 16px; }\\n [dir=\\\"rtl\\\"] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n padding-left: 16px;\\n /* @noflip */\\n padding-right: 56px; }\\n .mdc-menu__selection-group .mdc-menu__selection-group-icon {\\n /* @noflip */\\n left: 16px;\\n /* @noflip */\\n right: initial;\\n display: none;\\n position: absolute; }\\n [dir=\\\"rtl\\\"] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n left: initial;\\n /* @noflip */\\n right: 16px; }\\n\\n.mdc-menu-item--selected .mdc-menu__selection-group-icon {\\n display: inline; }\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/menu/index.scss?./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js??ref--4-2"); +eval("exports = module.exports = __webpack_require__(/*! ../../node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js */ \"./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \":host {\\n display: block;\\n position: absolute; }\\n\\n.root {\\n width: auto;\\n height: auto; }\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/locate/index.scss?./node_modules/_css-loader@1.0.1@css-loader!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3"); /***/ }), -/***/ "./node_modules/css-loader/lib/css-base.js": -/*!*************************************************!*\ - !*** ./node_modules/css-loader/lib/css-base.js ***! - \*************************************************/ +/***/ "./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/menu/index.scss": +/*!***********************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/_css-loader@1.0.1@css-loader!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./src/menu/index.scss ***! + \***********************************************************************************************************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("exports = module.exports = __webpack_require__(/*! ../../node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js */ \"./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \".mdc-list {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 1rem;\\n line-height: 1.75rem;\\n font-weight: 400;\\n letter-spacing: 0.00937em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n /* @alternate */\\n line-height: 1.5rem;\\n margin: 0;\\n padding: 8px 0;\\n list-style-type: none;\\n color: rgba(0, 0, 0, 0.87);\\n /* @alternate */\\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\\n .mdc-list:focus {\\n outline: none; }\\n\\n.mdc-list-item__secondary-text {\\n color: rgba(0, 0, 0, 0.54);\\n /* @alternate */\\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)); }\\n\\n.mdc-list-item__graphic {\\n background-color: transparent; }\\n\\n.mdc-list-item__graphic {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-item__meta {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-group__subheader {\\n color: rgba(0, 0, 0, 0.87);\\n /* @alternate */\\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\\n\\n.mdc-list--dense {\\n padding-top: 4px;\\n padding-bottom: 4px;\\n font-size: .812rem; }\\n\\n.mdc-list-item {\\n display: flex;\\n position: relative;\\n align-items: center;\\n justify-content: flex-start;\\n height: 48px;\\n padding: 0 16px;\\n overflow: hidden; }\\n .mdc-list-item:focus {\\n outline: none; }\\n\\n.mdc-list-item--selected,\\n.mdc-list-item--activated {\\n color: #0072d9;\\n /* @alternate */\\n color: var(--mdc-theme-primary, #0072d9); }\\n .mdc-list-item--selected .mdc-list-item__graphic,\\n .mdc-list-item--activated .mdc-list-item__graphic {\\n color: #0072d9;\\n /* @alternate */\\n color: var(--mdc-theme-primary, #0072d9); }\\n\\n.mdc-list-item--disabled {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 32px;\\n width: 24px;\\n height: 24px;\\n flex-shrink: 0;\\n align-items: center;\\n justify-content: center;\\n fill: currentColor; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 32px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list .mdc-list-item__graphic {\\n display: inline-flex; }\\n\\n.mdc-list-item__meta {\\n /* @noflip */\\n margin-left: auto;\\n /* @noflip */\\n margin-right: 0; }\\n .mdc-list-item__meta:not(.material-icons) {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 0.75rem;\\n line-height: 1.25rem;\\n font-weight: 400;\\n letter-spacing: 0.03333em;\\n text-decoration: inherit;\\n text-transform: inherit; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list-item__meta,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list-item__meta {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: auto; }\\n\\n.mdc-list-item__text {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden; }\\n\\n.mdc-list-item__text[for] {\\n pointer-events: none; }\\n\\n.mdc-list-item__primary-text {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n margin-bottom: -20px;\\n display: block; }\\n .mdc-list-item__primary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 32px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list-item__primary-text::after {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: -20px; }\\n .mdc-list--dense .mdc-list-item__primary-text {\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n margin-bottom: -20px; }\\n .mdc-list--dense .mdc-list-item__primary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 24px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list--dense .mdc-list-item__primary-text::after {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: -20px; }\\n\\n.mdc-list-item__secondary-text {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n font-weight: 400;\\n letter-spacing: 0.01786em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n display: block; }\\n .mdc-list-item__secondary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list--dense .mdc-list-item__secondary-text {\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n font-size: inherit; }\\n .mdc-list--dense .mdc-list-item__secondary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n\\n.mdc-list--dense .mdc-list-item {\\n height: 40px; }\\n\\n.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 36px;\\n width: 20px;\\n height: 20px; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--dense .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 36px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list--avatar-list .mdc-list-item {\\n height: 56px; }\\n\\n.mdc-list--avatar-list .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 16px;\\n width: 40px;\\n height: 40px;\\n border-radius: 50%; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--avatar-list .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 16px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list--two-line .mdc-list-item__text {\\n align-self: flex-start; }\\n\\n.mdc-list--two-line .mdc-list-item {\\n height: 72px; }\\n\\n.mdc-list--two-line.mdc-list--dense .mdc-list-item,\\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {\\n height: 60px; }\\n\\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 20px;\\n width: 36px;\\n height: 36px; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 20px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\\n cursor: pointer; }\\n\\na.mdc-list-item {\\n color: inherit;\\n text-decoration: none; }\\n\\n.mdc-list-divider {\\n height: 0;\\n margin: 0;\\n border: none;\\n border-bottom-width: 1px;\\n border-bottom-style: solid; }\\n\\n.mdc-list-divider {\\n border-bottom-color: rgba(0, 0, 0, 0.12); }\\n\\n.mdc-list-divider--padded {\\n margin: 0 16px; }\\n\\n.mdc-list-divider--inset {\\n /* @noflip */\\n margin-left: 72px;\\n /* @noflip */\\n margin-right: 0;\\n width: calc(100% - 72px); }\\n .mdc-list-group[dir=\\\"rtl\\\"] .mdc-list-divider--inset,\\n [dir=\\\"rtl\\\"] .mdc-list-group .mdc-list-divider--inset {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 72px; }\\n\\n.mdc-list-divider--inset.mdc-list-divider--padded {\\n width: calc(100% - 72px - 16px); }\\n\\n.mdc-list-group .mdc-list {\\n padding: 0; }\\n\\n.mdc-list-group__subheader {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 1rem;\\n line-height: 1.75rem;\\n font-weight: 400;\\n letter-spacing: 0.00937em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n margin: 0.75rem 16px; }\\n\\n@keyframes mdc-ripple-fg-radius-in {\\n from {\\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }\\n to {\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }\\n\\n@keyframes mdc-ripple-fg-opacity-in {\\n from {\\n animation-timing-function: linear;\\n opacity: 0; }\\n to {\\n opacity: var(--mdc-ripple-fg-opacity, 0); } }\\n\\n@keyframes mdc-ripple-fg-opacity-out {\\n from {\\n animation-timing-function: linear;\\n opacity: var(--mdc-ripple-fg-opacity, 0); }\\n to {\\n opacity: 0; } }\\n\\n.mdc-ripple-surface--test-edge-var-bug {\\n --mdc-ripple-surface-test-edge-var: 1px solid #000;\\n visibility: hidden; }\\n .mdc-ripple-surface--test-edge-var-bug::before {\\n border: var(--mdc-ripple-surface-test-edge-var); }\\n\\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\\n --mdc-ripple-fg-size: 0;\\n --mdc-ripple-left: 0;\\n --mdc-ripple-top: 0;\\n --mdc-ripple-fg-scale: 1;\\n --mdc-ripple-fg-translate-end: 0;\\n --mdc-ripple-fg-translate-start: 0;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n position: absolute;\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n content: \\\"\\\"; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {\\n transition: opacity 15ms linear, background-color 15ms linear;\\n z-index: 1; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {\\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\\n top: 0;\\n /* @noflip */\\n left: 0;\\n transform: scale(0);\\n transform-origin: center center; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {\\n top: var(--mdc-ripple-top, 0);\\n /* @noflip */\\n left: var(--mdc-ripple-left, 0); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {\\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {\\n animation: mdc-ripple-fg-opacity-out 150ms;\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n top: calc(50% - 100%);\\n /* @noflip */\\n left: calc(50% - 100%);\\n width: 200%;\\n height: 200%; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\\n width: var(--mdc-ripple-fg-size, 100%);\\n height: var(--mdc-ripple-fg-size, 100%); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n background-color: #000000; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {\\n opacity: 0.04; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {\\n opacity: 0.16; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {\\n opacity: 0.08; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.2; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.2; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.2; }\\n\\n:not(.mdc-list--non-interactive) > .mdc-list-item--disabled {\\n --mdc-ripple-fg-size: 0;\\n --mdc-ripple-left: 0;\\n --mdc-ripple-top: 0;\\n --mdc-ripple-fg-scale: 1;\\n --mdc-ripple-fg-translate-end: 0;\\n --mdc-ripple-fg-translate-start: 0;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n position: absolute;\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n content: \\\"\\\"; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before {\\n transition: opacity 15ms linear, background-color 15ms linear;\\n z-index: 1; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::before {\\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\\n top: 0;\\n /* @noflip */\\n left: 0;\\n transform: scale(0);\\n transform-origin: center center; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after {\\n top: var(--mdc-ripple-top, 0);\\n /* @noflip */\\n left: var(--mdc-ripple-left, 0); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after {\\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after {\\n animation: mdc-ripple-fg-opacity-out 150ms;\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n top: calc(50% - 100%);\\n /* @noflip */\\n left: calc(50% - 100%);\\n width: 200%;\\n height: 200%; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\\n width: var(--mdc-ripple-fg-size, 100%);\\n height: var(--mdc-ripple-fg-size, 100%); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n background-color: #000000; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n\\n.mdc-menu-surface {\\n display: none;\\n position: absolute;\\n box-sizing: border-box;\\n max-width: calc(100vw - 32px);\\n max-height: calc(100vh - 32px);\\n margin: 0;\\n padding: 0;\\n transform: scale(1);\\n transform-origin: top left;\\n opacity: 0;\\n overflow: auto;\\n will-change: transform, opacity;\\n z-index: 8;\\n transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);\\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\\n background-color: #ffffff;\\n /* @alternate */\\n background-color: var(--mdc-theme-surface, #ffffff);\\n color: #000000;\\n /* @alternate */\\n color: var(--mdc-theme-on-surface, #000000);\\n border-radius: 4px;\\n /* @noflip */\\n transform-origin-left: top left;\\n /* @noflip */\\n transform-origin-right: top right; }\\n .mdc-menu-surface:focus {\\n outline: none; }\\n .mdc-menu-surface--open {\\n display: inline-block;\\n transform: scale(1);\\n opacity: 1; }\\n .mdc-menu-surface--animating-open {\\n display: inline-block;\\n transform: scale(0.8);\\n opacity: 0; }\\n .mdc-menu-surface--animating-closed {\\n display: inline-block;\\n opacity: 0;\\n transition: opacity 0.075s linear; }\\n [dir=\\\"rtl\\\"] .mdc-menu-surface, .mdc-menu-surface[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n transform-origin-left: top right;\\n /* @noflip */\\n transform-origin-right: top left; }\\n\\n.mdc-menu-surface--anchor {\\n position: relative;\\n overflow: visible; }\\n\\n.mdc-menu-surface--fixed {\\n position: fixed; }\\n\\n.mdc-menu {\\n min-width: 112px; }\\n .mdc-menu .mdc-list-item__meta {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list-item__graphic {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list-divider {\\n margin: 8px 0; }\\n .mdc-menu .mdc-list-item {\\n user-select: none; }\\n .mdc-menu .mdc-list-item--disabled {\\n cursor: auto; }\\n .mdc-menu a.mdc-list-item .mdc-list-item__text,\\n .mdc-menu a.mdc-list-item .mdc-list-item__graphic {\\n pointer-events: none; }\\n\\n.mdc-menu__selection-group {\\n padding: 0;\\n fill: currentColor; }\\n .mdc-menu__selection-group .mdc-list-item {\\n /* @noflip */\\n padding-left: 56px;\\n /* @noflip */\\n padding-right: 16px; }\\n [dir=\\\"rtl\\\"] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n padding-left: 16px;\\n /* @noflip */\\n padding-right: 56px; }\\n .mdc-menu__selection-group .mdc-menu__selection-group-icon {\\n /* @noflip */\\n left: 16px;\\n /* @noflip */\\n right: initial;\\n display: none;\\n position: absolute; }\\n [dir=\\\"rtl\\\"] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n left: initial;\\n /* @noflip */\\n right: 16px; }\\n\\n.mdc-menu-item--selected .mdc-menu__selection-group-icon {\\n display: inline; }\\n\\n:host {\\n display: inline-block; }\\n\\n.mdc-menu-surface {\\n position: unset;\\n opacity: 1;\\n display: block; }\\n\", \"\"]);\n\n// exports\n\n\n//# sourceURL=webpack:///./src/menu/index.scss?./node_modules/_css-loader@1.0.1@css-loader!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3"); + +/***/ }), + +/***/ "./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js": +/*!*******************************************************************!*\ + !*** ./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js ***! + \*******************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { -eval("/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n//# sourceURL=webpack:///./node_modules/css-loader/lib/css-base.js?"); +eval("/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n//# sourceURL=webpack:///./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js?"); /***/ }), -/***/ "./node_modules/omi/dist/omi.esm.js": -/*!******************************************!*\ - !*** ./node_modules/omi/dist/omi.esm.js ***! - \******************************************/ -/*! exports provided: default, tag, WeElement, Component, render, h, createElement, options, define, observe, cloneElement, getHost, rpx, tick, nextTick, ModelView, defineElement, classNames, extractClass, createRef, html, htm, o */ +/***/ "./node_modules/_omi@6.6.5@omi/dist/omi.esm.js": +/*!*****************************************************!*\ + !*** ./node_modules/_omi@6.6.5@omi/dist/omi.esm.js ***! + \*****************************************************/ +/*! exports provided: default, tag, WeElement, Component, render, h, createElement, options, define, observe, cloneElement, getHost, rpx, tick, nextTick, ModelView, defineElement, classNames, extractClass, createRef, html, htm, o, elements */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tag\", function() { return tag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WeElement\", function() { return WeElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return Component; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return h; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createElement\", function() { return h; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"options\", function() { return options; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return define; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"observe\", function() { return observe; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cloneElement\", function() { return cloneElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHost\", function() { return getHost; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rpx\", function() { return rpx; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tick\", function() { return tick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nextTick\", function() { return nextTick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ModelView\", function() { return ModelView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defineElement\", function() { return defineElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"classNames\", function() { return classNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extractClass\", function() { return extractClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createRef\", function() { return createRef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"html\", function() { return html; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htm\", function() { return htm; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return o; });\n/**\n * omi v6.3.8 http://omijs.org\n * Omi === Preact + Scoped CSS + Store System + Native Support in 3kb javascript.\n * By dntzhang https://github.com/dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\n/** Virtual DOM Node */\nfunction VNode() {}\n\nfunction getGlobal() {\n if (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) {\n return self || window || global || function () {\n return this;\n }();\n }\n return global;\n}\n\n/** Global options\n *\t@public\n *\t@namespace options {Object}\n */\nvar options = {\n store: null,\n root: getGlobal(),\n mapping: {}\n};\n\nvar stack = [];\n\nfunction h(nodeName, attributes) {\n var children = [],\n lastSimple,\n child,\n simple,\n i;\n for (i = arguments.length; i-- > 2;) {\n stack.push(arguments[i]);\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children);\n delete attributes.children;\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--;) {\n stack.push(child[i]);\n }\n } else {\n if (typeof child === 'boolean') child = null;\n\n if (simple = typeof nodeName !== 'function') {\n if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child;\n } else if (children.length === 0) {\n children = [child];\n } else {\n children.push(child);\n }\n\n lastSimple = simple;\n }\n }\n\n var p = new VNode();\n p.nodeName = nodeName;\n p.children = children;\n p.attributes = attributes == null ? undefined : attributes;\n p.key = attributes == null ? undefined : attributes.key;\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p);\n\n return p;\n}\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n(function () {\n if (\n // No Reflect, no classes, no need for shim because native custom elements\n // require ES2015 classes or Reflect.\n window.Reflect === undefined || window.customElements === undefined ||\n // The webcomponentsjs custom elements polyfill doesn't require\n // ES2015-compatible construction (`super()` or `Reflect.construct`).\n window.customElements.hasOwnProperty('polyfillWrapFlushCallback')) {\n return;\n }\n var BuiltInHTMLElement = HTMLElement;\n window.HTMLElement = function HTMLElement() {\n return Reflect.construct(BuiltInHTMLElement, [], this.constructor);\n };\n HTMLElement.prototype = BuiltInHTMLElement.prototype;\n HTMLElement.prototype.constructor = HTMLElement;\n Object.setPrototypeOf(HTMLElement, BuiltInHTMLElement);\n})();\n\nfunction cssToDom(css) {\n var node = document.createElement('style');\n node.textContent = css;\n return node;\n}\n\nfunction npn(str) {\n return str.replace(/-(\\w)/g, function ($, $1) {\n return $1.toUpperCase();\n });\n}\n\nfunction extend(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nfunction applyRef(ref, value) {\n if (ref != null) {\n if (typeof ref == 'function') ref(value);else ref.current = value;\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n * @type {(callback: function) => void}\n */\nvar defer = typeof Promise == 'function' ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;\n\nfunction isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n}\n\nfunction nProps(props) {\n if (!props || isArray(props)) return {};\n var result = {};\n Object.keys(props).forEach(function (key) {\n result[key] = props[key].value;\n });\n return result;\n}\n\nfunction getUse(data, paths) {\n var obj = [];\n paths.forEach(function (path, index) {\n var isPath = typeof path === 'string';\n if (isPath) {\n obj[index] = getTargetByPath(data, path);\n } else {\n var key = Object.keys(path)[0];\n var value = path[key];\n if (typeof value === 'string') {\n obj[index] = getTargetByPath(data, value);\n } else {\n var tempPath = value[0];\n if (typeof tempPath === 'string') {\n var tempVal = getTargetByPath(data, tempPath);\n obj[index] = value[1] ? value[1](tempVal) : tempVal;\n } else {\n var args = [];\n tempPath.forEach(function (path) {\n args.push(getTargetByPath(data, path));\n });\n obj[index] = value[1].apply(null, args);\n }\n }\n obj[key] = obj[index];\n }\n });\n return obj;\n}\n\nfunction getTargetByPath(origin, path) {\n var arr = path.replace(/]/g, '').replace(/\\[/g, '.').split('.');\n var current = origin;\n for (var i = 0, len = arr.length; i < len; i++) {\n current = current[arr[i]];\n }\n return current;\n}\n\nvar hyphenateRE = /\\B([A-Z])/g;\nfunction hyphenate(str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n}\n\n// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nfunction isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined;\n }\n if (typeof vnode.nodeName === 'string') {\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName);\n } else if (typeof vnode.nodeName === 'function') {\n return options.mapping[node.nodeName.toLowerCase()] === vnode.nodeName;\n }\n return hydrating || node._componentConstructor === vnode.nodeName;\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nfunction isNamedNode(node, nodeName) {\n return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();\n}\n\n/**\n * Create an element with the given nodeName.\n * @param {string} nodeName The DOM node to create\n * @param {boolean} [isSvg=false] If `true`, creates an element within the SVG\n * namespace.\n * @returns {Element} The created DOM node\n */\nfunction createNode(nodeName, isSvg) {\n /** @type {Element} */\n var node = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName);\n node.normalizedNodeName = nodeName;\n return node;\n}\n\n/**\n * Remove a child node from its parent if attached.\n * @param {Node} node The node to remove\n */\nfunction removeNode(node) {\n var parentNode = node.parentNode;\n if (parentNode) parentNode.removeChild(node);\n}\n\n/**\n * Set a named attribute on the given Node, with special behavior for some names\n * and event handlers. If `value` is `null`, the attribute/handler will be\n * removed.\n * @param {Element} node An element to mutate\n * @param {string} name The name/key to set, such as an event or attribute name\n * @param {*} old The last value that was set for this name/node pair\n * @param {*} value An attribute value, such as a function to be used as an\n * event handler\n * @param {boolean} isSvg Are we currently diffing inside an svg?\n * @private\n */\nfunction setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class';\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null);\n applyRef(value, node);\n } else if (name === 'class' && !isSvg) {\n node.className = value || '';\n } else if (name === 'style') {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || '';\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (var i in old) {\n if (!(i in value)) node.style[i] = '';\n }\n }\n for (var i in value) {\n node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false ? value[i] + 'px' : value[i];\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || '';\n } else if (name[0] == 'o' && name[1] == 'n') {\n var useCapture = name !== (name = name.replace(/Capture$/, ''));\n name = name.toLowerCase().substring(2);\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture);\n node.addEventListener('touchend', touchEnd, useCapture);\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture);\n node.removeEventListener('touchend', touchEnd, useCapture);\n }\n }\n(node._listeners || (node._listeners = {}))[name] = value;\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node && value != '') {\n //value != '' fix for selected, disabled, checked\n // Attempt to set a DOM property to the given value.\n // IE & FF throw for certain property-value combinations.\n try {\n node[name] = value == null ? '' : value;\n } catch (e) {}\n if ((value == null || value === false) && name != 'spellcheck') node.pureRemoveAttribute ? node.pureRemoveAttribute(name) : node.removeAttribute(name);\n } else {\n var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));\n // spellcheck is treated differently than all other boolean values and\n // should not be removed when the value is `false`. See:\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-spellcheck\n if (value == null || value === false) {\n if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.pureRemoveAttribute ? node.pureRemoveAttribute(name) : node.removeAttribute(name);\n } else if (typeof value !== 'function') {\n if (ns) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);\n } else {\n node.pureSetAttribute ? node.pureSetAttribute(name, value) : node.setAttribute(name, value);\n }\n }\n }\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type](options.event && options.event(e) || e);\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX;\n this.___touchY = e.touches[0].pageY;\n this.___scrollTop = document.body.scrollTop;\n}\n\nfunction touchEnd(e) {\n if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }));\n }\n}\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nvar diffLevel = 0;\n\n/** Global flag indicating if the diff is currently within an SVG */\nvar isSvgMode = false;\n\n/** Global flag indicating if the diff is performing hydration */\nvar hydrating = false;\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nfunction diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n var ret;\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined;\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !('__omiattr_' in dom);\n }\n if (isArray(vnode)) {\n ret = [];\n var parentNode = null;\n if (isArray(dom)) {\n var domLength = dom.length;\n var vnodeLength = vnode.length;\n var maxLength = domLength >= vnodeLength ? domLength : vnodeLength;\n parentNode = dom[0].parentNode;\n for (var i = 0; i < maxLength; i++) {\n var ele = idiff(dom[i], vnode[i], context, mountAll, componentRoot);\n ret.push(ele);\n if (i > domLength - 1) {\n parentNode.appendChild(ele);\n }\n }\n } else {\n vnode.forEach(function (item) {\n var ele = idiff(dom, item, context, mountAll, componentRoot);\n ret.push(ele);\n parent && parent.appendChild(ele);\n });\n }\n } else {\n if (isArray(dom)) {\n ret = idiff(dom[0], vnode, context, mountAll, componentRoot);\n } else {\n ret = idiff(dom, vnode, context, mountAll, componentRoot);\n }\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret);\n }\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (! --diffLevel) {\n hydrating = false;\n // invoke queued componentDidMount lifecycle methods\n }\n\n return ret;\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n if (dom && vnode && dom.props) {\n dom.props.children = vnode.children;\n }\n var out = dom,\n prevSvgMode = isSvgMode;\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = '';\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode;\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode);\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n recollectNodeTree(dom, true);\n }\n }\n\n out['__omiattr_'] = true;\n\n return out;\n }\n\n // If the VNode represents a Component, perform a component diff:\n var vnodeName = vnode.nodeName;\n if (typeof vnodeName === 'function') {\n for (var key in options.mapping) {\n if (options.mapping[key] === vnodeName) {\n vnodeName = key;\n vnode.nodeName = key;\n break;\n }\n }\n }\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName);\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode);\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) {\n out.appendChild(dom.firstChild);\n } // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true);\n }\n }\n\n var fc = out.firstChild,\n props = out['__omiattr_'],\n vchildren = vnode.children;\n\n if (props == null) {\n props = out['__omiattr_'] = {};\n for (var a = out.attributes, i = a.length; i--;) {\n props[a[i].name] = a[i].value;\n }\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0];\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if (vchildren && vchildren.length || fc != null) {\n if (!(out.constructor.is == 'WeElement' && out.constructor.noSlot)) {\n innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);\n }\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props, vnode.children);\n if (out.props) {\n out.props.children = vnode.children;\n }\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode;\n\n return out;\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n var originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child;\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (var i = 0; i < len; i++) {\n var _child = originalChildren[i],\n props = _child['__omiattr_'],\n key = vlen && props ? _child._component ? _child._component.__key : props.key : null;\n if (key != null) {\n keyedLen++;\n keyed[key] = _child;\n } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {\n children[childrenLen++] = _child;\n }\n }\n }\n\n if (vlen !== 0) {\n for (var i = 0; i < vlen; i++) {\n vchild = vchildren[i];\n child = null;\n\n // attempt to find a node based on key matching\n var key = vchild.key;\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key];\n keyed[key] = undefined;\n keyedLen--;\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {\n child = c;\n children[j] = undefined;\n if (j === childrenLen - 1) childrenLen--;\n if (j === min) min++;\n break;\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll);\n\n f = originalChildren[i];\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child);\n } else if (child === f.nextSibling) {\n removeNode(f);\n } else {\n dom.insertBefore(child, f);\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (var i in keyed) {\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);\n }\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nfunction recollectNodeTree(node, unmountOnly) {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node['__omiattr_'] != null && node['__omiattr_'].ref) {\n if (typeof node['__omiattr_'].ref === 'function') {\n node['__omiattr_'].ref(null);\n } else if (node['__omiattr_'].ref.current) {\n node['__omiattr_'].ref.current = null;\n }\n }\n\n if (unmountOnly === false || node['__omiattr_'] == null) {\n removeNode(node);\n }\n\n removeChildren(node);\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nfunction removeChildren(node) {\n node = node.lastChild;\n while (node) {\n var next = node.previousSibling;\n recollectNodeTree(node, true);\n node = next;\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old, children) {\n var name;\n var update = false;\n var isWeElement = dom.update;\n var oldClone;\n if (dom.receiveProps) {\n oldClone = Object.assign({}, old);\n }\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);\n if (isWeElement) {\n delete dom.props[name];\n update = true;\n }\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (isWeElement && typeof attrs[name] === 'object' && name !== 'ref') {\n if (name === 'style') {\n setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n }\n if (dom.receiveProps) {\n try {\n old[name] = JSON.parse(JSON.stringify(attrs[name]));\n } catch (e) {\n console.warn('When using receiveProps, you cannot pass prop of cyclic dependencies down.');\n }\n }\n dom.props[npn(name)] = attrs[name];\n update = true;\n } else if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {\n setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n if (isWeElement) {\n dom.props[npn(name)] = attrs[name];\n update = true;\n }\n }\n }\n\n if (isWeElement && dom.parentNode) {\n if (update || children.length > 0 || dom.store) {\n dom.receiveProps(dom.props, dom.data, oldClone);\n dom.update();\n }\n }\n}\n\n/*!\n * https://github.com/Palindrom/JSONPatcherProxy\n * (c) 2017 Starcounter\n * MIT license\n */\n\n/** Class representing a JS Object observer */\nvar JSONPatcherProxy = function () {\n /**\n * Deep clones your object and returns a new object.\n */\n function deepClone(obj) {\n switch (typeof obj) {\n case 'object':\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case 'undefined':\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n }\n JSONPatcherProxy.deepClone = deepClone;\n\n function escapePathComponent(str) {\n if (str.indexOf('/') == -1 && str.indexOf('~') == -1) return str;\n return str.replace(/~/g, '~0').replace(/\\//g, '~1');\n }\n JSONPatcherProxy.escapePathComponent = escapePathComponent;\n\n /**\n * Walk up the parenthood tree to get the path\n * @param {JSONPatcherProxy} instance\n * @param {Object} obj the object you need to find its path\n */\n function findObjectPath(instance, obj) {\n var pathComponents = [];\n var parentAndPath = instance.parenthoodMap.get(obj);\n while (parentAndPath && parentAndPath.path) {\n // because we're walking up-tree, we need to use the array as a stack\n pathComponents.unshift(parentAndPath.path);\n parentAndPath = instance.parenthoodMap.get(parentAndPath.parent);\n }\n if (pathComponents.length) {\n var path = pathComponents.join('/');\n return '/' + path;\n }\n return '';\n }\n /**\n * A callback to be used as th proxy set trap callback.\n * It updates parenthood map if needed, proxifies nested newly-added objects, calls default callbacks with the changes occurred.\n * @param {JSONPatcherProxy} instance JSONPatcherProxy instance\n * @param {Object} target the affected object\n * @param {String} key the effect property's name\n * @param {Any} newValue the value being set\n */\n function setTrap(instance, target, key, newValue) {\n var parentPath = findObjectPath(instance, target);\n\n var destinationPropKey = parentPath + '/' + escapePathComponent(key);\n\n if (instance.proxifiedObjectsMap.has(newValue)) {\n var newValueOriginalObject = instance.proxifiedObjectsMap.get(newValue);\n\n instance.parenthoodMap.set(newValueOriginalObject.originalObject, {\n parent: target,\n path: key\n });\n }\n /*\n mark already proxified values as inherited.\n rationale: proxy.arr.shift()\n will emit\n {op: replace, path: '/arr/1', value: arr_2}\n {op: remove, path: '/arr/2'}\n by default, the second operation would revoke the proxy, and this renders arr revoked.\n That's why we need to remember the proxies that are inherited.\n */\n var revokableInstance = instance.proxifiedObjectsMap.get(newValue);\n /*\n Why do we need to check instance.isProxifyingTreeNow?\n We need to make sure we mark revokables as inherited ONLY when we're observing,\n because throughout the first proxification, a sub-object is proxified and then assigned to\n its parent object. This assignment of a pre-proxified object can fool us into thinking\n that it's a proxified object moved around, while in fact it's the first assignment ever.\n Checking isProxifyingTreeNow ensures this is not happening in the first proxification,\n but in fact is is a proxified object moved around the tree\n */\n if (revokableInstance && !instance.isProxifyingTreeNow) {\n revokableInstance.inherited = true;\n }\n\n // if the new value is an object, make sure to watch it\n if (newValue && typeof newValue == 'object' && !instance.proxifiedObjectsMap.has(newValue)) {\n instance.parenthoodMap.set(newValue, {\n parent: target,\n path: key\n });\n newValue = instance._proxifyObjectTreeRecursively(target, newValue, key);\n }\n // let's start with this operation, and may or may not update it later\n var operation = {\n op: 'remove',\n path: destinationPropKey\n };\n if (typeof newValue == 'undefined') {\n // applying De Morgan's laws would be a tad faster, but less readable\n if (!Array.isArray(target) && !target.hasOwnProperty(key)) {\n // `undefined` is being set to an already undefined value, keep silent\n return Reflect.set(target, key, newValue);\n }\n // when array element is set to `undefined`, should generate replace to `null`\n if (Array.isArray(target)) {\noperation.op = 'replace', operation.value = null;\n }\n var oldValue = instance.proxifiedObjectsMap.get(target[key]);\n // was the deleted a proxified object?\n if (oldValue) {\n instance.parenthoodMap.delete(target[key]);\n instance.disableTrapsForProxy(oldValue);\n instance.proxifiedObjectsMap.delete(oldValue);\n }\n } else {\n if (Array.isArray(target) && !Number.isInteger(+key.toString())) {\n /* array props (as opposed to indices) don't emit any patches, to avoid needless `length` patches */\n if (key != 'length') {\n console.warn('JSONPatcherProxy noticed a non-integer prop was set for an array. This will not emit a patch');\n }\n return Reflect.set(target, key, newValue);\n }\n operation.op = 'add';\n if (target.hasOwnProperty(key)) {\n if (typeof target[key] !== 'undefined' || Array.isArray(target)) {\n operation.op = 'replace'; // setting `undefined` array elements is a `replace` op\n }\n }\n operation.value = newValue;\n }\n operation.oldValue = target[key];\n var reflectionResult = Reflect.set(target, key, newValue);\n instance.defaultCallback(operation);\n return reflectionResult;\n }\n /**\n * A callback to be used as th proxy delete trap callback.\n * It updates parenthood map if needed, calls default callbacks with the changes occurred.\n * @param {JSONPatcherProxy} instance JSONPatcherProxy instance\n * @param {Object} target the effected object\n * @param {String} key the effected property's name\n */\n function deleteTrap(instance, target, key) {\n if (typeof target[key] !== 'undefined') {\n var parentPath = findObjectPath(instance, target);\n var destinationPropKey = parentPath + '/' + escapePathComponent(key);\n\n var revokableProxyInstance = instance.proxifiedObjectsMap.get(target[key]);\n\n if (revokableProxyInstance) {\n if (revokableProxyInstance.inherited) {\n /*\n this is an inherited proxy (an already proxified object that was moved around),\n we shouldn't revoke it, because even though it was removed from path1, it is still used in path2.\n And we know that because we mark moved proxies with `inherited` flag when we move them\n it is a good idea to remove this flag if we come across it here, in deleteProperty trap.\n We DO want to revoke the proxy if it was removed again.\n */\n revokableProxyInstance.inherited = false;\n } else {\n instance.parenthoodMap.delete(revokableProxyInstance.originalObject);\n instance.disableTrapsForProxy(revokableProxyInstance);\n instance.proxifiedObjectsMap.delete(target[key]);\n }\n }\n var reflectionResult = Reflect.deleteProperty(target, key);\n\n instance.defaultCallback({\n op: 'remove',\n path: destinationPropKey\n });\n\n return reflectionResult;\n }\n }\n /* pre-define resume and pause functions to enhance constructors performance */\n function resume() {\n var _this = this;\n\n this.defaultCallback = function (operation) {\n _this.isRecording && _this.patches.push(operation);\n _this.userCallback && _this.userCallback(operation);\n };\n this.isObserving = true;\n }\n function pause() {\n this.defaultCallback = function () {};\n this.isObserving = false;\n }\n /**\n * Creates an instance of JSONPatcherProxy around your object of interest `root`.\n * @param {Object|Array} root - the object you want to wrap\n * @param {Boolean} [showDetachedWarning = true] - whether to log a warning when a detached sub-object is modified @see {@link https://github.com/Palindrom/JSONPatcherProxy#detached-objects}\n * @returns {JSONPatcherProxy}\n * @constructor\n */\n function JSONPatcherProxy(root, showDetachedWarning) {\n this.isProxifyingTreeNow = false;\n this.isObserving = false;\n this.proxifiedObjectsMap = new Map();\n this.parenthoodMap = new Map();\n // default to true\n if (typeof showDetachedWarning !== 'boolean') {\n showDetachedWarning = true;\n }\n\n this.showDetachedWarning = showDetachedWarning;\n this.originalObject = root;\n this.cachedProxy = null;\n this.isRecording = false;\n this.userCallback;\n /**\n * @memberof JSONPatcherProxy\n * Restores callback back to the original one provided to `observe`.\n */\n this.resume = resume.bind(this);\n /**\n * @memberof JSONPatcherProxy\n * Replaces your callback with a noop function.\n */\n this.pause = pause.bind(this);\n }\n\n JSONPatcherProxy.prototype.generateProxyAtPath = function (parent, obj, path) {\n var _this2 = this;\n\n if (!obj) {\n return obj;\n }\n var traps = {\n set: function set(target, key, value, receiver) {\n return setTrap(_this2, target, key, value, receiver);\n },\n deleteProperty: function deleteProperty(target, key) {\n return deleteTrap(_this2, target, key);\n }\n };\n var revocableInstance = Proxy.revocable(obj, traps);\n // cache traps object to disable them later.\n revocableInstance.trapsInstance = traps;\n revocableInstance.originalObject = obj;\n\n /* keeping track of object's parent and path */\n\n this.parenthoodMap.set(obj, { parent: parent, path: path });\n\n /* keeping track of all the proxies to be able to revoke them later */\n this.proxifiedObjectsMap.set(revocableInstance.proxy, revocableInstance);\n return revocableInstance.proxy;\n };\n // grab tree's leaves one by one, encapsulate them into a proxy and return\n JSONPatcherProxy.prototype._proxifyObjectTreeRecursively = function (parent, root, path) {\n for (var key in root) {\n if (root.hasOwnProperty(key)) {\n if (root[key] instanceof Object) {\n root[key] = this._proxifyObjectTreeRecursively(root, root[key], escapePathComponent(key));\n }\n }\n }\n return this.generateProxyAtPath(parent, root, path);\n };\n // this function is for aesthetic purposes\n JSONPatcherProxy.prototype.proxifyObjectTree = function (root) {\n /*\n while proxyifying object tree,\n the proxyifying operation itself is being\n recorded, which in an unwanted behavior,\n that's why we disable recording through this\n initial process;\n */\n this.pause();\n this.isProxifyingTreeNow = true;\n var proxifiedObject = this._proxifyObjectTreeRecursively(undefined, root, '');\n /* OK you can record now */\n this.isProxifyingTreeNow = false;\n this.resume();\n return proxifiedObject;\n };\n /**\n * Turns a proxified object into a forward-proxy object; doesn't emit any patches anymore, like a normal object\n * @param {Proxy} proxy - The target proxy object\n */\n JSONPatcherProxy.prototype.disableTrapsForProxy = function (revokableProxyInstance) {\n if (this.showDetachedWarning) {\n var message = \"You're accessing an object that is detached from the observedObject tree, see https://github.com/Palindrom/JSONPatcherProxy#detached-objects\";\n\n revokableProxyInstance.trapsInstance.set = function (targetObject, propKey, newValue) {\n console.warn(message);\n return Reflect.set(targetObject, propKey, newValue);\n };\n revokableProxyInstance.trapsInstance.set = function (targetObject, propKey, newValue) {\n console.warn(message);\n return Reflect.set(targetObject, propKey, newValue);\n };\n revokableProxyInstance.trapsInstance.deleteProperty = function (targetObject, propKey) {\n return Reflect.deleteProperty(targetObject, propKey);\n };\n } else {\n delete revokableProxyInstance.trapsInstance.set;\n delete revokableProxyInstance.trapsInstance.get;\n delete revokableProxyInstance.trapsInstance.deleteProperty;\n }\n };\n /**\n * Proxifies the object that was passed in the constructor and returns a proxified mirror of it. Even though both parameters are options. You need to pass at least one of them.\n * @param {Boolean} [record] - whether to record object changes to a later-retrievable patches array.\n * @param {Function} [callback] - this will be synchronously called with every object change with a single `patch` as the only parameter.\n */\n JSONPatcherProxy.prototype.observe = function (record, callback) {\n if (!record && !callback) {\n throw new Error('You need to either record changes or pass a callback');\n }\n this.isRecording = record;\n this.userCallback = callback;\n /*\n I moved it here to remove it from `unobserve`,\n this will also make the constructor faster, why initiate\n the array before they decide to actually observe with recording?\n They might need to use only a callback.\n */\n if (record) this.patches = [];\n this.cachedProxy = this.proxifyObjectTree(this.originalObject);\n return this.cachedProxy;\n };\n /**\n * If the observed is set to record, it will synchronously return all the patches and empties patches array.\n */\n JSONPatcherProxy.prototype.generate = function () {\n if (!this.isRecording) {\n throw new Error('You should set record to true to get patches later');\n }\n return this.patches.splice(0, this.patches.length);\n };\n /**\n * Revokes all proxies rendering the observed object useless and good for garbage collection @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/revocable}\n */\n JSONPatcherProxy.prototype.revoke = function () {\n this.proxifiedObjectsMap.forEach(function (el) {\n el.revoke();\n });\n };\n /**\n * Disables all proxies' traps, turning the observed object into a forward-proxy object, like a normal object that you can modify silently.\n */\n JSONPatcherProxy.prototype.disableTraps = function () {\n this.proxifiedObjectsMap.forEach(this.disableTrapsForProxy, this);\n };\n return JSONPatcherProxy;\n}();\n\nvar callbacks = [];\nvar nextTickCallback = [];\n\nfunction tick(fn, scope) {\n callbacks.push({ fn: fn, scope: scope });\n}\n\nfunction fireTick() {\n callbacks.forEach(function (item) {\n item.fn.call(item.scope);\n });\n\n nextTickCallback.forEach(function (nextItem) {\n nextItem.fn.call(nextItem.scope);\n });\n nextTickCallback.length = 0;\n}\n\nfunction nextTick(fn, scope) {\n nextTickCallback.push({ fn: fn, scope: scope });\n}\n\nfunction observe(target) {\n target.observe = true;\n}\n\nfunction proxyUpdate(ele) {\n var timeout = null;\n ele.data = new JSONPatcherProxy(ele.data).observe(false, function () {\n if (ele._willUpdate) {\n return;\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout);\n\n timeout = setTimeout(function () {\n ele.update();\n fireTick();\n }, 0);\n } else {\n ele.update();\n fireTick();\n }\n });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction define(name, ctor) {\n if (ctor.is === 'WeElement') {\n if (options.mapping[name]) {\n if (options.mapping[name] === ctor) {\n console.warn('You redefine custom elements named [' + name + '], redundant JS files may be referenced.');\n } else {\n console.warn('This custom elements name [' + name + '] has already been used, please rename it.');\n }\n return;\n }\n customElements.define(name, ctor);\n options.mapping[name] = ctor;\n if (ctor.use) {\n ctor.updatePath = getPath(ctor.use);\n } else if (ctor.data) {\n //Compatible with older versions\n ctor.updatePath = getUpdatePath(ctor.data);\n }\n } else {\n var Element = function (_WeElement) {\n _inherits(Element, _WeElement);\n\n function Element() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Element);\n\n for (var _len = arguments.length, args = Array(_len), key = 0; key < _len; key++) {\n args[key] = arguments[key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _WeElement.call.apply(_WeElement, [this].concat(args))), _this), _this._useId = 0, _this._useMap = {}, _this._preCss = null, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Element.prototype.render = function render(props, data) {\n return ctor.call(this, props, data);\n };\n\n Element.prototype.beforeRender = function beforeRender() {\n this._useId = 0;\n };\n\n Element.prototype.useCss = function useCss(css) {\n if (css === this._preCss) {\n return;\n }\n this._preCss = css;\n var style = this.shadowRoot.querySelector('style');\n style && this.shadowRoot.removeChild(style);\n this.shadowRoot.appendChild(cssToDom(css));\n };\n\n Element.prototype.useData = function useData(data) {\n return this.use({ data: data });\n };\n\n Element.prototype.use = function use(option) {\n var _this2 = this;\n\n this._useId++;\n var updater = function updater(newValue) {\n var item = _this2._useMap[updater.id];\n\n item.data = newValue;\n\n _this2.update();\n item.effect && item.effect();\n };\n\n updater.id = this._useId;\n if (!this._isInstalled) {\n this._useMap[this._useId] = option;\n return [option.data, updater];\n }\n\n return [this._useMap[this._useId].data, updater];\n };\n\n Element.prototype.installed = function installed() {\n this._isInstalled = true;\n };\n\n return Element;\n }(WeElement);\n\n customElements.define(name, Element);\n }\n}\n\nfunction getPath(obj) {\n if (Object.prototype.toString.call(obj) === '[object Array]') {\n var result = {};\n obj.forEach(function (item) {\n if (typeof item === 'string') {\n result[item] = true;\n } else {\n var tempPath = item[Object.keys(item)[0]];\n if (typeof tempPath === 'string') {\n result[tempPath] = true;\n } else {\n if (typeof tempPath[0] === 'string') {\n result[tempPath[0]] = true;\n } else {\n tempPath[0].forEach(function (path) {\n return result[path] = true;\n });\n }\n }\n }\n });\n return result;\n } else {\n return getUpdatePath(obj);\n }\n}\n\nfunction getUpdatePath(data) {\n var result = {};\n dataToPath(data, result);\n return result;\n}\n\nfunction dataToPath(data, result) {\n Object.keys(data).forEach(function (key) {\n result[key] = true;\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], key, result);\n }\n });\n}\n\nfunction _objToPath(data, path, result) {\n Object.keys(data).forEach(function (key) {\n result[path + '.' + key] = true;\n delete result[path];\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], path + '.' + key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], path + '.' + key, result);\n }\n });\n}\n\nfunction _arrayToPath(data, path, result) {\n data.forEach(function (item, index) {\n result[path + '[' + index + ']'] = true;\n delete result[path];\n var type = Object.prototype.toString.call(item);\n if (type === '[object Object]') {\n _objToPath(item, path + '[' + index + ']', result);\n } else if (type === '[object Array]') {\n _arrayToPath(item, path + '[' + index + ']', result);\n }\n });\n}\n\nfunction _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn$1(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits$1(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar id = 0;\n\nvar WeElement = function (_HTMLElement) {\n _inherits$1(WeElement, _HTMLElement);\n\n function WeElement() {\n _classCallCheck$1(this, WeElement);\n\n var _this = _possibleConstructorReturn$1(this, _HTMLElement.call(this));\n\n _this.props = Object.assign(nProps(_this.constructor.props), _this.constructor.defaultProps);\n _this.elementId = id++;\n _this.data = {};\n return _this;\n }\n\n WeElement.prototype.connectedCallback = function connectedCallback() {\n var p = this.parentNode;\n while (p && !this.store) {\n this.store = p.store;\n p = p.parentNode || p.host;\n }\n if (this.store) {\n this.store.instances.push(this);\n }\n\n if (this.initUse) {\n var use = this.initUse();\n this._updatePath = getPath(use);\n this.use = getUse(this.store.data, use);\n } else {\n this.constructor.use && (this.use = getUse(this.store.data, this.constructor.use));\n }\n this.beforeInstall();\n !this._isInstalled && this.install();\n this.afterInstall();\n var shadowRoot;\n if (!this.shadowRoot) {\n shadowRoot = this.attachShadow({\n mode: 'open'\n });\n } else {\n shadowRoot = this.shadowRoot;\n var fc;\n while (fc = shadowRoot.firstChild) {\n shadowRoot.removeChild(fc);\n }\n }\n if (this.constructor.css) {\n shadowRoot.appendChild(cssToDom(this.constructor.css));\n } else if (this.css) {\n shadowRoot.appendChild(cssToDom(typeof this.css === 'function' ? this.css() : this.css));\n }\n !this._isInstalled && this.beforeRender();\n options.afterInstall && options.afterInstall(this);\n if (this.constructor.observe) {\n this.beforeObserve();\n proxyUpdate(this);\n this.observed();\n }\n this.attrsToProps();\n this._host = diff(null, this.render(this.props, this.data, this.store), {}, false, null, false);\n this.rendered();\n\n if (this.props.css) {\n this._customStyleElement = cssToDom(this.props.css);\n this._customStyleContent = this.props.css;\n shadowRoot.appendChild(this._customStyleElement);\n }\n\n if (isArray(this._host)) {\n this._host.forEach(function (item) {\n shadowRoot.appendChild(item);\n });\n } else {\n shadowRoot.appendChild(this._host);\n }\n !this._isInstalled && this.installed();\n this._isInstalled = true;\n };\n\n WeElement.prototype.disconnectedCallback = function disconnectedCallback() {\n this.uninstall();\n this._isInstalled = false;\n if (this.store) {\n for (var i = 0, len = this.store.instances.length; i < len; i++) {\n if (this.store.instances[i] === this) {\n this.store.instances.splice(i, 1);\n break;\n }\n }\n }\n };\n\n WeElement.prototype.update = function update() {\n this._willUpdate = true;\n this.beforeUpdate();\n this.beforeRender();\n //fix null !== undefined\n if (this._customStyleContent != this.props.css) {\n this._customStyleContent = this.props.css;\n this._customStyleElement.textContent = this._customStyleContent;\n }\n this.attrsToProps();\n this._host = diff(this._host, this.render(this.props, this.data, this.store), null, null, this.shadowRoot);\n this._willUpdate = false;\n this.updated();\n };\n\n WeElement.prototype.removeAttribute = function removeAttribute(key) {\n _HTMLElement.prototype.removeAttribute.call(this, key);\n this.update();\n };\n\n WeElement.prototype.setAttribute = function setAttribute(key, val) {\n if (val && typeof val === 'object') {\n _HTMLElement.prototype.setAttribute.call(this, key, JSON.stringify(val));\n } else {\n _HTMLElement.prototype.setAttribute.call(this, key, val);\n }\n this.update();\n };\n\n WeElement.prototype.pureRemoveAttribute = function pureRemoveAttribute(key) {\n _HTMLElement.prototype.removeAttribute.call(this, key);\n };\n\n WeElement.prototype.pureSetAttribute = function pureSetAttribute(key, val) {\n _HTMLElement.prototype.setAttribute.call(this, key, val);\n };\n\n WeElement.prototype.attrsToProps = function attrsToProps() {\n var ele = this;\n if (ele.normalizedNodeName) return;\n ele.props['css'] = ele.getAttribute('css');\n var attrs = this.constructor.propTypes;\n if (!attrs) return;\n Object.keys(attrs).forEach(function (key) {\n var type = attrs[key];\n var val = ele.getAttribute(hyphenate(key));\n if (val !== null) {\n switch (type) {\n case String:\n ele.props[key] = val;\n break;\n case Number:\n ele.props[key] = Number(val);\n break;\n case Boolean:\n ele.props[key] = true;\n break;\n case Object:\n ele.props[key] = JSON.parse(val.replace(/(['\"])?([a-zA-Z0-9_]+)(['\"])?:([^\\/])/g, '\"$2\":$4').replace(/'([\\s\\S]*?)'/g, '\"$1\"'));\n break;\n }\n } else {\n if (!ele.constructor.defaultProps || !ele.constructor.defaultProps.hasOwnProperty(key)) {\n ele.props[key] = null;\n }\n }\n });\n };\n\n WeElement.prototype.fire = function fire(name, data) {\n this.dispatchEvent(new CustomEvent(name.toLowerCase(), { detail: data }));\n };\n\n WeElement.prototype.beforeInstall = function beforeInstall() {};\n\n WeElement.prototype.install = function install() {};\n\n WeElement.prototype.afterInstall = function afterInstall() {};\n\n WeElement.prototype.installed = function installed() {};\n\n WeElement.prototype.uninstall = function uninstall() {};\n\n WeElement.prototype.beforeUpdate = function beforeUpdate() {};\n\n WeElement.prototype.updated = function updated() {};\n\n WeElement.prototype.beforeRender = function beforeRender() {};\n\n WeElement.prototype.rendered = function rendered() {};\n\n WeElement.prototype.receiveProps = function receiveProps() {};\n\n WeElement.prototype.beforeObserve = function beforeObserve() {};\n\n WeElement.prototype.observed = function observed() {};\n\n return WeElement;\n}(HTMLElement);\n\nWeElement.is = 'WeElement';\n\nfunction render(vnode, parent, store) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent;\n if (store) {\n store.instances = [];\n extendStoreUpate(store);\n\n store.data = new JSONPatcherProxy(store.data).observe(false, function (patch) {\n var patchs = {};\n if (patch.op === 'remove') {\n // fix arr splice\n var kv = getArrayPatch(patch.path, store);\n patchs[kv.k] = kv.v;\n\n update(patchs, store);\n } else {\n var key = fixPath(patch.path);\n patchs[key] = patch.value;\n\n update(patchs, store);\n }\n });\n parent.store = store;\n }\n return diff(null, vnode, {}, false, parent, false);\n}\n\nfunction update(patch, store) {\n store.update(patch);\n}\n\nfunction extendStoreUpate(store) {\n store.update = function (patch) {\n var _this = this;\n\n var updateAll = matchGlobalData(this.globalData, patch);\n\n if (Object.keys(patch).length > 0) {\n this.instances.forEach(function (instance) {\n if (updateAll || _this.updateAll || instance.constructor.updatePath && needUpdate(patch, instance.constructor.updatePath) || instance._updatePath && needUpdate(patch, instance._updatePath)) {\n //update this.use\n if (instance.constructor.use) {\n instance.use = getUse(store.data, instance.constructor.use);\n } else if (instance.initUse) {\n instance.use = getUse(store.data, instance.initUse());\n }\n\n instance.update();\n }\n });\n this.onChange && this.onChange(patch);\n }\n };\n}\n\nfunction matchGlobalData(globalData, diffResult) {\n if (!globalData) return false;\n for (var keyA in diffResult) {\n if (globalData.indexOf(keyA) > -1) {\n return true;\n }\n for (var i = 0, len = globalData.length; i < len; i++) {\n if (includePath(keyA, globalData[i])) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction needUpdate(diffResult, updatePath) {\n for (var keyA in diffResult) {\n if (updatePath[keyA]) {\n return true;\n }\n for (var keyB in updatePath) {\n if (includePath(keyA, keyB)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction includePath(pathA, pathB) {\n if (pathA.indexOf(pathB) === 0) {\n var next = pathA.substr(pathB.length, 1);\n if (next === '[' || next === '.') {\n return true;\n }\n }\n return false;\n}\n\nfunction fixPath(path) {\n var mpPath = '';\n var arr = path.replace('/', '').split('/');\n arr.forEach(function (item, index) {\n if (index) {\n if (isNaN(Number(item))) {\n mpPath += '.' + item;\n } else {\n mpPath += '[' + item + ']';\n }\n } else {\n mpPath += item;\n }\n });\n return mpPath;\n}\n\nfunction getArrayPatch(path, store) {\n var arr = path.replace('/', '').split('/');\n var current = store.data[arr[0]];\n for (var i = 1, len = arr.length; i < len - 1; i++) {\n current = current[arr[i]];\n }\n return { k: fixArrPath(path), v: current };\n}\n\nfunction fixArrPath(path) {\n var mpPath = '';\n var arr = path.replace('/', '').split('/');\n var len = arr.length;\n arr.forEach(function (item, index) {\n if (index < len - 1) {\n if (index) {\n if (isNaN(Number(item))) {\n mpPath += '.' + item;\n } else {\n mpPath += '[' + item + ']';\n }\n } else {\n mpPath += item;\n }\n }\n });\n return mpPath;\n}\n\nfunction tag(name, pure) {\n return function (target) {\n target.pure = pure;\n define(name, target);\n };\n}\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nfunction cloneElement(vnode, props) {\n return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);\n}\n\nfunction getHost(ele) {\n var p = ele.parentNode;\n while (p) {\n if (p.host) {\n return p.host;\n } else if (p.shadowRoot && p.shadowRoot.host) {\n return p.shadowRoot.host;\n } else {\n p = p.parentNode;\n }\n }\n}\n\nfunction rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, function (a, b) {\n return window.innerWidth * Number(b) / 750 + 'px';\n });\n}\n\nfunction _classCallCheck$2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn$2(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits$2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ModelView = function (_WeElement) {\n _inherits$2(ModelView, _WeElement);\n\n function ModelView() {\n _classCallCheck$2(this, ModelView);\n\n return _possibleConstructorReturn$2(this, _WeElement.apply(this, arguments));\n }\n\n ModelView.prototype.beforeInstall = function beforeInstall() {\n this.data = this.vm.data;\n };\n\n ModelView.prototype.observed = function observed() {\n this.vm.data = this.data;\n };\n\n return ModelView;\n}(WeElement);\n\nModelView.observe = true;\nModelView.mergeUpdate = false;\n\n/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty;\n\nfunction classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n\nfunction extractClass() {\n var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),\n props = _Array$prototype$slic[0],\n args = _Array$prototype$slic.slice(1);\n\n if (props.class) {\n args.unshift(props.class);\n delete props.class;\n } else if (props.className) {\n args.unshift(props.className);\n delete props.className;\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) };\n }\n}\n\nfunction o(obj) {\n return JSON.stringify(obj);\n}\n\nvar n=function(t,r,u,e){for(var p=1;p\"===t?(a(), u=1):u&&(\"=\"===t?(u=4, r=e, e=\"\"):\"/\"===t?(a(), 3===u&&(s=s[0]), u=s, (s=s[0]).push(u,4), u=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(a(), u=2):e+=t);}return a(), s},r=\"function\"==typeof Map,u=r?new Map:{},e=r?function(n){var r=u.get(n);return r||u.set(n,r=t(n)), r}:function(n){for(var r=\"\",e=0;e1?r:r[0]}\n\nvar html = htm.bind(h);\n\nfunction createRef() {\n return {};\n}\n\nvar Component = WeElement;\nvar defineElement = define;\n\nvar omi = {\n tag: tag,\n WeElement: WeElement,\n Component: Component,\n render: render,\n h: h,\n createElement: h,\n options: options,\n define: define,\n observe: observe,\n cloneElement: cloneElement,\n getHost: getHost,\n rpx: rpx,\n tick: tick,\n nextTick: nextTick,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n createRef: createRef,\n html: html,\n htm: htm,\n o: o\n};\n\noptions.root.Omi = omi;\noptions.root.omi = omi;\noptions.root.Omi.version = '6.3.8';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (omi);\n\n//# sourceMappingURL=omi.esm.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/omi/dist/omi.esm.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tag\", function() { return tag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WeElement\", function() { return WeElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return Component; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return h; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createElement\", function() { return h; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"options\", function() { return options; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"define\", function() { return define; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"observe\", function() { return observe; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cloneElement\", function() { return cloneElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getHost\", function() { return getHost; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rpx\", function() { return rpx; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tick\", function() { return tick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nextTick\", function() { return nextTick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ModelView\", function() { return ModelView; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defineElement\", function() { return defineElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"classNames\", function() { return classNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"extractClass\", function() { return extractClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createRef\", function() { return createRef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"html\", function() { return html; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htm\", function() { return htm; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return o; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"elements\", function() { return elements; });\n/**\n * omi v6.6.5 http://omijs.org\n * Omi === Preact + Scoped CSS + Store System + Native Support in 3kb javascript.\n * By dntzhang https://github.com/dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\n/** Virtual DOM Node */\nfunction VNode() {}\n\nfunction getGlobal() {\n if (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) {\n return self || window || global || function () {\n return this;\n }();\n }\n return global;\n}\n\n/** Global options\n *\t@public\n *\t@namespace options {Object}\n */\nvar options = {\n store: null,\n root: getGlobal(),\n mapping: {}\n};\n\nvar stack = [];\n\nfunction h(nodeName, attributes) {\n var children = [],\n lastSimple,\n child,\n simple,\n i;\n for (i = arguments.length; i-- > 2;) {\n stack.push(arguments[i]);\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children);\n delete attributes.children;\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--;) {\n stack.push(child[i]);\n }\n } else {\n if (typeof child === 'boolean') child = null;\n\n if (simple = typeof nodeName !== 'function') {\n if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child;\n } else if (children.length === 0) {\n children = [child];\n } else {\n children.push(child);\n }\n\n lastSimple = simple;\n }\n }\n\n var p = new VNode();\n p.nodeName = nodeName;\n p.children = children;\n p.attributes = attributes == null ? undefined : attributes;\n p.key = attributes == null ? undefined : attributes.key;\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p);\n\n return p;\n}\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n(function () {\n if (\n // No Reflect, no classes, no need for shim because native custom elements\n // require ES2015 classes or Reflect.\n window.Reflect === undefined || window.customElements === undefined ||\n // The webcomponentsjs custom elements polyfill doesn't require\n // ES2015-compatible construction (`super()` or `Reflect.construct`).\n window.customElements.hasOwnProperty('polyfillWrapFlushCallback')) {\n return;\n }\n var BuiltInHTMLElement = HTMLElement;\n window.HTMLElement = function HTMLElement() {\n return Reflect.construct(BuiltInHTMLElement, [], this.constructor);\n };\n HTMLElement.prototype = BuiltInHTMLElement.prototype;\n HTMLElement.prototype.constructor = HTMLElement;\n Object.setPrototypeOf(HTMLElement, BuiltInHTMLElement);\n})();\n\nfunction cssToDom(css) {\n var node = document.createElement('style');\n node.textContent = css;\n return node;\n}\n\nfunction npn(str) {\n return str.replace(/-(\\w)/g, function ($, $1) {\n return $1.toUpperCase();\n });\n}\n\nfunction extend(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nfunction applyRef(ref, value) {\n if (ref != null) {\n if (typeof ref == 'function') ref(value);else ref.current = value;\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n * @type {(callback: function) => void}\n */\nvar defer = typeof Promise == 'function' ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;\n\nfunction isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n}\n\nfunction nProps(props) {\n if (!props || isArray(props)) return {};\n var result = {};\n Object.keys(props).forEach(function (key) {\n result[key] = props[key].value;\n });\n return result;\n}\n\nfunction getUse(data, paths) {\n var obj = [];\n paths.forEach(function (path, index) {\n var isPath = typeof path === 'string';\n if (isPath) {\n obj[index] = getTargetByPath(data, path);\n } else {\n var key = Object.keys(path)[0];\n var value = path[key];\n if (typeof value === 'string') {\n obj[index] = getTargetByPath(data, value);\n } else {\n var tempPath = value[0];\n if (typeof tempPath === 'string') {\n var tempVal = getTargetByPath(data, tempPath);\n obj[index] = value[1] ? value[1](tempVal) : tempVal;\n } else {\n var args = [];\n tempPath.forEach(function (path) {\n args.push(getTargetByPath(data, path));\n });\n obj[index] = value[1].apply(null, args);\n }\n }\n obj[key] = obj[index];\n }\n });\n return obj;\n}\n\nfunction getTargetByPath(origin, path) {\n var arr = path.replace(/]/g, '').replace(/\\[/g, '.').split('.');\n var current = origin;\n for (var i = 0, len = arr.length; i < len; i++) {\n current = current[arr[i]];\n }\n return current;\n}\n\nvar hyphenateRE = /\\B([A-Z])/g;\nfunction hyphenate(str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n}\n\n// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nfunction isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined;\n }\n if (typeof vnode.nodeName === 'string') {\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName);\n } else if (typeof vnode.nodeName === 'function') {\n return options.mapping[node.nodeName.toLowerCase()] === vnode.nodeName;\n }\n return hydrating || node._componentConstructor === vnode.nodeName;\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nfunction isNamedNode(node, nodeName) {\n return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();\n}\n\n/**\n * Create an element with the given nodeName.\n * @param {string} nodeName The DOM node to create\n * @param {boolean} [isSvg=false] If `true`, creates an element within the SVG\n * namespace.\n * @returns {Element} The created DOM node\n */\nfunction createNode(nodeName, isSvg) {\n /** @type {Element} */\n var node = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName);\n node.normalizedNodeName = nodeName;\n return node;\n}\n\n/**\n * Remove a child node from its parent if attached.\n * @param {Node} node The node to remove\n */\nfunction removeNode(node) {\n var parentNode = node.parentNode;\n if (parentNode) parentNode.removeChild(node);\n}\n\n/**\n * Set a named attribute on the given Node, with special behavior for some names\n * and event handlers. If `value` is `null`, the attribute/handler will be\n * removed.\n * @param {Element} node An element to mutate\n * @param {string} name The name/key to set, such as an event or attribute name\n * @param {*} old The last value that was set for this name/node pair\n * @param {*} value An attribute value, such as a function to be used as an\n * event handler\n * @param {boolean} isSvg Are we currently diffing inside an svg?\n * @private\n */\nfunction setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class';\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null);\n applyRef(value, node);\n } else if (name === 'class' && !isSvg) {\n node.className = value || '';\n } else if (name === 'style') {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || '';\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (var i in old) {\n if (!(i in value)) node.style[i] = '';\n }\n }\n for (var i in value) {\n node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false ? value[i] + 'px' : value[i];\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || '';\n } else if (name[0] == 'o' && name[1] == 'n') {\n var useCapture = name !== (name = name.replace(/Capture$/, ''));\n name = name.toLowerCase().substring(2);\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture);\n node.addEventListener('touchend', touchEnd, useCapture);\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture);\n node.removeEventListener('touchend', touchEnd, useCapture);\n }\n }\n(node._listeners || (node._listeners = {}))[name] = value;\n } else if (name !== 'list' && name !== 'type' && name !== 'css' && !isSvg && name in node && value !== '') {\n //value !== '' fix for selected, disabled, checked with pure element\n // Attempt to set a DOM property to the given value.\n // IE & FF throw for certain property-value combinations.\n try {\n node[name] = value == null ? '' : value;\n } catch (e) {}\n if ((value == null || value === false) && name != 'spellcheck') node.pureRemoveAttribute ? node.pureRemoveAttribute(name) : node.removeAttribute(name);\n } else {\n var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));\n // spellcheck is treated differently than all other boolean values and\n // should not be removed when the value is `false`. See:\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-spellcheck\n if (value == null || value === false) {\n if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.pureRemoveAttribute ? node.pureRemoveAttribute(name) : node.removeAttribute(name);\n } else if (typeof value !== 'function') {\n if (ns) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);\n } else {\n node.pureSetAttribute ? node.pureSetAttribute(name, value) : node.setAttribute(name, value);\n }\n }\n }\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type](options.event && options.event(e) || e);\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX;\n this.___touchY = e.touches[0].pageY;\n this.___scrollTop = document.body.scrollTop;\n}\n\nfunction touchEnd(e) {\n if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }));\n }\n}\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nvar diffLevel = 0;\n\n/** Global flag indicating if the diff is currently within an SVG */\nvar isSvgMode = false;\n\n/** Global flag indicating if the diff is performing hydration */\nvar hydrating = false;\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nfunction diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n var ret;\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined;\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !('__omiattr_' in dom);\n }\n if (isArray(vnode)) {\n if (parent) {\n var styles = parent.querySelectorAll('style');\n styles.forEach(function (s) {\n parent.removeChild(s);\n });\n innerDiffNode(parent, vnode);\n\n for (var i = styles.length - 1; i >= 0; i--) {\n parent.firstChild ? parent.insertBefore(styles[i], parent.firstChild) : parent.appendChild(style[i]);\n }\n } else {\n\n ret = [];\n vnode.forEach(function (item, index) {\n var ele = idiff(index === 0 ? dom : null, item, context, mountAll, componentRoot);\n ret.push(ele);\n parent && parent.appendChild(ele);\n });\n }\n } else {\n if (isArray(dom)) {\n dom.forEach(function (one, index) {\n if (index === 0) {\n ret = idiff(one, vnode, context, mountAll, componentRoot);\n } else {\n recollectNodeTree(one, false);\n }\n });\n } else {\n ret = idiff(dom, vnode, context, mountAll, componentRoot);\n }\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret);\n }\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (! --diffLevel) {\n hydrating = false;\n // invoke queued componentDidMount lifecycle methods\n }\n\n return ret;\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n if (dom && vnode && dom.props) {\n dom.props.children = vnode.children;\n }\n var out = dom,\n prevSvgMode = isSvgMode;\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = '';\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode;\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode);\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n recollectNodeTree(dom, true);\n }\n }\n\n out['__omiattr_'] = true;\n\n return out;\n }\n\n // If the VNode represents a Component, perform a component diff:\n var vnodeName = vnode.nodeName;\n if (typeof vnodeName === 'function') {\n for (var key in options.mapping) {\n if (options.mapping[key] === vnodeName) {\n vnodeName = key;\n vnode.nodeName = key;\n break;\n }\n }\n }\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName);\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode);\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) {\n out.appendChild(dom.firstChild);\n } // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true);\n }\n }\n\n var fc = out.firstChild,\n props = out['__omiattr_'],\n vchildren = vnode.children;\n\n if (props == null) {\n props = out['__omiattr_'] = {};\n for (var a = out.attributes, i = a.length; i--;) {\n props[a[i].name] = a[i].value;\n }\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0];\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if (vchildren && vchildren.length || fc != null) {\n if (!(out.constructor.is == 'WeElement' && out.constructor.noSlot)) {\n innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);\n }\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props);\n if (out.props) {\n out.props.children = vnode.children;\n }\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode;\n\n return out;\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n var originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child;\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (var i = 0; i < len; i++) {\n var _child = originalChildren[i],\n props = _child['__omiattr_'],\n key = vlen && props ? _child._component ? _child._component.__key : props.key : null;\n if (key != null) {\n keyedLen++;\n keyed[key] = _child;\n } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {\n children[childrenLen++] = _child;\n }\n }\n }\n\n if (vlen !== 0) {\n for (var i = 0; i < vlen; i++) {\n vchild = vchildren[i];\n child = null;\n\n // attempt to find a node based on key matching\n var key = vchild.key;\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key];\n keyed[key] = undefined;\n keyedLen--;\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {\n child = c;\n children[j] = undefined;\n if (j === childrenLen - 1) childrenLen--;\n if (j === min) min++;\n break;\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll);\n\n f = originalChildren[i];\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child);\n } else if (child === f.nextSibling) {\n removeNode(f);\n } else {\n dom.insertBefore(child, f);\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (var i in keyed) {\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);\n }\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nfunction recollectNodeTree(node, unmountOnly) {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node['__omiattr_'] != null && node['__omiattr_'].ref) {\n if (typeof node['__omiattr_'].ref === 'function') {\n node['__omiattr_'].ref(null);\n } else if (node['__omiattr_'].ref.current) {\n node['__omiattr_'].ref.current = null;\n }\n }\n\n if (unmountOnly === false || node['__omiattr_'] == null) {\n removeNode(node);\n }\n\n removeChildren(node);\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nfunction removeChildren(node) {\n node = node.lastChild;\n while (node) {\n var next = node.previousSibling;\n recollectNodeTree(node, true);\n node = next;\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n var name;\n var update = false;\n var isWeElement = dom.update;\n var oldClone;\n if (dom.receiveProps) {\n oldClone = Object.assign({}, old);\n }\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);\n if (isWeElement) {\n delete dom.props[name];\n update = true;\n }\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (isWeElement && typeof attrs[name] === 'object' && name !== 'ref') {\n if (name === 'style') {\n setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n }\n if (dom.receiveProps) {\n try {\n old[name] = JSON.parse(JSON.stringify(attrs[name]));\n } catch (e) {\n console.warn('When using receiveProps, you cannot pass prop of cyclic dependencies down.');\n }\n }\n dom.props[npn(name)] = attrs[name];\n update = true;\n } else if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {\n setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n if (isWeElement) {\n dom.props[npn(name)] = attrs[name];\n update = true;\n }\n }\n }\n\n if (isWeElement && dom.parentNode) {\n //__hasChildren is not accuracy when it was empty at first, so add dom.children.length > 0 condition\n if (update || dom.__hasChildren || dom.children.length > 0 || dom.store && !dom.store.data) {\n if (dom.receiveProps(dom.props, dom.data, oldClone) !== false) {\n dom.update();\n }\n }\n }\n}\n\n/*!\n * https://github.com/Palindrom/JSONPatcherProxy\n * (c) 2017 Starcounter\n * MIT license\n */\n\n/** Class representing a JS Object observer */\nvar JSONPatcherProxy = function () {\n /**\n * Deep clones your object and returns a new object.\n */\n function deepClone(obj) {\n switch (typeof obj) {\n case 'object':\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case 'undefined':\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n }\n JSONPatcherProxy.deepClone = deepClone;\n\n function escapePathComponent(str) {\n if (str.indexOf('/') == -1 && str.indexOf('~') == -1) return str;\n return str.replace(/~/g, '~0').replace(/\\//g, '~1');\n }\n JSONPatcherProxy.escapePathComponent = escapePathComponent;\n\n /**\n * Walk up the parenthood tree to get the path\n * @param {JSONPatcherProxy} instance\n * @param {Object} obj the object you need to find its path\n */\n function findObjectPath(instance, obj) {\n var pathComponents = [];\n var parentAndPath = instance.parenthoodMap.get(obj);\n while (parentAndPath && parentAndPath.path) {\n // because we're walking up-tree, we need to use the array as a stack\n pathComponents.unshift(parentAndPath.path);\n parentAndPath = instance.parenthoodMap.get(parentAndPath.parent);\n }\n if (pathComponents.length) {\n var path = pathComponents.join('/');\n return '/' + path;\n }\n return '';\n }\n /**\n * A callback to be used as th proxy set trap callback.\n * It updates parenthood map if needed, proxifies nested newly-added objects, calls default callbacks with the changes occurred.\n * @param {JSONPatcherProxy} instance JSONPatcherProxy instance\n * @param {Object} target the affected object\n * @param {String} key the effect property's name\n * @param {Any} newValue the value being set\n */\n function setTrap(instance, target, key, newValue) {\n var parentPath = findObjectPath(instance, target);\n\n var destinationPropKey = parentPath + '/' + escapePathComponent(key);\n\n if (instance.proxifiedObjectsMap.has(newValue)) {\n var newValueOriginalObject = instance.proxifiedObjectsMap.get(newValue);\n\n instance.parenthoodMap.set(newValueOriginalObject.originalObject, {\n parent: target,\n path: key\n });\n }\n /*\n mark already proxified values as inherited.\n rationale: proxy.arr.shift()\n will emit\n {op: replace, path: '/arr/1', value: arr_2}\n {op: remove, path: '/arr/2'}\n by default, the second operation would revoke the proxy, and this renders arr revoked.\n That's why we need to remember the proxies that are inherited.\n */\n var revokableInstance = instance.proxifiedObjectsMap.get(newValue);\n /*\n Why do we need to check instance.isProxifyingTreeNow?\n We need to make sure we mark revokables as inherited ONLY when we're observing,\n because throughout the first proxification, a sub-object is proxified and then assigned to\n its parent object. This assignment of a pre-proxified object can fool us into thinking\n that it's a proxified object moved around, while in fact it's the first assignment ever.\n Checking isProxifyingTreeNow ensures this is not happening in the first proxification,\n but in fact is is a proxified object moved around the tree\n */\n if (revokableInstance && !instance.isProxifyingTreeNow) {\n revokableInstance.inherited = true;\n }\n\n // if the new value is an object, make sure to watch it\n if (newValue && typeof newValue == 'object' && !instance.proxifiedObjectsMap.has(newValue)) {\n instance.parenthoodMap.set(newValue, {\n parent: target,\n path: key\n });\n newValue = instance._proxifyObjectTreeRecursively(target, newValue, key);\n }\n // let's start with this operation, and may or may not update it later\n var operation = {\n op: 'remove',\n path: destinationPropKey\n };\n if (typeof newValue == 'undefined') {\n // applying De Morgan's laws would be a tad faster, but less readable\n if (!Array.isArray(target) && !target.hasOwnProperty(key)) {\n // `undefined` is being set to an already undefined value, keep silent\n return Reflect.set(target, key, newValue);\n }\n // when array element is set to `undefined`, should generate replace to `null`\n if (Array.isArray(target)) {\noperation.op = 'replace', operation.value = null;\n }\n var oldValue = instance.proxifiedObjectsMap.get(target[key]);\n // was the deleted a proxified object?\n if (oldValue) {\n instance.parenthoodMap.delete(target[key]);\n instance.disableTrapsForProxy(oldValue);\n instance.proxifiedObjectsMap.delete(oldValue);\n }\n } else {\n if (Array.isArray(target) && !Number.isInteger(+key.toString())) {\n /* array props (as opposed to indices) don't emit any patches, to avoid needless `length` patches */\n if (key != 'length') {\n console.warn('JSONPatcherProxy noticed a non-integer prop was set for an array. This will not emit a patch');\n }\n return Reflect.set(target, key, newValue);\n }\n operation.op = 'add';\n if (target.hasOwnProperty(key)) {\n if (typeof target[key] !== 'undefined' || Array.isArray(target)) {\n operation.op = 'replace'; // setting `undefined` array elements is a `replace` op\n }\n }\n operation.value = newValue;\n }\n operation.oldValue = target[key];\n var reflectionResult = Reflect.set(target, key, newValue);\n instance.defaultCallback(operation);\n return reflectionResult;\n }\n /**\n * A callback to be used as th proxy delete trap callback.\n * It updates parenthood map if needed, calls default callbacks with the changes occurred.\n * @param {JSONPatcherProxy} instance JSONPatcherProxy instance\n * @param {Object} target the effected object\n * @param {String} key the effected property's name\n */\n function deleteTrap(instance, target, key) {\n if (typeof target[key] !== 'undefined') {\n var parentPath = findObjectPath(instance, target);\n var destinationPropKey = parentPath + '/' + escapePathComponent(key);\n\n var revokableProxyInstance = instance.proxifiedObjectsMap.get(target[key]);\n\n if (revokableProxyInstance) {\n if (revokableProxyInstance.inherited) {\n /*\n this is an inherited proxy (an already proxified object that was moved around),\n we shouldn't revoke it, because even though it was removed from path1, it is still used in path2.\n And we know that because we mark moved proxies with `inherited` flag when we move them\n it is a good idea to remove this flag if we come across it here, in deleteProperty trap.\n We DO want to revoke the proxy if it was removed again.\n */\n revokableProxyInstance.inherited = false;\n } else {\n instance.parenthoodMap.delete(revokableProxyInstance.originalObject);\n instance.disableTrapsForProxy(revokableProxyInstance);\n instance.proxifiedObjectsMap.delete(target[key]);\n }\n }\n var reflectionResult = Reflect.deleteProperty(target, key);\n\n instance.defaultCallback({\n op: 'remove',\n path: destinationPropKey\n });\n\n return reflectionResult;\n }\n }\n /* pre-define resume and pause functions to enhance constructors performance */\n function resume() {\n var _this = this;\n\n this.defaultCallback = function (operation) {\n _this.isRecording && _this.patches.push(operation);\n _this.userCallback && _this.userCallback(operation);\n };\n this.isObserving = true;\n }\n function pause() {\n this.defaultCallback = function () {};\n this.isObserving = false;\n }\n /**\n * Creates an instance of JSONPatcherProxy around your object of interest `root`.\n * @param {Object|Array} root - the object you want to wrap\n * @param {Boolean} [showDetachedWarning = true] - whether to log a warning when a detached sub-object is modified @see {@link https://github.com/Palindrom/JSONPatcherProxy#detached-objects}\n * @returns {JSONPatcherProxy}\n * @constructor\n */\n function JSONPatcherProxy(root, showDetachedWarning) {\n this.isProxifyingTreeNow = false;\n this.isObserving = false;\n this.proxifiedObjectsMap = new Map();\n this.parenthoodMap = new Map();\n // default to true\n if (typeof showDetachedWarning !== 'boolean') {\n showDetachedWarning = true;\n }\n\n this.showDetachedWarning = showDetachedWarning;\n this.originalObject = root;\n this.cachedProxy = null;\n this.isRecording = false;\n this.userCallback;\n /**\n * @memberof JSONPatcherProxy\n * Restores callback back to the original one provided to `observe`.\n */\n this.resume = resume.bind(this);\n /**\n * @memberof JSONPatcherProxy\n * Replaces your callback with a noop function.\n */\n this.pause = pause.bind(this);\n }\n\n JSONPatcherProxy.prototype.generateProxyAtPath = function (parent, obj, path) {\n var _this2 = this;\n\n if (!obj) {\n return obj;\n }\n var traps = {\n set: function set(target, key, value, receiver) {\n return setTrap(_this2, target, key, value, receiver);\n },\n deleteProperty: function deleteProperty(target, key) {\n return deleteTrap(_this2, target, key);\n }\n };\n var revocableInstance = Proxy.revocable(obj, traps);\n // cache traps object to disable them later.\n revocableInstance.trapsInstance = traps;\n revocableInstance.originalObject = obj;\n\n /* keeping track of object's parent and path */\n\n this.parenthoodMap.set(obj, { parent: parent, path: path });\n\n /* keeping track of all the proxies to be able to revoke them later */\n this.proxifiedObjectsMap.set(revocableInstance.proxy, revocableInstance);\n return revocableInstance.proxy;\n };\n // grab tree's leaves one by one, encapsulate them into a proxy and return\n JSONPatcherProxy.prototype._proxifyObjectTreeRecursively = function (parent, root, path) {\n for (var key in root) {\n if (root.hasOwnProperty(key)) {\n if (root[key] instanceof Object) {\n root[key] = this._proxifyObjectTreeRecursively(root, root[key], escapePathComponent(key));\n }\n }\n }\n return this.generateProxyAtPath(parent, root, path);\n };\n // this function is for aesthetic purposes\n JSONPatcherProxy.prototype.proxifyObjectTree = function (root) {\n /*\n while proxyifying object tree,\n the proxyifying operation itself is being\n recorded, which in an unwanted behavior,\n that's why we disable recording through this\n initial process;\n */\n this.pause();\n this.isProxifyingTreeNow = true;\n var proxifiedObject = this._proxifyObjectTreeRecursively(undefined, root, '');\n /* OK you can record now */\n this.isProxifyingTreeNow = false;\n this.resume();\n return proxifiedObject;\n };\n /**\n * Turns a proxified object into a forward-proxy object; doesn't emit any patches anymore, like a normal object\n * @param {Proxy} proxy - The target proxy object\n */\n JSONPatcherProxy.prototype.disableTrapsForProxy = function (revokableProxyInstance) {\n if (this.showDetachedWarning) {\n var message = \"You're accessing an object that is detached from the observedObject tree, see https://github.com/Palindrom/JSONPatcherProxy#detached-objects\";\n\n revokableProxyInstance.trapsInstance.set = function (targetObject, propKey, newValue) {\n console.warn(message);\n return Reflect.set(targetObject, propKey, newValue);\n };\n revokableProxyInstance.trapsInstance.set = function (targetObject, propKey, newValue) {\n console.warn(message);\n return Reflect.set(targetObject, propKey, newValue);\n };\n revokableProxyInstance.trapsInstance.deleteProperty = function (targetObject, propKey) {\n return Reflect.deleteProperty(targetObject, propKey);\n };\n } else {\n delete revokableProxyInstance.trapsInstance.set;\n delete revokableProxyInstance.trapsInstance.get;\n delete revokableProxyInstance.trapsInstance.deleteProperty;\n }\n };\n /**\n * Proxifies the object that was passed in the constructor and returns a proxified mirror of it. Even though both parameters are options. You need to pass at least one of them.\n * @param {Boolean} [record] - whether to record object changes to a later-retrievable patches array.\n * @param {Function} [callback] - this will be synchronously called with every object change with a single `patch` as the only parameter.\n */\n JSONPatcherProxy.prototype.observe = function (record, callback) {\n if (!record && !callback) {\n throw new Error('You need to either record changes or pass a callback');\n }\n this.isRecording = record;\n this.userCallback = callback;\n /*\n I moved it here to remove it from `unobserve`,\n this will also make the constructor faster, why initiate\n the array before they decide to actually observe with recording?\n They might need to use only a callback.\n */\n if (record) this.patches = [];\n this.cachedProxy = this.proxifyObjectTree(this.originalObject);\n return this.cachedProxy;\n };\n /**\n * If the observed is set to record, it will synchronously return all the patches and empties patches array.\n */\n JSONPatcherProxy.prototype.generate = function () {\n if (!this.isRecording) {\n throw new Error('You should set record to true to get patches later');\n }\n return this.patches.splice(0, this.patches.length);\n };\n /**\n * Revokes all proxies rendering the observed object useless and good for garbage collection @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/revocable}\n */\n JSONPatcherProxy.prototype.revoke = function () {\n this.proxifiedObjectsMap.forEach(function (el) {\n el.revoke();\n });\n };\n /**\n * Disables all proxies' traps, turning the observed object into a forward-proxy object, like a normal object that you can modify silently.\n */\n JSONPatcherProxy.prototype.disableTraps = function () {\n this.proxifiedObjectsMap.forEach(this.disableTrapsForProxy, this);\n };\n return JSONPatcherProxy;\n}();\n\nvar callbacks = [];\nvar nextTickCallback = [];\n\nfunction tick(fn, scope) {\n callbacks.push({ fn: fn, scope: scope });\n}\n\nfunction fireTick() {\n callbacks.forEach(function (item) {\n item.fn.call(item.scope);\n });\n\n nextTickCallback.forEach(function (nextItem) {\n nextItem.fn.call(nextItem.scope);\n });\n nextTickCallback.length = 0;\n}\n\nfunction nextTick(fn, scope) {\n nextTickCallback.push({ fn: fn, scope: scope });\n}\n\nfunction observe(target) {\n target.observe = true;\n}\n\nfunction proxyUpdate(ele) {\n var timeout = null;\n ele.data = new JSONPatcherProxy(ele.data).observe(false, function () {\n if (ele._willUpdate) {\n return;\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout);\n\n timeout = setTimeout(function () {\n ele.update();\n fireTick();\n }, 0);\n } else {\n ele.update();\n fireTick();\n }\n });\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction define(name, ctor) {\n if (ctor.is === 'WeElement') {\n if (options.mapping[name]) {\n // if(options.mapping[name] === ctor){\n // console.warn(`You redefine custom elements named [${name}], redundant JS files may be referenced.`)\n // } else {\n // console.warn(`This custom elements name [${name}] has already been used, please rename it.`)\n // }\n return;\n }\n customElements.define(name, ctor);\n options.mapping[name] = ctor;\n if (ctor.use) {\n ctor.updatePath = getPath(ctor.use);\n } else if (ctor.data) {\n //Compatible with older versions\n ctor.updatePath = getUpdatePath(ctor.data);\n }\n } else {\n var Element = function (_WeElement) {\n _inherits(Element, _WeElement);\n\n function Element() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Element);\n\n for (var _len = arguments.length, args = Array(_len), key = 0; key < _len; key++) {\n args[key] = arguments[key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _WeElement.call.apply(_WeElement, [this].concat(args))), _this), _this._useId = 0, _this._useMap = {}, _this._preCss = null, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Element.prototype.render = function render(props, data) {\n return ctor.call(this, props, data);\n };\n\n Element.prototype.beforeRender = function beforeRender() {\n this._useId = 0;\n };\n\n Element.prototype.useCss = function useCss(css) {\n if (css === this._preCss) {\n return;\n }\n this._preCss = css;\n var style = this.shadowRoot.querySelector('style');\n style && this.shadowRoot.removeChild(style);\n this.shadowRoot.appendChild(cssToDom(css));\n };\n\n Element.prototype.useData = function useData(data) {\n return this.use({ data: data });\n };\n\n Element.prototype.use = function use(option) {\n var _this2 = this;\n\n this._useId++;\n var updater = function updater(newValue) {\n var item = _this2._useMap[updater.id];\n\n item.data = newValue;\n\n _this2.update();\n item.effect && item.effect();\n };\n\n updater.id = this._useId;\n if (!this._isInstalled) {\n this._useMap[this._useId] = option;\n return [option.data, updater];\n }\n\n return [this._useMap[this._useId].data, updater];\n };\n\n Element.prototype.installed = function installed() {\n this._isInstalled = true;\n };\n\n return Element;\n }(WeElement);\n\n customElements.define(name, Element);\n }\n}\n\nfunction getPath(obj) {\n if (Object.prototype.toString.call(obj) === '[object Array]') {\n var result = {};\n obj.forEach(function (item) {\n if (typeof item === 'string') {\n result[item] = true;\n } else {\n var tempPath = item[Object.keys(item)[0]];\n if (typeof tempPath === 'string') {\n result[tempPath] = true;\n } else {\n if (typeof tempPath[0] === 'string') {\n result[tempPath[0]] = true;\n } else {\n tempPath[0].forEach(function (path) {\n return result[path] = true;\n });\n }\n }\n }\n });\n return result;\n } else {\n return getUpdatePath(obj);\n }\n}\n\nfunction getUpdatePath(data) {\n var result = {};\n dataToPath(data, result);\n return result;\n}\n\nfunction dataToPath(data, result) {\n Object.keys(data).forEach(function (key) {\n result[key] = true;\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], key, result);\n }\n });\n}\n\nfunction _objToPath(data, path, result) {\n Object.keys(data).forEach(function (key) {\n result[path + '.' + key] = true;\n delete result[path];\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], path + '.' + key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], path + '.' + key, result);\n }\n });\n}\n\nfunction _arrayToPath(data, path, result) {\n data.forEach(function (item, index) {\n result[path + '[' + index + ']'] = true;\n delete result[path];\n var type = Object.prototype.toString.call(item);\n if (type === '[object Object]') {\n _objToPath(item, path + '[' + index + ']', result);\n } else if (type === '[object Array]') {\n _arrayToPath(item, path + '[' + index + ']', result);\n }\n });\n}\n\nfunction _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn$1(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits$1(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar id = 0;\n\nvar WeElement = function (_HTMLElement) {\n _inherits$1(WeElement, _HTMLElement);\n\n function WeElement() {\n _classCallCheck$1(this, WeElement);\n\n var _this = _possibleConstructorReturn$1(this, _HTMLElement.call(this));\n\n _this.props = Object.assign(nProps(_this.constructor.props), _this.constructor.defaultProps);\n _this.elementId = id++;\n _this.data = {};\n return _this;\n }\n\n WeElement.prototype.connectedCallback = function connectedCallback() {\n var p = this.parentNode;\n while (p && !this.store) {\n this.store = p.store;\n p = p.parentNode || p.host;\n }\n if (this.store) {\n this.store.instances.push(this);\n }\n\n if (this.initUse) {\n var use = this.initUse();\n this._updatePath = getPath(use);\n this.use = getUse(this.store.data, use);\n } else {\n this.constructor.use && (this.use = getUse(this.store.data, this.constructor.use));\n }\n this.attrsToProps();\n this.beforeInstall();\n this.install();\n this.afterInstall();\n\n var shadowRoot;\n if (!this.shadowRoot) {\n shadowRoot = this.attachShadow({\n mode: 'open'\n });\n } else {\n shadowRoot = this.shadowRoot;\n var fc;\n while (fc = shadowRoot.firstChild) {\n shadowRoot.removeChild(fc);\n }\n }\n\n if (this.constructor.css) {\n shadowRoot.appendChild(cssToDom(this.constructor.css));\n } else if (this.css) {\n shadowRoot.appendChild(cssToDom(typeof this.css === 'function' ? this.css() : this.css));\n }\n this.beforeRender();\n options.afterInstall && options.afterInstall(this);\n if (this.constructor.observe) {\n this.beforeObserve();\n proxyUpdate(this);\n this.observed();\n }\n\n var rendered = this.render(this.props, this.data, this.store);\n this.__hasChildren = Object.prototype.toString.call(rendered) === '[object Array]' && rendered.length > 0;\n\n this._host = diff(null, rendered, {}, false, null, false);\n this.rendered();\n\n if (this.props.css) {\n this._customStyleElement = cssToDom(this.props.css);\n this._customStyleContent = this.props.css;\n shadowRoot.appendChild(this._customStyleElement);\n }\n\n if (isArray(this._host)) {\n this._host.forEach(function (item) {\n shadowRoot.appendChild(item);\n });\n } else {\n shadowRoot.appendChild(this._host);\n }\n this.installed();\n this._isInstalled = true;\n };\n\n WeElement.prototype.disconnectedCallback = function disconnectedCallback() {\n this.uninstall();\n this._isInstalled = false;\n if (this.store) {\n for (var i = 0, len = this.store.instances.length; i < len; i++) {\n if (this.store.instances[i] === this) {\n this.store.instances.splice(i, 1);\n break;\n }\n }\n }\n };\n\n WeElement.prototype.update = function update(ignoreAttrs) {\n this._willUpdate = true;\n this.beforeUpdate();\n this.beforeRender();\n //fix null !== undefined\n if (this._customStyleContent != this.props.css) {\n this._customStyleContent = this.props.css;\n this._customStyleElement.textContent = this._customStyleContent;\n }\n this.attrsToProps(ignoreAttrs);\n\n var rendered = this.render(this.props, this.data, this.store);\n this.__hasChildren = this.__hasChildren || Object.prototype.toString.call(rendered) === '[object Array]' && rendered.length > 0;\n\n this._host = diff(this._host, rendered, null, null, this.shadowRoot);\n this._willUpdate = false;\n this.updated();\n };\n\n WeElement.prototype.removeAttribute = function removeAttribute(key) {\n _HTMLElement.prototype.removeAttribute.call(this, key);\n //Avoid executing removeAttribute methods before connectedCallback\n this._isInstalled && this.update();\n };\n\n WeElement.prototype.setAttribute = function setAttribute(key, val) {\n if (val && typeof val === 'object') {\n _HTMLElement.prototype.setAttribute.call(this, key, JSON.stringify(val));\n } else {\n _HTMLElement.prototype.setAttribute.call(this, key, val);\n }\n //Avoid executing setAttribute methods before connectedCallback\n this._isInstalled && this.update();\n };\n\n WeElement.prototype.pureRemoveAttribute = function pureRemoveAttribute(key) {\n _HTMLElement.prototype.removeAttribute.call(this, key);\n };\n\n WeElement.prototype.pureSetAttribute = function pureSetAttribute(key, val) {\n _HTMLElement.prototype.setAttribute.call(this, key, val);\n };\n\n WeElement.prototype.attrsToProps = function attrsToProps(ignoreAttrs) {\n var ele = this;\n if (ele.normalizedNodeName || ignoreAttrs) return;\n ele.props['css'] = ele.getAttribute('css');\n var attrs = this.constructor.propTypes;\n if (!attrs) return;\n Object.keys(attrs).forEach(function (key) {\n var type = attrs[key];\n var val = ele.getAttribute(hyphenate(key));\n if (val !== null) {\n switch (type) {\n case String:\n ele.props[key] = val;\n break;\n case Number:\n ele.props[key] = Number(val);\n break;\n case Boolean:\n if (val === 'false' || val === '0') {\n ele.props[key] = false;\n } else {\n ele.props[key] = true;\n }\n break;\n case Array:\n case Object:\n ele.props[key] = JSON.parse(val.replace(/(['\"])?([a-zA-Z0-9_-]+)(['\"])?:([^\\/])/g, '\"$2\":$4').replace(/'([\\s\\S]*?)'/g, '\"$1\"').replace(/,(\\s*})/g, '$1'));\n break;\n }\n } else {\n if (ele.constructor.defaultProps && ele.constructor.defaultProps.hasOwnProperty(key)) {\n ele.props[key] = ele.constructor.defaultProps[key];\n } else {\n ele.props[key] = null;\n }\n }\n });\n };\n\n WeElement.prototype.fire = function fire(name, data) {\n this.dispatchEvent(new CustomEvent(name.replace(/-/g, '').toLowerCase(), { detail: data }));\n };\n\n WeElement.prototype.beforeInstall = function beforeInstall() {};\n\n WeElement.prototype.install = function install() {};\n\n WeElement.prototype.afterInstall = function afterInstall() {};\n\n WeElement.prototype.installed = function installed() {};\n\n WeElement.prototype.uninstall = function uninstall() {};\n\n WeElement.prototype.beforeUpdate = function beforeUpdate() {};\n\n WeElement.prototype.updated = function updated() {};\n\n WeElement.prototype.beforeRender = function beforeRender() {};\n\n WeElement.prototype.rendered = function rendered() {};\n\n WeElement.prototype.receiveProps = function receiveProps() {};\n\n WeElement.prototype.beforeObserve = function beforeObserve() {};\n\n WeElement.prototype.observed = function observed() {};\n\n return WeElement;\n}(HTMLElement);\n\nWeElement.is = 'WeElement';\n\nfunction render(vnode, parent, store) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent;\n if (store) {\n store.instances = [];\n extendStoreUpate(store);\n\n store.data = new JSONPatcherProxy(store.data).observe(false, function (patch) {\n var patchs = {};\n if (patch.op === 'remove') {\n // fix arr splice\n var kv = getArrayPatch(patch.path, store);\n patchs[kv.k] = kv.v;\n\n update(patchs, store);\n } else {\n var key = fixPath(patch.path);\n patchs[key] = patch.value;\n\n update(patchs, store);\n }\n });\n parent.store = store;\n }\n return diff(null, vnode, {}, false, parent, false);\n}\n\nfunction update(patch, store) {\n store.update(patch);\n}\n\nfunction extendStoreUpate(store) {\n store.update = function (patch) {\n var _this = this;\n\n var updateAll = matchGlobalData(this.globalData, patch);\n\n if (Object.keys(patch).length > 0) {\n this.instances.forEach(function (instance) {\n if (updateAll || _this.updateAll || instance.constructor.updatePath && needUpdate(patch, instance.constructor.updatePath) || instance._updatePath && needUpdate(patch, instance._updatePath)) {\n //update this.use\n if (instance.constructor.use) {\n instance.use = getUse(store.data, instance.constructor.use);\n } else if (instance.initUse) {\n instance.use = getUse(store.data, instance.initUse());\n }\n\n instance.update();\n }\n });\n this.onChange && this.onChange(patch);\n }\n };\n}\n\nfunction matchGlobalData(globalData, diffResult) {\n if (!globalData) return false;\n for (var keyA in diffResult) {\n if (globalData.indexOf(keyA) > -1) {\n return true;\n }\n for (var i = 0, len = globalData.length; i < len; i++) {\n if (includePath(keyA, globalData[i])) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction needUpdate(diffResult, updatePath) {\n for (var keyA in diffResult) {\n if (updatePath[keyA]) {\n return true;\n }\n for (var keyB in updatePath) {\n if (includePath(keyA, keyB)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction includePath(pathA, pathB) {\n if (pathA.indexOf(pathB) === 0) {\n var next = pathA.substr(pathB.length, 1);\n if (next === '[' || next === '.') {\n return true;\n }\n }\n return false;\n}\n\nfunction fixPath(path) {\n var mpPath = '';\n var arr = path.replace('/', '').split('/');\n arr.forEach(function (item, index) {\n if (index) {\n if (isNaN(Number(item))) {\n mpPath += '.' + item;\n } else {\n mpPath += '[' + item + ']';\n }\n } else {\n mpPath += item;\n }\n });\n return mpPath;\n}\n\nfunction getArrayPatch(path, store) {\n var arr = path.replace('/', '').split('/');\n var current = store.data[arr[0]];\n for (var i = 1, len = arr.length; i < len - 1; i++) {\n current = current[arr[i]];\n }\n return { k: fixArrPath(path), v: current };\n}\n\nfunction fixArrPath(path) {\n var mpPath = '';\n var arr = path.replace('/', '').split('/');\n var len = arr.length;\n arr.forEach(function (item, index) {\n if (index < len - 1) {\n if (index) {\n if (isNaN(Number(item))) {\n mpPath += '.' + item;\n } else {\n mpPath += '[' + item + ']';\n }\n } else {\n mpPath += item;\n }\n }\n });\n return mpPath;\n}\n\nfunction tag(name, pure) {\n return function (target) {\n target.pure = pure;\n define(name, target);\n };\n}\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nfunction cloneElement(vnode, props) {\n return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);\n}\n\nfunction getHost(ele) {\n var p = ele.parentNode;\n while (p) {\n if (p.host) {\n return p.host;\n } else if (p.shadowRoot && p.shadowRoot.host) {\n return p.shadowRoot.host;\n } else {\n p = p.parentNode;\n }\n }\n}\n\nfunction rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, function (a, b) {\n return window.innerWidth * Number(b) / 750 + 'px';\n });\n}\n\nfunction _classCallCheck$2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn$2(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits$2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ModelView = function (_WeElement) {\n _inherits$2(ModelView, _WeElement);\n\n function ModelView() {\n _classCallCheck$2(this, ModelView);\n\n return _possibleConstructorReturn$2(this, _WeElement.apply(this, arguments));\n }\n\n ModelView.prototype.beforeInstall = function beforeInstall() {\n this.data = this.vm.data;\n };\n\n ModelView.prototype.observed = function observed() {\n this.vm.data = this.data;\n };\n\n return ModelView;\n}(WeElement);\n\nModelView.observe = true;\nModelView.mergeUpdate = false;\n\n/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty;\n\nfunction classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n\nfunction extractClass() {\n var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),\n props = _Array$prototype$slic[0],\n args = _Array$prototype$slic.slice(1);\n\n if (props.class) {\n args.unshift(props.class);\n delete props.class;\n } else if (props.className) {\n args.unshift(props.className);\n delete props.className;\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) };\n }\n}\n\nfunction o(obj) {\n return JSON.stringify(obj);\n}\n\nvar n=function(t,r,u,e){for(var p=1;p\"===t?(a(), u=1):u&&(\"=\"===t?(u=4, r=e, e=\"\"):\"/\"===t?(a(), 3===u&&(s=s[0]), u=s, (s=s[0]).push(u,4), u=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(a(), u=2):e+=t);}return a(), s},r=\"function\"==typeof Map,u=r?new Map:{},e=r?function(n){var r=u.get(n);return r||u.set(n,r=t(n)), r}:function(n){for(var r=\"\",e=0;e1?r:r[0]}\n\nvar html = htm.bind(h);\n\nfunction createRef() {\n return {};\n}\n\nvar Component = WeElement;\nvar defineElement = define;\nvar elements = options.mapping;\n\nvar omi = {\n tag: tag,\n WeElement: WeElement,\n Component: Component,\n render: render,\n h: h,\n createElement: h,\n options: options,\n define: define,\n observe: observe,\n cloneElement: cloneElement,\n getHost: getHost,\n rpx: rpx,\n tick: tick,\n nextTick: nextTick,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n createRef: createRef,\n html: html,\n htm: htm,\n o: o,\n elements: elements\n};\n\noptions.root.Omi = omi;\noptions.root.omi = omi;\noptions.root.Omi.version = '6.6.5';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (omi);\n\n//# sourceMappingURL=omi.esm.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../_webpack@4.34.0@webpack/buildin/global.js */ \"./node_modules/_webpack@4.34.0@webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/_omi@6.6.5@omi/dist/omi.esm.js?"); /***/ }), -/***/ "./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, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */ +/***/ "./node_modules/_tslib@1.10.0@tslib/tslib.es6.js": +/*!*******************************************************!*\ + !*** ./node_modules/_tslib@1.10.0@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__, \"__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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\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 __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?"); +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@1.10.0@tslib/tslib.es6.js?"); /***/ }), -/***/ "./node_modules/webpack/buildin/global.js": +/***/ "./node_modules/_webpack@4.34.0@webpack/buildin/global.js": /*!***********************************!*\ !*** (webpack)/buildin/global.js ***! \***********************************/ @@ -401,7 +280,7 @@ eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn th /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("\n var result = __webpack_require__(/*! !../../node_modules/css-loader!../../node_modules/sass-loader/lib/loader.js??ref--4-2!./index.scss */ \"./node_modules/css-loader/index.js!./node_modules/sass-loader/lib/loader.js?!./src/button/index.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n//# sourceURL=webpack:///./src/button/index.scss?"); +eval("\n var result = __webpack_require__(/*! !../../node_modules/_css-loader@1.0.1@css-loader!../../node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./index.scss */ \"./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/button/index.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n//# sourceURL=webpack:///./src/button/index.scss?"); /***/ }), @@ -413,7 +292,7 @@ eval("\n var result = __webpack_require__(/*! !../../node_modules/css-loa /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar omi_1 = __webpack_require__(/*! omi */ \"./node_modules/omi/dist/omi.esm.js\");\nvar css = __webpack_require__(/*! ./index.scss */ \"./src/button/index.scss\");\nvar ripple_1 = __webpack_require__(/*! @material/ripple */ \"./node_modules/@material/ripple/index.js\");\n__webpack_require__(/*! ../icon */ \"./src/icon/index.js\");\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.prototype.installed = function () {\n if (this.props.ripple) {\n new ripple_1.MDCRipple(this.shadowRoot.querySelector('.mdc-button'));\n }\n };\n Button.prototype.render = function (props) {\n return (omi_1.h(\"button\", __assign({}, omi_1.extractClass(props, 'mdc-button', {\n 'mdc-button--dense': props.dense,\n 'mdc-button--raised': props.raised,\n 'mdc-button--unelevated': props.unelevated,\n 'mdc-button--outlined': props.outlined\n })),\n (props.icon) && omi_1.h(\"m-icon\", __assign({ class: 'm-icon' }, props.icon)),\n omi_1.h(\"span\", { class: \"mdc-button__label\" },\n omi_1.h(\"slot\", null))));\n };\n Button.css = css;\n Button.propTypes = {\n ripple: Boolean,\n raised: Boolean,\n dense: Boolean,\n unelevated: Boolean,\n outlined: Boolean,\n icon: Object\n };\n Button = __decorate([\n omi_1.tag('m-button')\n ], Button);\n return Button;\n}(omi_1.WeElement));\nexports.default = Button;\n\n\n//# sourceURL=webpack:///./src/button/index.tsx?"); +eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar omi_1 = __webpack_require__(/*! omi */ \"./node_modules/_omi@6.6.5@omi/dist/omi.esm.js\");\nvar css = __webpack_require__(/*! ./index.scss */ \"./src/button/index.scss\");\nvar ripple_1 = __webpack_require__(/*! @material/ripple */ \"./node_modules/_@material_ripple@2.3.0@@material/ripple/index.js\");\n__webpack_require__(/*! ../icon */ \"./src/icon/index.js\");\n//@ts-ignore\n__webpack_require__(/*! ../theme.ts */ \"./src/theme.ts\");\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.prototype.installed = function () {\n if (this.props.ripple) {\n new ripple_1.MDCRipple(this.shadowRoot.querySelector('.mdc-button'));\n }\n };\n Button.prototype.render = function (props) {\n return (omi_1.h(\"button\", __assign({}, omi_1.extractClass(props, 'mdc-button', {\n 'mdc-button--dense': props.dense,\n 'mdc-button--raised': props.raised,\n 'mdc-button--unelevated': props.unelevated,\n 'mdc-button--outlined': props.outlined\n })),\n (props.icon) && omi_1.h(\"i\", { class: \"material-icons mdc-button__icon\" }, props.icon),\n (props.svgIcon) && omi_1.h(\"m-icon\", __assign({ class: 'm-icon' }, props.svgIcon)),\n omi_1.h(\"span\", { class: \"mdc-button__label\" },\n omi_1.h(\"slot\", null))));\n };\n Button.css = css;\n Button.defaultProps = {\n ripple: true\n };\n Button.propTypes = {\n ripple: Boolean,\n raised: Boolean,\n dense: Boolean,\n unelevated: Boolean,\n outlined: Boolean,\n svgIcon: Object,\n icon: String\n };\n Button = __decorate([\n omi_1.tag('m-button')\n ], Button);\n return Button;\n}(omi_1.WeElement));\nexports.default = Button;\n\n\n//# sourceURL=webpack:///./src/button/index.tsx?"); /***/ }), @@ -424,7 +303,30 @@ eval("\nvar __extends = (this && this.__extends) || (function () {\n var exte /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("(function webpackUniversalModuleDefinition(root, factory) {\n if (true)\n module.exports = factory(__webpack_require__(/*! omi */ \"./node_modules/omi/dist/omi.esm.js\"));\n else {}\n})(window, function (__WEBPACK_EXTERNAL_MODULE_omi__) {\n return /******/ (function (modules) {\n /******/ // The module cache\n /******/ var installedModules = {};\n /******/\n /******/ // The require function\n /******/ function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/ if (installedModules[moduleId]) {\n /******/ return installedModules[moduleId].exports;\n /******/ }\n /******/ // Create a new module (and put it into the cache)\n /******/ var module = installedModules[moduleId] = {\n /******/ i: moduleId,\n /******/ l: false,\n /******/ exports: {}\n /******/ \n };\n /******/\n /******/ // Execute the module function\n /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/ module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/ return module.exports;\n /******/ \n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/ __webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/ __webpack_require__.c = installedModules;\n /******/\n /******/ // define getter function for harmony exports\n /******/ __webpack_require__.d = function (exports, name, getter) {\n /******/ if (!__webpack_require__.o(exports, name)) {\n /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });\n /******/ }\n /******/ \n };\n /******/\n /******/ // define __esModule on exports\n /******/ __webpack_require__.r = function (exports) {\n /******/ if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n /******/ }\n /******/ Object.defineProperty(exports, '__esModule', { value: true });\n /******/ \n };\n /******/\n /******/ // create a fake namespace object\n /******/ // mode & 1: value is a module id, require it\n /******/ // mode & 2: merge all properties of value into the ns\n /******/ // mode & 4: return value when already ns object\n /******/ // mode & 8|1: behave like require\n /******/ __webpack_require__.t = function (value, mode) {\n /******/ if (mode & 1)\n value = __webpack_require__(value);\n /******/ if (mode & 8)\n return value;\n /******/ if ((mode & 4) && typeof value === 'object' && value && value.__esModule)\n return value;\n /******/ var ns = Object.create(null);\n /******/ __webpack_require__.r(ns);\n /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });\n /******/ if (mode & 2 && typeof value != 'string')\n for (var key in value)\n __webpack_require__.d(ns, key, function (key) { return value[key]; }.bind(null, key));\n /******/ return ns;\n /******/ \n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/ __webpack_require__.n = function (module) {\n /******/ var getter = module && module.__esModule ?\n /******/ function getDefault() { return module['default']; } :\n /******/ function getModuleExports() { return module; };\n /******/ __webpack_require__.d(getter, 'a', getter);\n /******/ return getter;\n /******/ \n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/ __webpack_require__.o = function (object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n /******/\n /******/ // __webpack_public_path__\n /******/ __webpack_require__.p = \"\";\n /******/\n /******/\n /******/ // Load entry module and return exports\n /******/ return __webpack_require__(__webpack_require__.s = \"./src/icon/index.tsx\");\n /******/ \n })({\n /***/ \"./node_modules/css-loader/index.js!./node_modules/sass-loader/lib/loader.js?!./src/icon/index.scss\": \n /*!**********************************************************************************************************!*\\\n !*** ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js??ref--4-2!./src/icon/index.scss ***!\n \\**********************************************************************************************************/\n /*! no static exports found */\n /***/ (function (module, exports, __webpack_require__) {\n exports = module.exports = __webpack_require__(/*! ../../node_modules/css-loader/lib/css-base.js */ \"./node_modules/css-loader/lib/css-base.js\")(false);\n // imports\n // module\n exports.push([module.i, \".m-icon {\\n text-align: center;\\n display: inline-block; }\\n\\n.m-icon svg {\\n display: inline-block;\\n vertical-align: top; }\\n\\n.rotate {\\n display: inline-block;\\n -webkit-animation: rotate 1s infinite linear;\\n animation: rotate 1s infinite linear; }\\n\\ni div {\\n font-style: normal; }\\n\\n@-webkit-keyframes rotate {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@keyframes rotate {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\", \"\"]);\n // exports\n /***/ \n }),\n /***/ \"./node_modules/css-loader/lib/css-base.js\": \n /*!*************************************************!*\\\n !*** ./node_modules/css-loader/lib/css-base.js ***!\n \\*************************************************/\n /*! no static exports found */\n /***/ (function (module, exports) {\n /*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n */\n // css base code, injected by the css-loader\n module.exports = function (useSourceMap) {\n var list = [];\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n if (item[2]) {\n return \"@media \" + item[2] + \"{\" + content + \"}\";\n }\n else {\n return content;\n }\n }).join(\"\");\n };\n // import a list of modules into the list\n list.i = function (modules, mediaQuery) {\n if (typeof modules === \"string\")\n modules = [[null, modules, \"\"]];\n var alreadyImportedModules = {};\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n if (typeof id === \"number\")\n alreadyImportedModules[id] = true;\n }\n for (i = 0; i < modules.length; i++) {\n var item = modules[i];\n // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n if (typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n }\n else if (mediaQuery) {\n item[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n }\n list.push(item);\n }\n }\n };\n return list;\n };\n function cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || '';\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */';\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n return [content].join('\\n');\n }\n // Adapted from convert-source-map (MIT)\n function toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n return '/*# ' + data + ' */';\n }\n /***/ \n }),\n /***/ \"./src/icon/index.scss\": \n /*!*****************************!*\\\n !*** ./src/icon/index.scss ***!\n \\*****************************/\n /*! no static exports found */\n /***/ (function (module, exports, __webpack_require__) {\n var result = __webpack_require__(/*! !../../node_modules/css-loader!../../node_modules/sass-loader/lib/loader.js??ref--4-2!./index.scss */ \"./node_modules/css-loader/index.js!./node_modules/sass-loader/lib/loader.js?!./src/icon/index.scss\");\n if (typeof result === \"string\") {\n module.exports = result;\n }\n else {\n module.exports = result.toString();\n }\n /***/ \n }),\n /***/ \"./src/icon/index.tsx\": \n /*!****************************!*\\\n !*** ./src/icon/index.tsx ***!\n \\****************************/\n /*! no static exports found */\n /***/ (function (module, exports, __webpack_require__) {\n \"use strict\";\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b)\n if (b.hasOwnProperty(p))\n d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();\n var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\")\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--)\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };\n Object.defineProperty(exports, \"__esModule\", { value: true });\n var omi_1 = __webpack_require__(/*! omi */ \"omi\");\n var css = __webpack_require__(/*! ./index.scss */ \"./src/icon/index.scss\");\n var Icon = /** @class */ (function (_super) {\n __extends(Icon, _super);\n function Icon() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Icon.prototype.render = function (props) {\n return (omi_1.h(\"i\", __assign({}, omi_1.extractClass(props, 'm-icon')), omi_1.h(\"svg\", { viewBox: \"0 0 1024 1024\", class: omi_1.classNames({ rotate: props.rotate }), width: props.scale + 'em', height: props.scale + 'em', fill: props.color, \"aria-hidden\": \"true\" }, props.paths ? (props.paths.map(function (item) {\n var attrs = { d: item.path, fill: props.color || 'black' };\n if (item.color)\n attrs.fill = item.color;\n return omi_1.h(\"path\", __assign({}, attrs));\n })) : omi_1.h(\"path\", { d: props.path })), props.children && (omi_1.h(\"div\", { style: \"color:\" + (props.color || 'black') + \";\" }, props.children[0]))));\n };\n Icon.css = css;\n Icon.defaultProps = {\n scale: 2\n };\n Icon.propTypes = {\n path: String,\n paths: Object,\n scale: Number\n };\n Icon = __decorate([\n omi_1.tag('m-icon')\n ], Icon);\n return Icon;\n }(omi_1.WeElement));\n exports.default = Icon;\n /***/ \n }),\n /***/ \"omi\": \n /*!******************************************************************************!*\\\n !*** external {\"commonjs\":\"omi\",\"commonjs2\":\"omi\",\"amd\":\"omi\",\"root\":\"Omi\"} ***!\n \\******************************************************************************/\n /*! no static exports found */\n /***/ (function (module, exports) {\n module.exports = __WEBPACK_EXTERNAL_MODULE_omi__;\n /***/ \n })\n /******/ \n });\n});\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack:///./src/icon/index.js?"); +eval("(function webpackUniversalModuleDefinition(root, factory) {\n if (true)\n module.exports = factory(__webpack_require__(/*! omi */ \"./node_modules/_omi@6.6.5@omi/dist/omi.esm.js\"));\n else {}\n})(window, function (__WEBPACK_EXTERNAL_MODULE_omi__) {\n return /******/ (function (modules) {\n /******/ // The module cache\n /******/ var installedModules = {};\n /******/\n /******/ // The require function\n /******/ function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/ if (installedModules[moduleId]) {\n /******/ return installedModules[moduleId].exports;\n /******/ }\n /******/ // Create a new module (and put it into the cache)\n /******/ var module = installedModules[moduleId] = {\n /******/ i: moduleId,\n /******/ l: false,\n /******/ exports: {}\n /******/ \n };\n /******/\n /******/ // Execute the module function\n /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/ module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/ return module.exports;\n /******/ \n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/ __webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/ __webpack_require__.c = installedModules;\n /******/\n /******/ // define getter function for harmony exports\n /******/ __webpack_require__.d = function (exports, name, getter) {\n /******/ if (!__webpack_require__.o(exports, name)) {\n /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });\n /******/ }\n /******/ \n };\n /******/\n /******/ // define __esModule on exports\n /******/ __webpack_require__.r = function (exports) {\n /******/ if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n /******/ }\n /******/ Object.defineProperty(exports, '__esModule', { value: true });\n /******/ \n };\n /******/\n /******/ // create a fake namespace object\n /******/ // mode & 1: value is a module id, require it\n /******/ // mode & 2: merge all properties of value into the ns\n /******/ // mode & 4: return value when already ns object\n /******/ // mode & 8|1: behave like require\n /******/ __webpack_require__.t = function (value, mode) {\n /******/ if (mode & 1)\n value = __webpack_require__(value);\n /******/ if (mode & 8)\n return value;\n /******/ if ((mode & 4) && typeof value === 'object' && value && value.__esModule)\n return value;\n /******/ var ns = Object.create(null);\n /******/ __webpack_require__.r(ns);\n /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });\n /******/ if (mode & 2 && typeof value != 'string')\n for (var key in value)\n __webpack_require__.d(ns, key, function (key) { return value[key]; }.bind(null, key));\n /******/ return ns;\n /******/ \n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/ __webpack_require__.n = function (module) {\n /******/ var getter = module && module.__esModule ?\n /******/ function getDefault() { return module['default']; } :\n /******/ function getModuleExports() { return module; };\n /******/ __webpack_require__.d(getter, 'a', getter);\n /******/ return getter;\n /******/ \n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/ __webpack_require__.o = function (object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n /******/\n /******/ // __webpack_public_path__\n /******/ __webpack_require__.p = \"\";\n /******/\n /******/\n /******/ // Load entry module and return exports\n /******/ return __webpack_require__(__webpack_require__.s = \"./src/icon/index.tsx\");\n /******/ \n })({\n /***/ \"./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/icon/index.scss\": \n /*!***********************************************************************************************************************************************************************************************************!*\\\n !*** ./node_modules/_css-loader@1.0.1@css-loader!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./src/icon/index.scss ***!\n \\***********************************************************************************************************************************************************************************************************/\n /*! no static exports found */\n /***/ (function (module, exports, __webpack_require__) {\n exports = module.exports = __webpack_require__(/*! ../../node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js */ \"./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js\")(false);\n // imports\n // module\n exports.push([module.i, \":host {\\n display: inline-block; }\\n\\n.m-icon {\\n text-align: center;\\n display: inline-block; }\\n\\n.m-icon svg {\\n display: inline-block;\\n vertical-align: top; }\\n\\n.rotate {\\n display: inline-block;\\n -webkit-animation: rotate 1s infinite linear;\\n animation: rotate 1s infinite linear; }\\n\\ni div {\\n font-style: normal; }\\n\\n@-webkit-keyframes rotate {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\\n@keyframes rotate {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg); } }\\n\", \"\"]);\n // exports\n /***/ \n }),\n /***/ \"./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js\": \n /*!*******************************************************************!*\\\n !*** ./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js ***!\n \\*******************************************************************/\n /*! no static exports found */\n /***/ (function (module, exports) {\n /*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n */\n // css base code, injected by the css-loader\n module.exports = function (useSourceMap) {\n var list = [];\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n if (item[2]) {\n return \"@media \" + item[2] + \"{\" + content + \"}\";\n }\n else {\n return content;\n }\n }).join(\"\");\n };\n // import a list of modules into the list\n list.i = function (modules, mediaQuery) {\n if (typeof modules === \"string\")\n modules = [[null, modules, \"\"]];\n var alreadyImportedModules = {};\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n if (typeof id === \"number\")\n alreadyImportedModules[id] = true;\n }\n for (i = 0; i < modules.length; i++) {\n var item = modules[i];\n // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n if (typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n }\n else if (mediaQuery) {\n item[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n }\n list.push(item);\n }\n }\n };\n return list;\n };\n function cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || '';\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */';\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n return [content].join('\\n');\n }\n // Adapted from convert-source-map (MIT)\n function toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n return '/*# ' + data + ' */';\n }\n /***/ \n }),\n /***/ \"./src/icon/index.scss\": \n /*!*****************************!*\\\n !*** ./src/icon/index.scss ***!\n \\*****************************/\n /*! no static exports found */\n /***/ (function (module, exports, __webpack_require__) {\n var result = __webpack_require__(/*! !../../node_modules/_css-loader@1.0.1@css-loader!../../node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./index.scss */ \"./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/icon/index.scss\");\n if (typeof result === \"string\") {\n module.exports = result;\n }\n else {\n module.exports = result.toString();\n }\n /***/ \n }),\n /***/ \"./src/icon/index.tsx\": \n /*!****************************!*\\\n !*** ./src/icon/index.tsx ***!\n \\****************************/\n /*! no static exports found */\n /***/ (function (module, exports, __webpack_require__) {\n \"use strict\";\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b)\n if (b.hasOwnProperty(p))\n d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();\n var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\")\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--)\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };\n Object.defineProperty(exports, \"__esModule\", { value: true });\n var omi_1 = __webpack_require__(/*! omi */ \"omi\");\n var css = __webpack_require__(/*! ./index.scss */ \"./src/icon/index.scss\");\n //@ts-ignore\n __webpack_require__(/*! ../theme.ts */ \"./src/theme.ts\");\n var Icon = /** @class */ (function (_super) {\n __extends(Icon, _super);\n function Icon() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Icon.prototype.render = function (props) {\n return (omi_1.h(\"i\", __assign({}, omi_1.extractClass(props, 'm-icon')), omi_1.h(\"svg\", { viewBox: '0 0 ' + props.view + ' ' + props.view, class: omi_1.classNames({ rotate: props.rotate }), width: props.scale + 'em', height: props.scale + 'em', fill: props.color, \"aria-hidden\": \"true\" }, props.paths ? (props.paths.map(function (item) {\n var attrs = { d: item.path, fill: props.color || 'black' };\n if (item.color)\n attrs.fill = item.color;\n return omi_1.h(\"path\", __assign({}, attrs));\n })) : omi_1.h(\"path\", { d: props.path })), props.children && (omi_1.h(\"div\", { style: \"color:\" + (props.color || 'black') + \";\" }, props.children[0]))));\n };\n Icon.css = css;\n Icon.defaultProps = {\n view: 1024,\n scale: 2\n };\n Icon.propTypes = {\n path: String,\n paths: Object,\n view: Number,\n scale: Number,\n color: String,\n rotate: Boolean\n };\n Icon = __decorate([\n omi_1.tag('m-icon')\n ], Icon);\n return Icon;\n }(omi_1.WeElement));\n exports.default = Icon;\n /***/ \n }),\n /***/ \"./src/theme.ts\": \n /*!**********************!*\\\n !*** ./src/theme.ts ***!\n \\**********************/\n /*! no static exports found */\n /***/ (function (module, exports) {\n theme();\n document.addEventListener('DOMContentLoaded', function () {\n theme();\n });\n function theme() {\n if (document.body && !document.body.style.getPropertyValue('--mdc-theme-primary')) {\n document.body.style.setProperty('--mdc-theme-primary', '#0072d9');\n document.body.style.setProperty('--mdc-theme-secondary', '#2170b8');\n document.body.style.setProperty('--mdc-theme-error', '#f5222d');\n document.body.style.setProperty('--mdc-theme-surface', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-primary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-secondary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-error', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-surface', '#000000');\n document.body.style.setProperty('--mdc-theme-background', '#ffffff');\n document.body.style.setProperty('--mdc-shape-small-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-medium-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-large-component-radius', '0px');\n document.body.style.setProperty('--mdc-typography--font-family', 'Roboto, sans-serif');\n }\n }\n /***/ \n }),\n /***/ \"omi\": \n /*!******************************************************************************!*\\\n !*** external {\"commonjs\":\"omi\",\"commonjs2\":\"omi\",\"amd\":\"omi\",\"root\":\"Omi\"} ***!\n \\******************************************************************************/\n /*! no static exports found */\n /***/ (function (module, exports) {\n module.exports = __WEBPACK_EXTERNAL_MODULE_omi__;\n /***/ \n })\n /******/ \n })[\"default\"];\n});\n//# sourceMappingURL=index.js.map\n\n\n//# sourceURL=webpack:///./src/icon/index.js?"); + +/***/ }), + +/***/ "./src/locate/index.scss": +/*!*******************************!*\ + !*** ./src/locate/index.scss ***! + \*******************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("\n var result = __webpack_require__(/*! !../../node_modules/_css-loader@1.0.1@css-loader!../../node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./index.scss */ \"./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/locate/index.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n//# sourceURL=webpack:///./src/locate/index.scss?"); + +/***/ }), + +/***/ "./src/locate/index.tsx": +/*!******************************!*\ + !*** ./src/locate/index.tsx ***! + \******************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar omi_1 = __webpack_require__(/*! omi */ \"./node_modules/_omi@6.6.5@omi/dist/omi.esm.js\");\nvar css = __webpack_require__(/*! ./index.scss */ \"./src/locate/index.scss\");\nvar dom_ready_1 = __webpack_require__(/*! ../util/dom-ready */ \"./src/util/dom-ready.js\");\n//@ts-ignore\n__webpack_require__(/*! ../theme.ts */ \"./src/theme.ts\");\nvar Locate = /** @class */ (function (_super) {\n __extends(Locate, _super);\n function Locate() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Locate.prototype.getScopeRoot = function (current) {\n while (true) {\n var p = current.parentNode;\n if (p) {\n current = p;\n }\n else {\n return current;\n }\n }\n };\n Locate.prototype.install = function () {\n var _this = this;\n dom_ready_1.domReady(function () {\n _this._setPosition();\n });\n };\n Locate.prototype._setPosition = function () {\n var root = this.getScopeRoot(this);\n var ele = root.querySelector(this.props.to);\n var rectA = this.shadowRoot.querySelector('.root').getBoundingClientRect();\n var rectB = ele.getBoundingClientRect();\n var tempLeft, tempTop;\n var st = document.documentElement.scrollTop || document.body.scrollTop;\n var sl = document.documentElement.scrollLeft || document.body.scrollLeft;\n var gutter = this.props.gutter;\n switch (this.props.direction) {\n case 'top-left':\n tempLeft = rectB.left;\n tempTop = (rectB.top - rectA.height - gutter);\n break;\n case 'top':\n console.log(11);\n tempLeft = rectB.left + (rectB.width / 2 - rectA.width / 2);\n tempTop = (rectB.top - rectA.height - gutter);\n break;\n case 'top-right':\n tempLeft = rectB.left + rectB.width - rectA.width;\n tempTop = (rectB.top - rectA.height - gutter);\n break;\n case 'left':\n tempLeft = rectB.left - rectA.width - gutter;\n tempTop = rectB.top + (rectB.height - rectA.height) / 2;\n break;\n case 'left-top':\n tempLeft = rectB.left - rectA.width - gutter;\n tempTop = rectB.top;\n break;\n case 'left-bottom':\n tempLeft = rectB.left - rectA.width - gutter;\n tempTop = rectB.top + (rectB.height - rectA.height);\n break;\n case 'bottom-left':\n tempLeft = rectB.left;\n tempTop = (rectB.top + rectB.height + gutter);\n break;\n case 'bottom':\n tempLeft = rectB.left + (rectB.width / 2 - rectA.width / 2);\n tempTop = (rectB.top + rectB.height + gutter);\n break;\n case 'bottom-right':\n tempLeft = rectB.left + rectB.width - rectA.width;\n tempTop = (rectB.top + rectB.height + gutter);\n break;\n case 'right':\n tempLeft = rectB.left + rectB.width + gutter;\n tempTop = rectB.top + (rectB.height - rectA.height) / 2;\n break;\n case 'right-top':\n tempLeft = rectB.left + rectB.width + gutter;\n tempTop = rectB.top;\n break;\n case 'right-bottom':\n tempLeft = rectB.left + rectB.width + gutter;\n tempTop = rectB.top + (rectB.height - rectA.height);\n break;\n }\n tempLeft = tempLeft + this.props.x + sl + 'px';\n tempTop = tempTop + this.props.y + st + 'px';\n this.style.left = tempLeft;\n this.style.top = tempTop;\n };\n Locate.prototype.updated = function () {\n this._setPosition();\n };\n Locate.prototype.render = function (props) {\n return (omi_1.h(\"div\", { class: 'root', style: { display: props.show ? 'block' : 'none' } },\n omi_1.h(\"slot\", null)));\n };\n Locate.css = css;\n Locate.defaultProps = {\n x: 0,\n y: 0,\n gutter: 4\n };\n Locate.propTypes = {};\n Locate = __decorate([\n omi_1.tag('m-locate')\n ], Locate);\n return Locate;\n}(omi_1.WeElement));\nexports.default = Locate;\n\n\n//# sourceURL=webpack:///./src/locate/index.tsx?"); /***/ }), @@ -435,7 +337,7 @@ eval("(function webpackUniversalModuleDefinition(root, factory) {\n if (true) /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("\n var result = __webpack_require__(/*! !../../node_modules/css-loader!../../node_modules/sass-loader/lib/loader.js??ref--4-2!./index.scss */ \"./node_modules/css-loader/index.js!./node_modules/sass-loader/lib/loader.js?!./src/menu/index.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n//# sourceURL=webpack:///./src/menu/index.scss?"); +eval("\n var result = __webpack_require__(/*! !../../node_modules/_css-loader@1.0.1@css-loader!../../node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./index.scss */ \"./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/menu/index.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n//# sourceURL=webpack:///./src/menu/index.scss?"); /***/ }), @@ -447,7 +349,30 @@ eval("\n var result = __webpack_require__(/*! !../../node_modules/css-loa /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar omi_1 = __webpack_require__(/*! omi */ \"./node_modules/omi/dist/omi.esm.js\");\nvar css = __webpack_require__(/*! ./index.scss */ \"./src/menu/index.scss\");\nvar menu_1 = __webpack_require__(/*! @material/menu */ \"./node_modules/@material/menu/index.js\");\nvar Menu = /** @class */ (function (_super) {\n __extends(Menu, _super);\n function Menu() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.menu = null;\n return _this;\n }\n Menu.prototype.installed = function () {\n var _this = this;\n var menu = new menu_1.MDCMenu(this.shadowRoot.querySelector('.mdc-menu'));\n menu.open = this.props.show;\n menu.listen('MDCMenu:selected', function (evt) {\n _this.fire('selected', evt.detail);\n });\n this.menu = menu;\n };\n Menu.prototype.toggle = function () {\n console.log(11);\n this.menu.open = !this.menu.open;\n };\n Menu.prototype.open = function () {\n this.menu.open = true;\n };\n Menu.prototype.close = function () {\n this.menu.open = false;\n };\n Menu.prototype.install = function () {\n };\n Menu.prototype.receiveProps = function () {\n this.menu.open = this.props.show;\n };\n Menu.prototype.render = function (props) {\n if (props.anchor) {\n return (omi_1.h(\"div\", { class: 'mdc-menu-surface--anchor' },\n omi_1.h(\"div\", __assign({}, omi_1.extractClass(props, 'mdc-menu mdc-menu-surface'), { tabIndex: -1 }),\n omi_1.h(\"ul\", { class: \"mdc-list\", role: \"menu\", \"aria-hidden\": \"true\", \"aria-orientation\": \"vertical\" }, props.list.map(function (item) { return omi_1.h(\"li\", { class: \"mdc-list-item\", role: \"menuitem\" },\n omi_1.h(\"span\", { class: omi_1.classNames('mdc-list-item__text', {\n 'mdc-list-item--disabled': item.disabled\n }) }, item.text)); })))));\n }\n return (omi_1.h(\"div\", __assign({}, omi_1.extractClass(props, 'mdc-menu mdc-menu-surface'), { tabIndex: -1 }),\n omi_1.h(\"ul\", { class: \"mdc-list\", role: \"menu\", \"aria-hidden\": \"true\", \"aria-orientation\": \"vertical\" }, props.list.map(function (item) { return omi_1.h(\"li\", { class: \"mdc-list-item\", role: \"menuitem\" },\n omi_1.h(\"span\", { class: omi_1.classNames('mdc-list-item__text', {\n 'mdc-list-item--disabled': item.disabled\n }) }, item.text)); }))));\n };\n Menu.css = css;\n Menu.defaultProps = {};\n Menu.propTypes = {};\n Menu = __decorate([\n omi_1.tag('m-menu')\n ], Menu);\n return Menu;\n}(omi_1.WeElement));\nexports.default = Menu;\n\n\n//# sourceURL=webpack:///./src/menu/index.tsx?"); +eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar omi_1 = __webpack_require__(/*! omi */ \"./node_modules/_omi@6.6.5@omi/dist/omi.esm.js\");\nvar css = __webpack_require__(/*! ./index.scss */ \"./src/menu/index.scss\");\n//@ts-ignore\n__webpack_require__(/*! ../theme.ts */ \"./src/theme.ts\");\nvar Menu = /** @class */ (function (_super) {\n __extends(Menu, _super);\n function Menu() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.clickHandler = function (item) {\n if (!item.disabled) {\n _this.fire('selected', item);\n }\n };\n return _this;\n }\n Menu.prototype.render = function (props) {\n var _this = this;\n return (omi_1.h(\"div\", __assign({}, omi_1.extractClass(props, 'mdc-menu mdc-menu-surface'), { tabIndex: -1 }),\n omi_1.h(\"ul\", { class: \"mdc-list\", role: \"menu\", \"aria-hidden\": \"true\", \"aria-orientation\": \"vertical\" }, props.list.map(function (item) { return omi_1.h(\"li\", { onClick: function (_) { return _this.clickHandler(item); }, class: \"mdc-list-item\", role: \"menuitem\" },\n omi_1.h(\"span\", { class: omi_1.classNames('mdc-list-item__text', {\n 'mdc-list-item--disabled': item.disabled\n }) }, item.text)); }))));\n };\n Menu.css = css;\n Menu.defaultProps = {};\n Menu.propTypes = {\n list: Object\n };\n Menu = __decorate([\n omi_1.tag('m-menu')\n ], Menu);\n return Menu;\n}(omi_1.WeElement));\nexports.default = Menu;\n\n\n//# sourceURL=webpack:///./src/menu/index.tsx?"); + +/***/ }), + +/***/ "./src/theme.ts": +/*!**********************!*\ + !*** ./src/theme.ts ***! + \**********************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("theme();\ndocument.addEventListener('DOMContentLoaded', function () {\n theme();\n});\nfunction theme() {\n if (document.body && !document.body.style.getPropertyValue('--mdc-theme-primary')) {\n document.body.style.setProperty('--mdc-theme-primary', '#0072d9');\n document.body.style.setProperty('--mdc-theme-secondary', '#2170b8');\n document.body.style.setProperty('--mdc-theme-error', '#f5222d');\n document.body.style.setProperty('--mdc-theme-surface', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-primary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-secondary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-error', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-surface', '#000000');\n document.body.style.setProperty('--mdc-theme-background', '#ffffff');\n document.body.style.setProperty('--mdc-shape-small-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-medium-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-large-component-radius', '0px');\n document.body.style.setProperty('--mdc-typography--font-family', 'Roboto, sans-serif');\n }\n}\n\n\n//# sourceURL=webpack:///./src/theme.ts?"); + +/***/ }), + +/***/ "./src/util/dom-ready.js": +/*!*******************************!*\ + !*** ./src/util/dom-ready.js ***! + \*******************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar readyCallbacks = [];\ndocument.addEventListener('DOMContentLoaded', function () {\n domReady.done = true;\n readyCallbacks.forEach(function (callback) {\n callback();\n });\n});\nfunction domReady(callback) {\n if (domReady.done) {\n callback();\n return;\n }\n readyCallbacks.push(callback);\n}\nexports.domReady = domReady;\ndomReady.done = false;\n\n\n//# sourceURL=webpack:///./src/util/dom-ready.js?"); /***/ }) diff --git a/packages/omim/demos/menu/index.js b/packages/omim/demos/menu/index.js index a527fd9f8..22a594708 100644 --- a/packages/omim/demos/menu/index.js +++ b/packages/omim/demos/menu/index.js @@ -1,14 +1,17 @@ import '../../src/menu/index.tsx' import '../../src/button/index.tsx' +import '../../src/locate/index.tsx' import { define, WeElement, render, h } from 'omi' define('my-app', class extends WeElement { onSelected = (evt) => { console.log(evt) + this.show = false + this.update() } - show = false + show = true onClick = () => { this.show = !this.show @@ -17,12 +20,20 @@ define('my-app', class extends WeElement { render() { return
- OPEN MENU - + + OPEN MENU + + + + +
diff --git a/packages/omim/src/locate/index.d.ts b/packages/omim/src/locate/index.d.ts index e8284157b..52941cba4 100644 --- a/packages/omim/src/locate/index.d.ts +++ b/packages/omim/src/locate/index.d.ts @@ -1,33 +1,26 @@ import { WeElement } from 'omi'; import '../theme.ts'; interface Props { - total: number; - half: boolean; - value: number; + to: string; + direction: string; + x: number; + y: number; + gutter: number; } interface Data { } -export default class Relation extends WeElement { +export default class Locate extends WeElement { static css: any; static defaultProps: { - value: number; + x: number; + y: number; + gutter: number; }; - static propTypes: { - value: NumberConstructor; - half: BooleanConstructor; - total: NumberConstructor; - color: StringConstructor; - }; - _current: number; - _rect: any; - _hover: boolean; - onSelect: (evt: any) => void; - onMouseMove: (evt: any) => void; - base: HTMLElement; - installed(): void; - onMouseEnter: () => void; - onMouseLeave: () => void; - _getClass: (i: any, current: any) => "_star _star-half " | "_star" | "_star _star-empty "; + static propTypes: {}; + getScopeRoot(current: any): any; + install(): void; + _setPosition(): void; + updated(): void; render(props: any): JSX.Element; } export {}; diff --git a/packages/omim/src/locate/index.js b/packages/omim/src/locate/index.js index 5806eedd9..78179872d 100644 --- a/packages/omim/src/locate/index.js +++ b/packages/omim/src/locate/index.js @@ -4,9 +4,9 @@ else if(typeof define === 'function' && define.amd) define(["omi"], factory); else if(typeof exports === 'object') - exports["MRate"] = factory(require("omi")); + exports["MLocate"] = factory(require("omi")); else - root["MRate"] = factory(root["Omi"]); + root["MLocate"] = factory(root["Omi"]); })(window, function(__WEBPACK_EXTERNAL_MODULE_omi__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache @@ -91,15 +91,15 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./src/rate/index.tsx"); +/******/ return __webpack_require__(__webpack_require__.s = "./src/locate/index.tsx"); /******/ }) /************************************************************************/ /******/ ({ -/***/ "./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/rate/index.scss": -/*!***********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/_css-loader@1.0.1@css-loader!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./src/rate/index.scss ***! - \***********************************************************************************************************************************************************************************************************/ +/***/ "./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/locate/index.scss": +/*!*************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/_css-loader@1.0.1@css-loader!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./src/locate/index.scss ***! + \*************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { @@ -108,7 +108,7 @@ exports = module.exports = __webpack_require__(/*! ../../node_modules/_css-loade // module -exports.push([module.i, ":host {\n display: inline-block; }\n\n.m-rate {\n display: inline-block;\n text-align: center;\n cursor: pointer;\n padding: 2px; }\n\nul,\nli {\n list-style: none;\n padding: 0;\n margin: 0; }\n\nsvg {\n margin: 0;\n padding: 0; }\n\nli {\n width: auto;\n height: auto; }\n\n._star {\n position: relative;\n width: 1em;\n height: 1em;\n display: inline-block;\n padding: 3px; }\n\n._star-first {\n position: absolute;\n z-index: 10;\n overflow: hidden; }\n\n._star-second {\n position: absolute; }\n\n._star-half ._star-first {\n width: 1em; }\n\n._star-empty ._star-first {\n width: 0; }\n\n.star-box {\n position: relative;\n left: -0.5em;\n top: -0.2em; }\n", ""]); +exports.push([module.i, ":host {\n display: block;\n position: absolute; }\n\n.root {\n width: auto;\n height: auto; }\n", ""]); // exports @@ -202,15 +202,15 @@ function toComment(sourceMap) { /***/ }), -/***/ "./src/rate/index.scss": -/*!*****************************!*\ - !*** ./src/rate/index.scss ***! - \*****************************/ +/***/ "./src/locate/index.scss": +/*!*******************************!*\ + !*** ./src/locate/index.scss ***! + \*******************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { - var result = __webpack_require__(/*! !../../node_modules/_css-loader@1.0.1@css-loader!../../node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./index.scss */ "./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/rate/index.scss"); + var result = __webpack_require__(/*! !../../node_modules/_css-loader@1.0.1@css-loader!../../node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./index.scss */ "./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/locate/index.scss"); if (typeof result === "string") { module.exports = result; @@ -221,10 +221,10 @@ function toComment(sourceMap) { /***/ }), -/***/ "./src/rate/index.tsx": -/*!****************************!*\ - !*** ./src/rate/index.tsx ***! - \****************************/ +/***/ "./src/locate/index.tsx": +/*!******************************!*\ + !*** ./src/locate/index.tsx ***! + \******************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { @@ -243,17 +243,6 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); -var __assign = (this && this.__assign) || function () { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -262,93 +251,117 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, }; Object.defineProperty(exports, "__esModule", { value: true }); var omi_1 = __webpack_require__(/*! omi */ "omi"); -var css = __webpack_require__(/*! ./index.scss */ "./src/rate/index.scss"); +var css = __webpack_require__(/*! ./index.scss */ "./src/locate/index.scss"); +var dom_ready_1 = __webpack_require__(/*! ../util/dom-ready */ "./src/util/dom-ready.js"); //@ts-ignore __webpack_require__(/*! ../theme.ts */ "./src/theme.ts"); -var Rate = /** @class */ (function (_super) { - __extends(Rate, _super); - function Rate() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this._current = 0; - _this._rect = null; - _this._hover = false; - _this.onSelect = function (evt) { - _this._rect = _this.base.getBoundingClientRect(); - var dx = evt.pageX - _this._rect.left; - var value = dx / _this._rect.width * _this.props.total; - var intValue = Math.floor(value); - var v = intValue + (value - intValue > 0.5 ? 1 : 0.5); - if (!_this.props.half) - v = Math.ceil(v); - _this.props.value = v; - //@ts-ignore - _this.fire('selected', v); - _this.update(); - }; - _this.onMouseMove = function (evt) { - _this._rect = _this.base.getBoundingClientRect(); - var dx = evt.pageX - _this._rect.left; - _this._current = dx / _this._rect.width * _this.props.total; - _this.update(); - }; - _this.onMouseEnter = function () { - _this._hover = true; - }; - _this.onMouseLeave = function () { - _this._hover = false; - _this.update(); - }; - _this._getClass = function (i, current) { - if (i < current) { - if (_this.props.half && current - i <= 0.5) { - return '_star _star-half '; - } - return '_star'; +var Locate = /** @class */ (function (_super) { + __extends(Locate, _super); + function Locate() { + return _super !== null && _super.apply(this, arguments) || this; + } + Locate.prototype.getScopeRoot = function (current) { + while (true) { + var p = current.parentNode; + if (p) { + current = p; } else { - return '_star _star-empty '; + return current; } - }; - return _this; - } - Rate.prototype.installed = function () { - this.base = this.shadowRoot.querySelector('ul'); - //update 不再从 attr 取 prop - this.normalizedNodeName = 'm-rate'; + } }; - Rate.prototype.render = function (props) { + Locate.prototype.install = function () { var _this = this; - return (omi_1.h("ul", __assign({ onMouseMove: this.onMouseMove, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onClick: this.onSelect }, omi_1.extractClass(props, "m-rate")), Array.apply(0, Array(props.total)).map(function (x, i) { - return omi_1.h("li", { class: _this._getClass(i, _this._hover ? _this._current : props.value) }, - omi_1.h("div", { class: 'star-box' }, - omi_1.h("div", { class: "_star-first" }, - omi_1.h("i", { class: "anticon anticon-star" }, - omi_1.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "2em", height: "2em", fill: props.color || "#f57c00", viewBox: "0 0 18 18" }, - omi_1.h("path", { d: "M9 11.3l3.71 2.7-1.42-4.36L15 7h-4.55L9 2.5 7.55 7H3l3.71 2.64L5.29 14z" }), - omi_1.h("path", { fill: "none", d: "M0 0h18v18H0z" })))), - omi_1.h("div", { class: "_star-second" }, - omi_1.h("i", { class: "anticon anticon-star" }, - omi_1.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "2em", height: "2em", fill: "#E8E8E8", viewBox: "0 0 18 18" }, - omi_1.h("path", { d: "M9 11.3l3.71 2.7-1.42-4.36L15 7h-4.55L9 2.5 7.55 7H3l3.71 2.64L5.29 14z" }), - omi_1.h("path", { fill: "none", d: "M0 0h18v18H0z" })))))); - }))); + dom_ready_1.domReady(function () { + _this._setPosition(); + }); }; - Rate.css = css; - Rate.defaultProps = { - value: 0 + Locate.prototype._setPosition = function () { + var root = this.getScopeRoot(this); + var ele = root.querySelector(this.props.to); + var rectA = this.shadowRoot.querySelector('.root').getBoundingClientRect(); + var rectB = ele.getBoundingClientRect(); + var tempLeft, tempTop; + var st = document.documentElement.scrollTop || document.body.scrollTop; + var sl = document.documentElement.scrollLeft || document.body.scrollLeft; + var gutter = this.props.gutter; + switch (this.props.direction) { + case 'top-left': + tempLeft = rectB.left; + tempTop = (rectB.top - rectA.height - gutter); + break; + case 'top': + console.log(11); + tempLeft = rectB.left + (rectB.width / 2 - rectA.width / 2); + tempTop = (rectB.top - rectA.height - gutter); + break; + case 'top-right': + tempLeft = rectB.left + rectB.width - rectA.width; + tempTop = (rectB.top - rectA.height - gutter); + break; + case 'left': + tempLeft = rectB.left - rectA.width - gutter; + tempTop = rectB.top + (rectB.height - rectA.height) / 2; + break; + case 'left-top': + tempLeft = rectB.left - rectA.width - gutter; + tempTop = rectB.top; + break; + case 'left-bottom': + tempLeft = rectB.left - rectA.width - gutter; + tempTop = rectB.top + (rectB.height - rectA.height); + break; + case 'bottom-left': + tempLeft = rectB.left; + tempTop = (rectB.top + rectB.height + gutter); + break; + case 'bottom': + tempLeft = rectB.left + (rectB.width / 2 - rectA.width / 2); + tempTop = (rectB.top + rectB.height + gutter); + break; + case 'bottom-right': + tempLeft = rectB.left + rectB.width - rectA.width; + tempTop = (rectB.top + rectB.height + gutter); + break; + case 'right': + tempLeft = rectB.left + rectB.width + gutter; + tempTop = rectB.top + (rectB.height - rectA.height) / 2; + break; + case 'right-top': + tempLeft = rectB.left + rectB.width + gutter; + tempTop = rectB.top; + break; + case 'right-bottom': + tempLeft = rectB.left + rectB.width + gutter; + tempTop = rectB.top + (rectB.height - rectA.height); + break; + } + tempLeft = tempLeft + this.props.x + sl + 'px'; + tempTop = tempTop + this.props.y + st + 'px'; + this.style.left = tempLeft; + this.style.top = tempTop; }; - Rate.propTypes = { - value: Number, - half: Boolean, - total: Number, - color: String + Locate.prototype.updated = function () { + this._setPosition(); }; - Rate = __decorate([ - omi_1.tag('m-rate') - ], Rate); - return Rate; + Locate.prototype.render = function (props) { + return (omi_1.h("div", { class: 'root', style: { display: props.show ? 'block' : 'none' } }, + omi_1.h("slot", null))); + }; + Locate.css = css; + Locate.defaultProps = { + x: 0, + y: 0, + gutter: 4 + }; + Locate.propTypes = {}; + Locate = __decorate([ + omi_1.tag('m-locate') + ], Locate); + return Locate; }(omi_1.WeElement)); -exports.default = Rate; +exports.default = Locate; /***/ }), @@ -383,6 +396,36 @@ function theme() { } +/***/ }), + +/***/ "./src/util/dom-ready.js": +/*!*******************************!*\ + !*** ./src/util/dom-ready.js ***! + \*******************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var readyCallbacks = []; +document.addEventListener('DOMContentLoaded', function () { + domReady.done = true; + readyCallbacks.forEach(function (callback) { + callback(); + }); +}); +function domReady(callback) { + if (domReady.done) { + callback(); + return; + } + readyCallbacks.push(callback); +} +exports.domReady = domReady; +domReady.done = false; + + /***/ }), /***/ "omi": diff --git a/packages/omim/src/locate/index.js.map b/packages/omim/src/locate/index.js.map index ce11caa04..89a6a806d 100644 --- a/packages/omim/src/locate/index.js.map +++ b/packages/omim/src/locate/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://MRate/webpack/universalModuleDefinition","webpack://MRate/webpack/bootstrap","webpack://MRate/./src/rate/index.scss","webpack://MRate/./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js","webpack://MRate/./src/rate/index.scss?164c","webpack://MRate/./src/rate/index.tsx","webpack://MRate/./src/theme.ts","webpack://MRate/external {\"commonjs\":\"omi\",\"commonjs2\":\"omi\",\"amd\":\"omi\",\"root\":\"Omi\"}"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,2BAA2B,mBAAO,CAAC,oIAAiE;AACpG;;;AAGA;AACA,cAAc,QAAS,UAAU,0BAA0B,EAAE,aAAa,0BAA0B,uBAAuB,oBAAoB,iBAAiB,EAAE,aAAa,qBAAqB,eAAe,cAAc,EAAE,SAAS,cAAc,eAAe,EAAE,QAAQ,gBAAgB,iBAAiB,EAAE,YAAY,uBAAuB,eAAe,gBAAgB,0BAA0B,iBAAiB,EAAE,kBAAkB,uBAAuB,gBAAgB,qBAAqB,EAAE,mBAAmB,uBAAuB,EAAE,8BAA8B,eAAe,EAAE,+BAA+B,aAAa,EAAE,eAAe,uBAAuB,iBAAiB,gBAAgB,EAAE;;AAEvsB;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;;;;;;AC1EA,qBAAqB,mBAAO,CAAC,6ZAA4N;;AAEzP;AACA;AACA,SAAS;AACT;AACA;;;;;;;;;;;;;ACPa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D,YAAY,mBAAO,CAAC,gBAAK;AACzB,UAAU,mBAAO,CAAC,2CAAc;AAChC;AACA,mBAAO,CAAC,mCAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0HAA0H;AAClK,kCAAkC,yEAAyE;AAC3G,gCAAgC,oBAAoB;AACpD,oCAAoC,uBAAuB;AAC3D,sCAAsC,gCAAgC;AACtE,4CAA4C,yHAAyH;AACrK,iDAAiD,+EAA+E;AAChI,iDAAiD,mCAAmC;AACpF,oCAAoC,wBAAwB;AAC5D,sCAAsC,gCAAgC;AACtE,4CAA4C,0GAA0G;AACtJ,iDAAiD,+EAA+E;AAChI,iDAAiD,mCAAmC;AACpF,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;;;;;ACvHA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpBA,iD","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"omi\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"omi\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MRate\"] = factory(require(\"omi\"));\n\telse\n\t\troot[\"MRate\"] = factory(root[\"Omi\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_omi__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/rate/index.tsx\");\n","exports = module.exports = require(\"../../node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \":host {\\n display: inline-block; }\\n\\n.m-rate {\\n display: inline-block;\\n text-align: center;\\n cursor: pointer;\\n padding: 2px; }\\n\\nul,\\nli {\\n list-style: none;\\n padding: 0;\\n margin: 0; }\\n\\nsvg {\\n margin: 0;\\n padding: 0; }\\n\\nli {\\n width: auto;\\n height: auto; }\\n\\n._star {\\n position: relative;\\n width: 1em;\\n height: 1em;\\n display: inline-block;\\n padding: 3px; }\\n\\n._star-first {\\n position: absolute;\\n z-index: 10;\\n overflow: hidden; }\\n\\n._star-second {\\n position: absolute; }\\n\\n._star-half ._star-first {\\n width: 1em; }\\n\\n._star-empty ._star-first {\\n width: 0; }\\n\\n.star-box {\\n position: relative;\\n left: -0.5em;\\n top: -0.2em; }\\n\", \"\"]);\n\n// exports\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","\n var result = require(\"!!../../node_modules/_css-loader@1.0.1@css-loader/index.js!../../node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./index.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n ","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar omi_1 = require(\"omi\");\nvar css = require(\"./index.scss\");\n//@ts-ignore\nrequire(\"../theme.ts\");\nvar Rate = /** @class */ (function (_super) {\n __extends(Rate, _super);\n function Rate() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._current = 0;\n _this._rect = null;\n _this._hover = false;\n _this.onSelect = function (evt) {\n _this._rect = _this.base.getBoundingClientRect();\n var dx = evt.pageX - _this._rect.left;\n var value = dx / _this._rect.width * _this.props.total;\n var intValue = Math.floor(value);\n var v = intValue + (value - intValue > 0.5 ? 1 : 0.5);\n if (!_this.props.half)\n v = Math.ceil(v);\n _this.props.value = v;\n //@ts-ignore\n _this.fire('selected', v);\n _this.update();\n };\n _this.onMouseMove = function (evt) {\n _this._rect = _this.base.getBoundingClientRect();\n var dx = evt.pageX - _this._rect.left;\n _this._current = dx / _this._rect.width * _this.props.total;\n _this.update();\n };\n _this.onMouseEnter = function () {\n _this._hover = true;\n };\n _this.onMouseLeave = function () {\n _this._hover = false;\n _this.update();\n };\n _this._getClass = function (i, current) {\n if (i < current) {\n if (_this.props.half && current - i <= 0.5) {\n return '_star _star-half ';\n }\n return '_star';\n }\n else {\n return '_star _star-empty ';\n }\n };\n return _this;\n }\n Rate.prototype.installed = function () {\n this.base = this.shadowRoot.querySelector('ul');\n //update 不再从 attr 取 prop\n this.normalizedNodeName = 'm-rate';\n };\n Rate.prototype.render = function (props) {\n var _this = this;\n return (omi_1.h(\"ul\", __assign({ onMouseMove: this.onMouseMove, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onClick: this.onSelect }, omi_1.extractClass(props, \"m-rate\")), Array.apply(0, Array(props.total)).map(function (x, i) {\n return omi_1.h(\"li\", { class: _this._getClass(i, _this._hover ? _this._current : props.value) },\n omi_1.h(\"div\", { class: 'star-box' },\n omi_1.h(\"div\", { class: \"_star-first\" },\n omi_1.h(\"i\", { class: \"anticon anticon-star\" },\n omi_1.h(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"2em\", height: \"2em\", fill: props.color || \"#f57c00\", viewBox: \"0 0 18 18\" },\n omi_1.h(\"path\", { d: \"M9 11.3l3.71 2.7-1.42-4.36L15 7h-4.55L9 2.5 7.55 7H3l3.71 2.64L5.29 14z\" }),\n omi_1.h(\"path\", { fill: \"none\", d: \"M0 0h18v18H0z\" })))),\n omi_1.h(\"div\", { class: \"_star-second\" },\n omi_1.h(\"i\", { class: \"anticon anticon-star\" },\n omi_1.h(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"2em\", height: \"2em\", fill: \"#E8E8E8\", viewBox: \"0 0 18 18\" },\n omi_1.h(\"path\", { d: \"M9 11.3l3.71 2.7-1.42-4.36L15 7h-4.55L9 2.5 7.55 7H3l3.71 2.64L5.29 14z\" }),\n omi_1.h(\"path\", { fill: \"none\", d: \"M0 0h18v18H0z\" }))))));\n })));\n };\n Rate.css = css;\n Rate.defaultProps = {\n value: 0\n };\n Rate.propTypes = {\n value: Number,\n half: Boolean,\n total: Number,\n color: String\n };\n Rate = __decorate([\n omi_1.tag('m-rate')\n ], Rate);\n return Rate;\n}(omi_1.WeElement));\nexports.default = Rate;\n","theme();\ndocument.addEventListener('DOMContentLoaded', function () {\n theme();\n});\nfunction theme() {\n if (document.body && !document.body.style.getPropertyValue('--mdc-theme-primary')) {\n document.body.style.setProperty('--mdc-theme-primary', '#0072d9');\n document.body.style.setProperty('--mdc-theme-secondary', '#2170b8');\n document.body.style.setProperty('--mdc-theme-error', '#f5222d');\n document.body.style.setProperty('--mdc-theme-surface', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-primary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-secondary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-error', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-surface', '#000000');\n document.body.style.setProperty('--mdc-theme-background', '#ffffff');\n document.body.style.setProperty('--mdc-shape-small-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-medium-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-large-component-radius', '0px');\n document.body.style.setProperty('--mdc-typography--font-family', 'Roboto, sans-serif');\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_omi__;"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://MLocate/webpack/universalModuleDefinition","webpack://MLocate/webpack/bootstrap","webpack://MLocate/./src/locate/index.scss","webpack://MLocate/./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js","webpack://MLocate/./src/locate/index.scss?0a40","webpack://MLocate/./src/locate/index.tsx","webpack://MLocate/./src/theme.ts","webpack://MLocate/./src/util/dom-ready.js","webpack://MLocate/external {\"commonjs\":\"omi\",\"commonjs2\":\"omi\",\"amd\":\"omi\",\"root\":\"Omi\"}"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,2BAA2B,mBAAO,CAAC,oIAAiE;AACpG;;;AAGA;AACA,cAAc,QAAS,UAAU,mBAAmB,uBAAuB,EAAE,WAAW,gBAAgB,iBAAiB,EAAE;;AAE3H;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;;;;;;AC1EA,qBAAqB,mBAAO,CAAC,+ZAA4N;;AAEzP;AACA;AACA,SAAS;AACT;AACA;;;;;;;;;;;;;ACPa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D,YAAY,mBAAO,CAAC,gBAAK;AACzB,UAAU,mBAAO,CAAC,6CAAc;AAChC,kBAAkB,mBAAO,CAAC,kDAAmB;AAC7C;AACA,mBAAO,CAAC,mCAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,wBAAwB,yCAAyC,EAAE;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;;;;;ACpIA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACpBa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjBA,iD","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"omi\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"omi\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MLocate\"] = factory(require(\"omi\"));\n\telse\n\t\troot[\"MLocate\"] = factory(root[\"Omi\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_omi__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/locate/index.tsx\");\n","exports = module.exports = require(\"../../node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \":host {\\n display: block;\\n position: absolute; }\\n\\n.root {\\n width: auto;\\n height: auto; }\\n\", \"\"]);\n\n// exports\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","\n var result = require(\"!!../../node_modules/_css-loader@1.0.1@css-loader/index.js!../../node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./index.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n ","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar omi_1 = require(\"omi\");\nvar css = require(\"./index.scss\");\nvar dom_ready_1 = require(\"../util/dom-ready\");\n//@ts-ignore\nrequire(\"../theme.ts\");\nvar Locate = /** @class */ (function (_super) {\n __extends(Locate, _super);\n function Locate() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Locate.prototype.getScopeRoot = function (current) {\n while (true) {\n var p = current.parentNode;\n if (p) {\n current = p;\n }\n else {\n return current;\n }\n }\n };\n Locate.prototype.install = function () {\n var _this = this;\n dom_ready_1.domReady(function () {\n _this._setPosition();\n });\n };\n Locate.prototype._setPosition = function () {\n var root = this.getScopeRoot(this);\n var ele = root.querySelector(this.props.to);\n var rectA = this.shadowRoot.querySelector('.root').getBoundingClientRect();\n var rectB = ele.getBoundingClientRect();\n var tempLeft, tempTop;\n var st = document.documentElement.scrollTop || document.body.scrollTop;\n var sl = document.documentElement.scrollLeft || document.body.scrollLeft;\n var gutter = this.props.gutter;\n switch (this.props.direction) {\n case 'top-left':\n tempLeft = rectB.left;\n tempTop = (rectB.top - rectA.height - gutter);\n break;\n case 'top':\n console.log(11);\n tempLeft = rectB.left + (rectB.width / 2 - rectA.width / 2);\n tempTop = (rectB.top - rectA.height - gutter);\n break;\n case 'top-right':\n tempLeft = rectB.left + rectB.width - rectA.width;\n tempTop = (rectB.top - rectA.height - gutter);\n break;\n case 'left':\n tempLeft = rectB.left - rectA.width - gutter;\n tempTop = rectB.top + (rectB.height - rectA.height) / 2;\n break;\n case 'left-top':\n tempLeft = rectB.left - rectA.width - gutter;\n tempTop = rectB.top;\n break;\n case 'left-bottom':\n tempLeft = rectB.left - rectA.width - gutter;\n tempTop = rectB.top + (rectB.height - rectA.height);\n break;\n case 'bottom-left':\n tempLeft = rectB.left;\n tempTop = (rectB.top + rectB.height + gutter);\n break;\n case 'bottom':\n tempLeft = rectB.left + (rectB.width / 2 - rectA.width / 2);\n tempTop = (rectB.top + rectB.height + gutter);\n break;\n case 'bottom-right':\n tempLeft = rectB.left + rectB.width - rectA.width;\n tempTop = (rectB.top + rectB.height + gutter);\n break;\n case 'right':\n tempLeft = rectB.left + rectB.width + gutter;\n tempTop = rectB.top + (rectB.height - rectA.height) / 2;\n break;\n case 'right-top':\n tempLeft = rectB.left + rectB.width + gutter;\n tempTop = rectB.top;\n break;\n case 'right-bottom':\n tempLeft = rectB.left + rectB.width + gutter;\n tempTop = rectB.top + (rectB.height - rectA.height);\n break;\n }\n tempLeft = tempLeft + this.props.x + sl + 'px';\n tempTop = tempTop + this.props.y + st + 'px';\n this.style.left = tempLeft;\n this.style.top = tempTop;\n };\n Locate.prototype.updated = function () {\n this._setPosition();\n };\n Locate.prototype.render = function (props) {\n return (omi_1.h(\"div\", { class: 'root', style: { display: props.show ? 'block' : 'none' } },\n omi_1.h(\"slot\", null)));\n };\n Locate.css = css;\n Locate.defaultProps = {\n x: 0,\n y: 0,\n gutter: 4\n };\n Locate.propTypes = {};\n Locate = __decorate([\n omi_1.tag('m-locate')\n ], Locate);\n return Locate;\n}(omi_1.WeElement));\nexports.default = Locate;\n","theme();\ndocument.addEventListener('DOMContentLoaded', function () {\n theme();\n});\nfunction theme() {\n if (document.body && !document.body.style.getPropertyValue('--mdc-theme-primary')) {\n document.body.style.setProperty('--mdc-theme-primary', '#0072d9');\n document.body.style.setProperty('--mdc-theme-secondary', '#2170b8');\n document.body.style.setProperty('--mdc-theme-error', '#f5222d');\n document.body.style.setProperty('--mdc-theme-surface', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-primary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-secondary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-error', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-surface', '#000000');\n document.body.style.setProperty('--mdc-theme-background', '#ffffff');\n document.body.style.setProperty('--mdc-shape-small-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-medium-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-large-component-radius', '0px');\n document.body.style.setProperty('--mdc-typography--font-family', 'Roboto, sans-serif');\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar readyCallbacks = [];\ndocument.addEventListener('DOMContentLoaded', function () {\n domReady.done = true;\n readyCallbacks.forEach(function (callback) {\n callback();\n });\n});\nfunction domReady(callback) {\n if (domReady.done) {\n callback();\n return;\n }\n readyCallbacks.push(callback);\n}\nexports.domReady = domReady;\ndomReady.done = false;\n","module.exports = __WEBPACK_EXTERNAL_MODULE_omi__;"],"sourceRoot":""} \ No newline at end of file diff --git a/packages/omim/src/locate/index.scss b/packages/omim/src/locate/index.scss index decc312f2..fcd29c429 100644 --- a/packages/omim/src/locate/index.scss +++ b/packages/omim/src/locate/index.scss @@ -1,60 +1,13 @@ @import "../theme"; :host { - display: inline-block; + display: block; + + position: absolute; } -.m-rate { - display: inline-block; - text-align: center; - cursor: pointer; - padding: 2px; -} - -ul, -li { - list-style: none; - padding: 0; - margin: 0; -} - -svg{ - margin: 0; - padding: 0; -} -li{ - width:auto; +.root{ + // position: absolute; + width: auto; height: auto; -} - -._star { - position: relative; - width: 1em; - height: 1em; - display: inline-block; - padding: 3px; -} - -._star-first { - position: absolute; - z-index: 10; - overflow: hidden; -} - -._star-second { - position: absolute; -} - -._star-half ._star-first { - width: 1em; -} - -._star-empty ._star-first { - width: 0; -} - -.star-box{ - position: relative; - left: -0.5em; - top: -0.2em; } \ No newline at end of file diff --git a/packages/omim/src/locate/index.tsx b/packages/omim/src/locate/index.tsx index c5e9d33ff..dde5f8491 100644 --- a/packages/omim/src/locate/index.tsx +++ b/packages/omim/src/locate/index.tsx @@ -1,110 +1,138 @@ import { tag, WeElement, h, extractClass } from 'omi' import * as css from './index.scss' +import { domReady } from '../util/dom-ready' //@ts-ignore import '../theme.ts' interface Props { - total: number - half: boolean - value: number + to: string + direction: string + x: number + y: number + gutter: number + //transition: string } interface Data { } -@tag('m-relation') -export default class Relation extends WeElement{ +@tag('m-locate') +export default class Locate extends WeElement{ static css = css static defaultProps = { - value: 0 + x: 0, + y: 0, + gutter: 4 } static propTypes = { - value: Number, - half: Boolean, - total: Number, - color: String } - _current = 0 - - _rect = null - - _hover = false - - onSelect = (evt) => { - this._rect = this.base.getBoundingClientRect() - const dx = evt.pageX - this._rect.left - const value = dx / this._rect.width * this.props.total - const intValue = Math.floor(value) - let v = intValue + (value - intValue > 0.5 ? 1 : 0.5) - if(!this.props.half) v = Math.ceil(v) - - this.props.value = v - //@ts-ignore - this.fire('selected', v) - this.update() - } - - onMouseMove = (evt) => { - this._rect = this.base.getBoundingClientRect() - const dx = evt.pageX - this._rect.left - this._current = dx / this._rect.width * this.props.total - this.update() - } - - base:HTMLElement - - installed(){ - this.base = this.shadowRoot.querySelector('ul') - //update 不再从 attr 取 prop - this.normalizedNodeName = 'm-rate' - } - - onMouseEnter = () => { - this._hover = true - } - - onMouseLeave = () => { - this._hover = false - this.update() - } - - _getClass = (i, current) => { - if (i < current) { - if (this.props.half && current - i <= 0.5) { - return '_star _star-half ' + getScopeRoot(current) { + while (true) { + const p = current.parentNode + if (p) { + current = p + } else { + return current } - return '_star' - } else { - return '_star _star-empty ' } } + install() { + domReady(() => { + this._setPosition() + }) + } + + _setPosition() { + const root = this.getScopeRoot(this) + const ele = root.querySelector(this.props.to) + const rectA = this.shadowRoot.querySelector('.root').getBoundingClientRect() + const rectB = ele.getBoundingClientRect() + + let tempLeft, tempTop + let st = document.documentElement.scrollTop || document.body.scrollTop + let sl = document.documentElement.scrollLeft || document.body.scrollLeft + + const gutter = this.props.gutter + switch (this.props.direction) { + case 'top-left': + tempLeft = rectB.left + tempTop = (rectB.top - rectA.height - gutter) + break + case 'top': + console.log(11) + tempLeft = rectB.left + (rectB.width / 2 - rectA.width / 2) + tempTop = (rectB.top - rectA.height - gutter) + break + case 'top-right': + tempLeft = rectB.left + rectB.width - rectA.width + tempTop = (rectB.top - rectA.height - gutter) + break + + case 'left': + tempLeft = rectB.left - rectA.width - gutter + tempTop = rectB.top + (rectB.height - rectA.height) / 2 + break + case 'left-top': + tempLeft = rectB.left - rectA.width - gutter + tempTop = rectB.top + break + + case 'left-bottom': + tempLeft = rectB.left - rectA.width - gutter + tempTop = rectB.top + (rectB.height - rectA.height) + break + + case 'bottom-left': + tempLeft = rectB.left + tempTop = (rectB.top + rectB.height + gutter) + break + case 'bottom': + tempLeft = rectB.left + (rectB.width / 2 - rectA.width / 2) + tempTop = (rectB.top + rectB.height + gutter) + break + case 'bottom-right': + tempLeft = rectB.left + rectB.width - rectA.width + tempTop = (rectB.top + rectB.height + gutter) + break + + + case 'right': + tempLeft = rectB.left + rectB.width + gutter + tempTop = rectB.top + (rectB.height - rectA.height) / 2 + break + case 'right-top': + tempLeft = rectB.left + rectB.width + gutter + tempTop = rectB.top + break + + case 'right-bottom': + tempLeft = rectB.left + rectB.width + gutter + tempTop = rectB.top + (rectB.height - rectA.height) + break + } + + tempLeft = tempLeft + this.props.x + sl + 'px' + tempTop = tempTop + this.props.y + st + 'px' + + this.style.left = tempLeft + this.style.top = tempTop + + } + + updated(){ + this._setPosition() + } + render(props) { return ( -
    - - {Array.apply(0, Array(props.total)).map((x, i) => -
  • -
    -
    - - - -
    -
    - - - -
    -
    -
  • - )} - -
+
+ +
) } } diff --git a/packages/omim/src/menu/index.d.ts b/packages/omim/src/menu/index.d.ts index fced0212c..58353fe87 100644 --- a/packages/omim/src/menu/index.d.ts +++ b/packages/omim/src/menu/index.d.ts @@ -1,10 +1,7 @@ import { WeElement } from 'omi'; -import { MDCMenu } from '@material/menu'; import '../theme.ts'; interface Props { - show?: boolean; list: object; - anchor: boolean; } interface Data { } @@ -13,16 +10,8 @@ export default class Menu extends WeElement { static defaultProps: {}; static propTypes: { list: ObjectConstructor; - show: BooleanConstructor; - anchor: BooleanConstructor; }; - menu: MDCMenu; - installed(): void; - toggle(): void; - open(): void; - close(): void; - install(): void; - receiveProps(): void; + clickHandler: (item: any) => void; render(props: any): JSX.Element; } export {}; diff --git a/packages/omim/src/menu/index.js b/packages/omim/src/menu/index.js index 817fecd70..d390d01bf 100644 --- a/packages/omim/src/menu/index.js +++ b/packages/omim/src/menu/index.js @@ -96,2435 +96,6 @@ return /******/ (function(modules) { // webpackBootstrap /************************************************************************/ /******/ ({ -/***/ "./node_modules/_@material_base@1.0.0@@material/base/component.js": -/*!************************************************************************!*\ - !*** ./node_modules/_@material_base@1.0.0@@material/base/component.js ***! - \************************************************************************/ -/*! exports provided: MDCComponent, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCComponent", function() { return MDCComponent; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/_tslib@1.10.0@tslib/tslib.es6.js"); -/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation */ "./node_modules/_@material_base@1.0.0@@material/base/foundation.js"); -/** - * @license - * Copyright 2016 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - -var MDCComponent = /** @class */ (function () { - function MDCComponent(root, foundation) { - var args = []; - for (var _i = 2; _i < arguments.length; _i++) { - args[_i - 2] = arguments[_i]; - } - this.root_ = root; - 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 - // this.root_ is defined and can be used within the foundation class. - this.foundation_ = foundation === undefined ? this.getDefaultFoundation() : foundation; - this.foundation_.init(); - this.initialSyncWithDOM(); - } - MDCComponent.attachTo = function (root) { - // Subclasses which extend MDCBase should provide an attachTo() method that takes a root element and - // returns an instantiated component with its root set to that element. Also note that in the cases of - // subclasses, an explicit foundation class will not have to be passed in; it will simply be initialized - // from getDefaultFoundation(). - return new MDCComponent(root, new _foundation__WEBPACK_IMPORTED_MODULE_1__["MDCFoundation"]({})); - }; - /* istanbul ignore next: method param only exists for typing purposes; it does not need to be unit tested */ - MDCComponent.prototype.initialize = function () { - var _args = []; - for (var _i = 0; _i < arguments.length; _i++) { - _args[_i] = arguments[_i]; - } - // Subclasses can override this to do any additional setup work that would be considered part of a - // "constructor". Essentially, it is a hook into the parent constructor before the foundation is - // initialized. Any additional arguments besides root and foundation will be passed in here. - }; - MDCComponent.prototype.getDefaultFoundation = function () { - // Subclasses must override this method to return a properly configured foundation class for the - // component. - throw new Error('Subclasses must override getDefaultFoundation to return a properly configured ' + - 'foundation class'); - }; - MDCComponent.prototype.initialSyncWithDOM = function () { - // Subclasses should override this method if they need to perform work to synchronize with a host DOM - // object. An example of this would be a form control wrapper that needs to synchronize its internal state - // to some property or attribute of the host DOM. Please note: this is *not* the place to perform DOM - // reads/writes that would cause layout / paint, as this is called synchronously from within the constructor. - }; - MDCComponent.prototype.destroy = function () { - // Subclasses may implement this method to release any resources / deregister any listeners they have - // attached. An example of this might be deregistering a resize event from the window object. - this.foundation_.destroy(); - }; - MDCComponent.prototype.listen = function (evtType, handler) { - this.root_.addEventListener(evtType, handler); - }; - MDCComponent.prototype.unlisten = function (evtType, handler) { - this.root_.removeEventListener(evtType, handler); - }; - /** - * Fires a cross-browser-compatible custom event from the component root of the given type, with the given data. - */ - MDCComponent.prototype.emit = function (evtType, evtData, shouldBubble) { - if (shouldBubble === void 0) { shouldBubble = false; } - var evt; - if (typeof CustomEvent === 'function') { - evt = new CustomEvent(evtType, { - bubbles: shouldBubble, - detail: evtData, - }); - } - else { - evt = document.createEvent('CustomEvent'); - evt.initCustomEvent(evtType, shouldBubble, false, evtData); - } - this.root_.dispatchEvent(evt); - }; - return MDCComponent; -}()); - -// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier. -/* harmony default export */ __webpack_exports__["default"] = (MDCComponent); -//# sourceMappingURL=component.js.map - -/***/ }), - -/***/ "./node_modules/_@material_base@1.0.0@@material/base/foundation.js": -/*!*************************************************************************!*\ - !*** ./node_modules/_@material_base@1.0.0@@material/base/foundation.js ***! - \*************************************************************************/ -/*! exports provided: MDCFoundation, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCFoundation", function() { return MDCFoundation; }); -/** - * @license - * Copyright 2016 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -var MDCFoundation = /** @class */ (function () { - function MDCFoundation(adapter) { - if (adapter === void 0) { adapter = {}; } - this.adapter_ = adapter; - } - Object.defineProperty(MDCFoundation, "cssClasses", { - get: function () { - // Classes extending MDCFoundation should implement this method to return an object which exports every - // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'} - return {}; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCFoundation, "strings", { - get: function () { - // Classes extending MDCFoundation should implement this method to return an object which exports all - // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'} - return {}; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCFoundation, "numbers", { - get: function () { - // Classes extending MDCFoundation should implement this method to return an object which exports all - // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350} - return {}; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCFoundation, "defaultAdapter", { - get: function () { - // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient - // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter - // validation. - return {}; - }, - enumerable: true, - configurable: true - }); - MDCFoundation.prototype.init = function () { - // Subclasses should override this method to perform initialization routines (registering events, etc.) - }; - MDCFoundation.prototype.destroy = function () { - // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.) - }; - return MDCFoundation; -}()); - -// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier. -/* harmony default export */ __webpack_exports__["default"] = (MDCFoundation); -//# sourceMappingURL=foundation.js.map - -/***/ }), - -/***/ "./node_modules/_@material_dom@1.1.0@@material/dom/ponyfill.js": -/*!*********************************************************************!*\ - !*** ./node_modules/_@material_dom@1.1.0@@material/dom/ponyfill.js ***! - \*********************************************************************/ -/*! exports provided: closest, matches */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "closest", function() { return closest; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "matches", function() { return matches; }); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -/** - * @fileoverview A "ponyfill" is a polyfill that doesn't modify the global prototype chain. - * This makes ponyfills safer than traditional polyfills, especially for libraries like MDC. - */ -function closest(element, selector) { - if (element.closest) { - return element.closest(selector); - } - var el = element; - while (el) { - if (matches(el, selector)) { - return el; - } - el = el.parentElement; - } - return null; -} -function matches(element, selector) { - var nativeMatches = element.matches - || element.webkitMatchesSelector - || element.msMatchesSelector; - return nativeMatches.call(element, selector); -} -//# sourceMappingURL=ponyfill.js.map - -/***/ }), - -/***/ "./node_modules/_@material_list@2.3.0@@material/list/component.js": -/*!************************************************************************!*\ - !*** ./node_modules/_@material_list@2.3.0@@material/list/component.js ***! - \************************************************************************/ -/*! exports provided: MDCList */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCList", function() { return MDCList; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/_tslib@1.10.0@tslib/tslib.es6.js"); -/* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/component */ "./node_modules/_@material_base@1.0.0@@material/base/component.js"); -/* harmony import */ var _material_dom_ponyfill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/dom/ponyfill */ "./node_modules/_@material_dom@1.1.0@@material/dom/ponyfill.js"); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ "./node_modules/_@material_list@2.3.0@@material/list/constants.js"); -/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation */ "./node_modules/_@material_list@2.3.0@@material/list/foundation.js"); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - - - - -var MDCList = /** @class */ (function (_super) { - tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"](MDCList, _super); - function MDCList() { - return _super !== null && _super.apply(this, arguments) || this; - } - Object.defineProperty(MDCList.prototype, "vertical", { - set: function (value) { - this.foundation_.setVerticalOrientation(value); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCList.prototype, "listElements", { - get: function () { - return [].slice.call(this.root_.querySelectorAll("." + _constants__WEBPACK_IMPORTED_MODULE_3__["cssClasses"].LIST_ITEM_CLASS)); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCList.prototype, "wrapFocus", { - set: function (value) { - this.foundation_.setWrapFocus(value); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCList.prototype, "singleSelection", { - set: function (isSingleSelectionList) { - this.foundation_.setSingleSelection(isSingleSelectionList); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCList.prototype, "selectedIndex", { - get: function () { - return this.foundation_.getSelectedIndex(); - }, - set: function (index) { - this.foundation_.setSelectedIndex(index); - }, - enumerable: true, - configurable: true - }); - MDCList.attachTo = function (root) { - return new MDCList(root); - }; - MDCList.prototype.initialSyncWithDOM = function () { - this.handleClick_ = this.handleClickEvent_.bind(this); - this.handleKeydown_ = this.handleKeydownEvent_.bind(this); - this.focusInEventListener_ = this.handleFocusInEvent_.bind(this); - this.focusOutEventListener_ = this.handleFocusOutEvent_.bind(this); - this.listen('keydown', this.handleKeydown_); - this.listen('click', this.handleClick_); - this.listen('focusin', this.focusInEventListener_); - this.listen('focusout', this.focusOutEventListener_); - this.layout(); - this.initializeListType(); - }; - MDCList.prototype.destroy = function () { - this.unlisten('keydown', this.handleKeydown_); - this.unlisten('click', this.handleClick_); - this.unlisten('focusin', this.focusInEventListener_); - this.unlisten('focusout', this.focusOutEventListener_); - }; - MDCList.prototype.layout = function () { - var direction = this.root_.getAttribute(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ARIA_ORIENTATION); - this.vertical = direction !== _constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ARIA_ORIENTATION_HORIZONTAL; - // List items need to have at least tabindex=-1 to be focusable. - [].slice.call(this.root_.querySelectorAll('.mdc-list-item:not([tabindex])')) - .forEach(function (el) { - el.setAttribute('tabindex', '-1'); - }); - // Child button/a elements are not tabbable until the list item is focused. - [].slice.call(this.root_.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].FOCUSABLE_CHILD_ELEMENTS)) - .forEach(function (el) { return el.setAttribute('tabindex', '-1'); }); - this.foundation_.layout(); - }; - /** - * Initialize selectedIndex value based on pre-selected checkbox list items, single selection or radio. - */ - MDCList.prototype.initializeListType = function () { - var _this = this; - var checkboxListItems = this.root_.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ARIA_ROLE_CHECKBOX_SELECTOR); - 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 "); - var radioSelectedListItem = this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ARIA_CHECKED_RADIO_SELECTOR); - if (checkboxListItems.length) { - var preselectedItems = this.root_.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ARIA_CHECKED_CHECKBOX_SELECTOR); - this.selectedIndex = - [].map.call(preselectedItems, function (listItem) { return _this.listElements.indexOf(listItem); }); - } - else if (singleSelectedListItem) { - if (singleSelectedListItem.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_3__["cssClasses"].LIST_ITEM_ACTIVATED_CLASS)) { - this.foundation_.setUseActivatedClass(true); - } - this.singleSelection = true; - this.selectedIndex = this.listElements.indexOf(singleSelectedListItem); - } - else if (radioSelectedListItem) { - this.selectedIndex = this.listElements.indexOf(radioSelectedListItem); - } - }; - MDCList.prototype.getDefaultFoundation = function () { - var _this = this; - // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial. - // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable. - var adapter = { - addClassForElementIndex: function (index, className) { - var element = _this.listElements[index]; - if (element) { - element.classList.add(className); - } - }, - focusItemAtIndex: function (index) { - var element = _this.listElements[index]; - if (element) { - element.focus(); - } - }, - getAttributeForElementIndex: function (index, attr) { return _this.listElements[index].getAttribute(attr); }, - getFocusedElementIndex: function () { return _this.listElements.indexOf(document.activeElement); }, - getListItemCount: function () { return _this.listElements.length; }, - hasCheckboxAtIndex: function (index) { - var listItem = _this.listElements[index]; - return !!listItem.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].CHECKBOX_SELECTOR); - }, - hasRadioAtIndex: function (index) { - var listItem = _this.listElements[index]; - return !!listItem.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].RADIO_SELECTOR); - }, - isCheckboxCheckedAtIndex: function (index) { - var listItem = _this.listElements[index]; - var toggleEl = listItem.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].CHECKBOX_SELECTOR); - return toggleEl.checked; - }, - isFocusInsideList: function () { - return _this.root_.contains(document.activeElement); - }, - isRootFocused: function () { return document.activeElement === _this.root_; }, - notifyAction: function (index) { - _this.emit(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].ACTION_EVENT, { index: index }, /** shouldBubble */ true); - }, - removeClassForElementIndex: function (index, className) { - var element = _this.listElements[index]; - if (element) { - element.classList.remove(className); - } - }, - setAttributeForElementIndex: function (index, attr, value) { - var element = _this.listElements[index]; - if (element) { - element.setAttribute(attr, value); - } - }, - setCheckedCheckboxOrRadioAtIndex: function (index, isChecked) { - var listItem = _this.listElements[index]; - var toggleEl = listItem.querySelector(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].CHECKBOX_RADIO_SELECTOR); - toggleEl.checked = isChecked; - var event = document.createEvent('Event'); - event.initEvent('change', true, true); - toggleEl.dispatchEvent(event); - }, - setTabIndexForListItemChildren: function (listItemIndex, tabIndexValue) { - var element = _this.listElements[listItemIndex]; - var listItemChildren = [].slice.call(element.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_3__["strings"].CHILD_ELEMENTS_TO_TOGGLE_TABINDEX)); - listItemChildren.forEach(function (el) { return el.setAttribute('tabindex', tabIndexValue); }); - }, - }; - return new _foundation__WEBPACK_IMPORTED_MODULE_4__["MDCListFoundation"](adapter); - }; - /** - * Used to figure out which list item this event is targetting. Or returns -1 if - * there is no list item - */ - MDCList.prototype.getListItemIndex_ = function (evt) { - var eventTarget = evt.target; - 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. - if (nearestParent && Object(_material_dom_ponyfill__WEBPACK_IMPORTED_MODULE_2__["matches"])(nearestParent, "." + _constants__WEBPACK_IMPORTED_MODULE_3__["cssClasses"].LIST_ITEM_CLASS)) { - return this.listElements.indexOf(nearestParent); - } - return -1; - }; - /** - * Used to figure out which element was clicked before sending the event to the foundation. - */ - MDCList.prototype.handleFocusInEvent_ = function (evt) { - var index = this.getListItemIndex_(evt); - this.foundation_.handleFocusIn(evt, index); - }; - /** - * Used to figure out which element was clicked before sending the event to the foundation. - */ - MDCList.prototype.handleFocusOutEvent_ = function (evt) { - var index = this.getListItemIndex_(evt); - this.foundation_.handleFocusOut(evt, index); - }; - /** - * Used to figure out which element was focused when keydown event occurred before sending the event to the - * foundation. - */ - MDCList.prototype.handleKeydownEvent_ = function (evt) { - var index = this.getListItemIndex_(evt); - var target = evt.target; - this.foundation_.handleKeydown(evt, target.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_3__["cssClasses"].LIST_ITEM_CLASS), index); - }; - /** - * Used to figure out which element was clicked before sending the event to the foundation. - */ - MDCList.prototype.handleClickEvent_ = function (evt) { - var index = this.getListItemIndex_(evt); - 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. - var toggleCheckbox = !Object(_material_dom_ponyfill__WEBPACK_IMPORTED_MODULE_2__["matches"])(target, _constants__WEBPACK_IMPORTED_MODULE_3__["strings"].CHECKBOX_RADIO_SELECTOR); - this.foundation_.handleClick(index, toggleCheckbox); - }; - return MDCList; -}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__["MDCComponent"])); - -//# sourceMappingURL=component.js.map - -/***/ }), - -/***/ "./node_modules/_@material_list@2.3.0@@material/list/constants.js": -/*!************************************************************************!*\ - !*** ./node_modules/_@material_list@2.3.0@@material/list/constants.js ***! - \************************************************************************/ -/*! exports provided: strings, cssClasses, numbers */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return strings; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "numbers", function() { return numbers; }); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -var cssClasses = { - LIST_ITEM_ACTIVATED_CLASS: 'mdc-list-item--activated', - LIST_ITEM_CLASS: 'mdc-list-item', - LIST_ITEM_DISABLED_CLASS: 'mdc-list-item--disabled', - LIST_ITEM_SELECTED_CLASS: 'mdc-list-item--selected', - ROOT: 'mdc-list', -}; -var strings = { - ACTION_EVENT: 'MDCList:action', - ARIA_CHECKED: 'aria-checked', - ARIA_CHECKED_CHECKBOX_SELECTOR: '[role="checkbox"][aria-checked="true"]', - ARIA_CHECKED_RADIO_SELECTOR: '[role="radio"][aria-checked="true"]', - ARIA_CURRENT: 'aria-current', - ARIA_ORIENTATION: 'aria-orientation', - ARIA_ORIENTATION_HORIZONTAL: 'horizontal', - ARIA_ROLE_CHECKBOX_SELECTOR: '[role="checkbox"]', - ARIA_SELECTED: 'aria-selected', - CHECKBOX_RADIO_SELECTOR: 'input[type="checkbox"]:not(:disabled), input[type="radio"]:not(:disabled)', - CHECKBOX_SELECTOR: 'input[type="checkbox"]:not(:disabled)', - CHILD_ELEMENTS_TO_TOGGLE_TABINDEX: "\n ." + cssClasses.LIST_ITEM_CLASS + " button:not(:disabled),\n ." + cssClasses.LIST_ITEM_CLASS + " a\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 ", - RADIO_SELECTOR: 'input[type="radio"]:not(:disabled)', -}; -var numbers = { - UNSET_INDEX: -1, -}; - -//# sourceMappingURL=constants.js.map - -/***/ }), - -/***/ "./node_modules/_@material_list@2.3.0@@material/list/foundation.js": -/*!*************************************************************************!*\ - !*** ./node_modules/_@material_list@2.3.0@@material/list/foundation.js ***! - \*************************************************************************/ -/*! exports provided: MDCListFoundation, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCListFoundation", function() { return MDCListFoundation; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/_tslib@1.10.0@tslib/tslib.es6.js"); -/* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/_@material_base@1.0.0@@material/base/foundation.js"); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/_@material_list@2.3.0@@material/list/constants.js"); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - - -var ELEMENTS_KEY_ALLOWED_IN = ['input', 'button', 'textarea', 'select']; -function isNumberArray(selectedIndex) { - return selectedIndex instanceof Array; -} -var MDCListFoundation = /** @class */ (function (_super) { - tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"](MDCListFoundation, _super); - function MDCListFoundation(adapter) { - var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, MDCListFoundation.defaultAdapter, adapter)) || this; - _this.wrapFocus_ = false; - _this.isVertical_ = true; - _this.isSingleSelectionList_ = false; - _this.selectedIndex_ = _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].UNSET_INDEX; - _this.focusedItemIndex_ = _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].UNSET_INDEX; - _this.useActivatedClass_ = false; - _this.ariaCurrentAttrValue_ = null; - _this.isCheckboxList_ = false; - _this.isRadioList_ = false; - return _this; - } - Object.defineProperty(MDCListFoundation, "strings", { - get: function () { - return _constants__WEBPACK_IMPORTED_MODULE_2__["strings"]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCListFoundation, "cssClasses", { - get: function () { - return _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCListFoundation, "numbers", { - get: function () { - return _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCListFoundation, "defaultAdapter", { - get: function () { - return { - addClassForElementIndex: function () { return undefined; }, - focusItemAtIndex: function () { return undefined; }, - getAttributeForElementIndex: function () { return null; }, - getFocusedElementIndex: function () { return 0; }, - getListItemCount: function () { return 0; }, - hasCheckboxAtIndex: function () { return false; }, - hasRadioAtIndex: function () { return false; }, - isCheckboxCheckedAtIndex: function () { return false; }, - isFocusInsideList: function () { return false; }, - isRootFocused: function () { return false; }, - notifyAction: function () { return undefined; }, - removeClassForElementIndex: function () { return undefined; }, - setAttributeForElementIndex: function () { return undefined; }, - setCheckedCheckboxOrRadioAtIndex: function () { return undefined; }, - setTabIndexForListItemChildren: function () { return undefined; }, - }; - }, - enumerable: true, - configurable: true - }); - MDCListFoundation.prototype.layout = function () { - if (this.adapter_.getListItemCount() === 0) { - return; - } - if (this.adapter_.hasCheckboxAtIndex(0)) { - this.isCheckboxList_ = true; - } - else if (this.adapter_.hasRadioAtIndex(0)) { - this.isRadioList_ = true; - } - }; - /** - * Sets the private wrapFocus_ variable. - */ - MDCListFoundation.prototype.setWrapFocus = function (value) { - this.wrapFocus_ = value; - }; - /** - * Sets the isVertical_ private variable. - */ - MDCListFoundation.prototype.setVerticalOrientation = function (value) { - this.isVertical_ = value; - }; - /** - * Sets the isSingleSelectionList_ private variable. - */ - MDCListFoundation.prototype.setSingleSelection = function (value) { - this.isSingleSelectionList_ = value; - }; - /** - * Sets the useActivatedClass_ private variable. - */ - MDCListFoundation.prototype.setUseActivatedClass = function (useActivated) { - this.useActivatedClass_ = useActivated; - }; - MDCListFoundation.prototype.getSelectedIndex = function () { - return this.selectedIndex_; - }; - MDCListFoundation.prototype.setSelectedIndex = function (index) { - if (!this.isIndexValid_(index)) { - return; - } - if (this.isCheckboxList_) { - this.setCheckboxAtIndex_(index); - } - else if (this.isRadioList_) { - this.setRadioAtIndex_(index); - } - else { - this.setSingleSelectionAtIndex_(index); - } - }; - /** - * Focus in handler for the list items. - */ - MDCListFoundation.prototype.handleFocusIn = function (_, listItemIndex) { - if (listItemIndex >= 0) { - this.adapter_.setTabIndexForListItemChildren(listItemIndex, '0'); - } - }; - /** - * Focus out handler for the list items. - */ - MDCListFoundation.prototype.handleFocusOut = function (_, listItemIndex) { - var _this = this; - if (listItemIndex >= 0) { - this.adapter_.setTabIndexForListItemChildren(listItemIndex, '-1'); - } - /** - * Between Focusout & Focusin some browsers do not have focus on any element. Setting a delay to wait till the focus - * is moved to next element. - */ - setTimeout(function () { - if (!_this.adapter_.isFocusInsideList()) { - _this.setTabindexToFirstSelectedItem_(); - } - }, 0); - }; - /** - * Key handler for the list. - */ - MDCListFoundation.prototype.handleKeydown = function (evt, isRootListItem, listItemIndex) { - var isArrowLeft = evt.key === 'ArrowLeft' || evt.keyCode === 37; - var isArrowUp = evt.key === 'ArrowUp' || evt.keyCode === 38; - var isArrowRight = evt.key === 'ArrowRight' || evt.keyCode === 39; - var isArrowDown = evt.key === 'ArrowDown' || evt.keyCode === 40; - var isHome = evt.key === 'Home' || evt.keyCode === 36; - var isEnd = evt.key === 'End' || evt.keyCode === 35; - var isEnter = evt.key === 'Enter' || evt.keyCode === 13; - var isSpace = evt.key === 'Space' || evt.keyCode === 32; - if (this.adapter_.isRootFocused()) { - if (isArrowUp || isEnd) { - evt.preventDefault(); - this.focusLastElement(); - } - else if (isArrowDown || isHome) { - evt.preventDefault(); - this.focusFirstElement(); - } - return; - } - var currentIndex = this.adapter_.getFocusedElementIndex(); - if (currentIndex === -1) { - currentIndex = listItemIndex; - if (currentIndex < 0) { - // If this event doesn't have a mdc-list-item ancestor from the - // current list (not from a sublist), return early. - return; - } - } - var nextIndex; - if ((this.isVertical_ && isArrowDown) || (!this.isVertical_ && isArrowRight)) { - this.preventDefaultEvent_(evt); - nextIndex = this.focusNextElement(currentIndex); - } - else if ((this.isVertical_ && isArrowUp) || (!this.isVertical_ && isArrowLeft)) { - this.preventDefaultEvent_(evt); - nextIndex = this.focusPrevElement(currentIndex); - } - else if (isHome) { - this.preventDefaultEvent_(evt); - nextIndex = this.focusFirstElement(); - } - else if (isEnd) { - this.preventDefaultEvent_(evt); - nextIndex = this.focusLastElement(); - } - else if (isEnter || isSpace) { - if (isRootListItem) { - // Return early if enter key is pressed on anchor element which triggers synthetic MouseEvent event. - var target = evt.target; - if (target && target.tagName === 'A' && isEnter) { - return; - } - this.preventDefaultEvent_(evt); - if (this.isSelectableList_()) { - this.setSelectedIndexOnAction_(currentIndex); - } - this.adapter_.notifyAction(currentIndex); - } - } - this.focusedItemIndex_ = currentIndex; - if (nextIndex !== undefined) { - this.setTabindexAtIndex_(nextIndex); - this.focusedItemIndex_ = nextIndex; - } - }; - /** - * Click handler for the list. - */ - MDCListFoundation.prototype.handleClick = function (index, toggleCheckbox) { - if (index === _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].UNSET_INDEX) { - return; - } - if (this.isSelectableList_()) { - this.setSelectedIndexOnAction_(index, toggleCheckbox); - } - this.adapter_.notifyAction(index); - this.setTabindexAtIndex_(index); - this.focusedItemIndex_ = index; - }; - /** - * Focuses the next element on the list. - */ - MDCListFoundation.prototype.focusNextElement = function (index) { - var count = this.adapter_.getListItemCount(); - var nextIndex = index + 1; - if (nextIndex >= count) { - if (this.wrapFocus_) { - nextIndex = 0; - } - else { - // Return early because last item is already focused. - return index; - } - } - this.adapter_.focusItemAtIndex(nextIndex); - return nextIndex; - }; - /** - * Focuses the previous element on the list. - */ - MDCListFoundation.prototype.focusPrevElement = function (index) { - var prevIndex = index - 1; - if (prevIndex < 0) { - if (this.wrapFocus_) { - prevIndex = this.adapter_.getListItemCount() - 1; - } - else { - // Return early because first item is already focused. - return index; - } - } - this.adapter_.focusItemAtIndex(prevIndex); - return prevIndex; - }; - MDCListFoundation.prototype.focusFirstElement = function () { - this.adapter_.focusItemAtIndex(0); - return 0; - }; - MDCListFoundation.prototype.focusLastElement = function () { - var lastIndex = this.adapter_.getListItemCount() - 1; - this.adapter_.focusItemAtIndex(lastIndex); - return lastIndex; - }; - /** - * Ensures that preventDefault is only called if the containing element doesn't - * consume the event, and it will cause an unintended scroll. - */ - MDCListFoundation.prototype.preventDefaultEvent_ = function (evt) { - var target = evt.target; - var tagName = ("" + target.tagName).toLowerCase(); - if (ELEMENTS_KEY_ALLOWED_IN.indexOf(tagName) === -1) { - evt.preventDefault(); - } - }; - MDCListFoundation.prototype.setSingleSelectionAtIndex_ = function (index) { - if (this.selectedIndex_ === index) { - return; - } - var selectedClassName = _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].LIST_ITEM_SELECTED_CLASS; - if (this.useActivatedClass_) { - selectedClassName = _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].LIST_ITEM_ACTIVATED_CLASS; - } - if (this.selectedIndex_ !== _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].UNSET_INDEX) { - this.adapter_.removeClassForElementIndex(this.selectedIndex_, selectedClassName); - } - this.adapter_.addClassForElementIndex(index, selectedClassName); - this.setAriaForSingleSelectionAtIndex_(index); - this.selectedIndex_ = index; - }; - /** - * Sets aria attribute for single selection at given index. - */ - MDCListFoundation.prototype.setAriaForSingleSelectionAtIndex_ = function (index) { - // Detect the presence of aria-current and get the value only during list initialization when it is in unset state. - if (this.selectedIndex_ === _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].UNSET_INDEX) { - this.ariaCurrentAttrValue_ = - this.adapter_.getAttributeForElementIndex(index, _constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ARIA_CURRENT); - } - var isAriaCurrent = this.ariaCurrentAttrValue_ !== null; - var ariaAttribute = isAriaCurrent ? _constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ARIA_CURRENT : _constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ARIA_SELECTED; - if (this.selectedIndex_ !== _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].UNSET_INDEX) { - this.adapter_.setAttributeForElementIndex(this.selectedIndex_, ariaAttribute, 'false'); - } - var ariaAttributeValue = isAriaCurrent ? this.ariaCurrentAttrValue_ : 'true'; - this.adapter_.setAttributeForElementIndex(index, ariaAttribute, ariaAttributeValue); - }; - /** - * Toggles radio at give index. Radio doesn't change the checked state if it is already checked. - */ - MDCListFoundation.prototype.setRadioAtIndex_ = function (index) { - this.adapter_.setCheckedCheckboxOrRadioAtIndex(index, true); - if (this.selectedIndex_ !== _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].UNSET_INDEX) { - this.adapter_.setAttributeForElementIndex(this.selectedIndex_, _constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ARIA_CHECKED, 'false'); - } - this.adapter_.setAttributeForElementIndex(index, _constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ARIA_CHECKED, 'true'); - this.selectedIndex_ = index; - }; - MDCListFoundation.prototype.setCheckboxAtIndex_ = function (index) { - for (var i = 0; i < this.adapter_.getListItemCount(); i++) { - var isChecked = false; - if (index.indexOf(i) >= 0) { - isChecked = true; - } - this.adapter_.setCheckedCheckboxOrRadioAtIndex(i, isChecked); - this.adapter_.setAttributeForElementIndex(i, _constants__WEBPACK_IMPORTED_MODULE_2__["strings"].ARIA_CHECKED, isChecked ? 'true' : 'false'); - } - this.selectedIndex_ = index; - }; - MDCListFoundation.prototype.setTabindexAtIndex_ = function (index) { - if (this.focusedItemIndex_ === _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].UNSET_INDEX && index !== 0) { - // If no list item was selected set first list item's tabindex to -1. - // Generally, tabindex is set to 0 on first list item of list that has no preselected items. - this.adapter_.setAttributeForElementIndex(0, 'tabindex', '-1'); - } - else if (this.focusedItemIndex_ >= 0 && this.focusedItemIndex_ !== index) { - this.adapter_.setAttributeForElementIndex(this.focusedItemIndex_, 'tabindex', '-1'); - } - this.adapter_.setAttributeForElementIndex(index, 'tabindex', '0'); - }; - /** - * @return Return true if it is single selectin list, checkbox list or radio list. - */ - MDCListFoundation.prototype.isSelectableList_ = function () { - return this.isSingleSelectionList_ || this.isCheckboxList_ || this.isRadioList_; - }; - MDCListFoundation.prototype.setTabindexToFirstSelectedItem_ = function () { - var targetIndex = 0; - if (this.isSelectableList_()) { - if (typeof this.selectedIndex_ === 'number' && this.selectedIndex_ !== _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].UNSET_INDEX) { - targetIndex = this.selectedIndex_; - } - else if (isNumberArray(this.selectedIndex_) && this.selectedIndex_.length > 0) { - targetIndex = this.selectedIndex_.reduce(function (currentIndex, minIndex) { return Math.min(currentIndex, minIndex); }); - } - } - this.setTabindexAtIndex_(targetIndex); - }; - MDCListFoundation.prototype.isIndexValid_ = function (index) { - var _this = this; - if (index instanceof Array) { - if (!this.isCheckboxList_) { - throw new Error('MDCListFoundation: Array of index is only supported for checkbox based list'); - } - if (index.length === 0) { - return true; - } - else { - return index.some(function (i) { return _this.isIndexInRange_(i); }); - } - } - else if (typeof index === 'number') { - if (this.isCheckboxList_) { - throw new Error('MDCListFoundation: Expected array of index for checkbox based list but got number: ' + index); - } - return this.isIndexInRange_(index); - } - else { - return false; - } - }; - MDCListFoundation.prototype.isIndexInRange_ = function (index) { - var listSize = this.adapter_.getListItemCount(); - return index >= 0 && index < listSize; - }; - MDCListFoundation.prototype.setSelectedIndexOnAction_ = function (index, toggleCheckbox) { - if (toggleCheckbox === void 0) { toggleCheckbox = true; } - if (this.isCheckboxList_) { - this.toggleCheckboxAtIndex_(index, toggleCheckbox); - } - else { - this.setSelectedIndex(index); - } - }; - MDCListFoundation.prototype.toggleCheckboxAtIndex_ = function (index, toggleCheckbox) { - var isChecked = this.adapter_.isCheckboxCheckedAtIndex(index); - if (toggleCheckbox) { - isChecked = !isChecked; - this.adapter_.setCheckedCheckboxOrRadioAtIndex(index, isChecked); - } - 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. - var selectedIndexes = this.selectedIndex_ === _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].UNSET_INDEX ? [] : this.selectedIndex_.slice(); - if (isChecked) { - selectedIndexes.push(index); - } - else { - selectedIndexes = selectedIndexes.filter(function (i) { return i !== index; }); - } - this.selectedIndex_ = selectedIndexes; - }; - return MDCListFoundation; -}(_material_base_foundation__WEBPACK_IMPORTED_MODULE_1__["MDCFoundation"])); - -// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier. -/* harmony default export */ __webpack_exports__["default"] = (MDCListFoundation); -//# sourceMappingURL=foundation.js.map - -/***/ }), - -/***/ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/component.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/component.js ***! - \****************************************************************************************/ -/*! exports provided: MDCMenuSurface */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCMenuSurface", function() { return MDCMenuSurface; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/_tslib@1.10.0@tslib/tslib.es6.js"); -/* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/component */ "./node_modules/_@material_base@1.0.0@@material/base/component.js"); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/constants.js"); -/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation */ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/foundation.js"); -/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/util.js"); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - - - - -var MDCMenuSurface = /** @class */ (function (_super) { - tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"](MDCMenuSurface, _super); - function MDCMenuSurface() { - return _super !== null && _super.apply(this, arguments) || this; - } - MDCMenuSurface.attachTo = function (root) { - return new MDCMenuSurface(root); - }; - MDCMenuSurface.prototype.initialSyncWithDOM = function () { - var _this = this; - var parentEl = this.root_.parentElement; - this.anchorElement = parentEl && parentEl.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].ANCHOR) ? parentEl : null; - if (this.root_.classList.contains(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].FIXED)) { - this.setFixedPosition(true); - } - this.handleKeydown_ = function (evt) { return _this.foundation_.handleKeydown(evt); }; - this.handleBodyClick_ = function (evt) { return _this.foundation_.handleBodyClick(evt); }; - this.registerBodyClickListener_ = function () { return document.body.addEventListener('click', _this.handleBodyClick_); }; - this.deregisterBodyClickListener_ = function () { return document.body.removeEventListener('click', _this.handleBodyClick_); }; - this.listen('keydown', this.handleKeydown_); - this.listen(_constants__WEBPACK_IMPORTED_MODULE_2__["strings"].OPENED_EVENT, this.registerBodyClickListener_); - this.listen(_constants__WEBPACK_IMPORTED_MODULE_2__["strings"].CLOSED_EVENT, this.deregisterBodyClickListener_); - }; - MDCMenuSurface.prototype.destroy = function () { - this.unlisten('keydown', this.handleKeydown_); - this.unlisten(_constants__WEBPACK_IMPORTED_MODULE_2__["strings"].OPENED_EVENT, this.registerBodyClickListener_); - this.unlisten(_constants__WEBPACK_IMPORTED_MODULE_2__["strings"].CLOSED_EVENT, this.deregisterBodyClickListener_); - _super.prototype.destroy.call(this); - }; - Object.defineProperty(MDCMenuSurface.prototype, "open", { - get: function () { - return this.foundation_.isOpen(); - }, - set: function (value) { - if (value) { - var focusableElements = this.root_.querySelectorAll(_constants__WEBPACK_IMPORTED_MODULE_2__["strings"].FOCUSABLE_ELEMENTS); - this.firstFocusableElement_ = focusableElements[0]; - this.lastFocusableElement_ = focusableElements[focusableElements.length - 1]; - this.foundation_.open(); - } - else { - this.foundation_.close(); - } - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenuSurface.prototype, "quickOpen", { - set: function (quickOpen) { - this.foundation_.setQuickOpen(quickOpen); - }, - enumerable: true, - configurable: true - }); - /** - * Removes the menu-surface from it's current location and appends it to the - * body to overcome any overflow:hidden issues. - */ - MDCMenuSurface.prototype.hoistMenuToBody = function () { - document.body.appendChild(this.root_); - this.setIsHoisted(true); - }; - /** Sets the foundation to use page offsets for an positioning when the menu is hoisted to the body. */ - MDCMenuSurface.prototype.setIsHoisted = function (isHoisted) { - this.foundation_.setIsHoisted(isHoisted); - }; - /** Sets the element that the menu-surface is anchored to. */ - MDCMenuSurface.prototype.setMenuSurfaceAnchorElement = function (element) { - this.anchorElement = element; - }; - /** Sets the menu-surface to position: fixed. */ - MDCMenuSurface.prototype.setFixedPosition = function (isFixed) { - if (isFixed) { - this.root_.classList.add(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].FIXED); - } - else { - this.root_.classList.remove(_constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"].FIXED); - } - this.foundation_.setFixedPosition(isFixed); - }; - /** Sets the absolute x/y position to position based on. Requires the menu to be hoisted. */ - MDCMenuSurface.prototype.setAbsolutePosition = function (x, y) { - this.foundation_.setAbsolutePosition(x, y); - this.setIsHoisted(true); - }; - /** - * @param corner Default anchor corner alignment of top-left surface corner. - */ - MDCMenuSurface.prototype.setAnchorCorner = function (corner) { - this.foundation_.setAnchorCorner(corner); - }; - MDCMenuSurface.prototype.setAnchorMargin = function (margin) { - this.foundation_.setAnchorMargin(margin); - }; - MDCMenuSurface.prototype.getDefaultFoundation = function () { - var _this = this; - // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial. - // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable. - // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface. - var adapter = { - addClass: function (className) { return _this.root_.classList.add(className); }, - removeClass: function (className) { return _this.root_.classList.remove(className); }, - hasClass: function (className) { return _this.root_.classList.contains(className); }, - hasAnchor: function () { return !!_this.anchorElement; }, - notifyClose: function () { return _this.emit(_foundation__WEBPACK_IMPORTED_MODULE_3__["MDCMenuSurfaceFoundation"].strings.CLOSED_EVENT, {}); }, - notifyOpen: function () { return _this.emit(_foundation__WEBPACK_IMPORTED_MODULE_3__["MDCMenuSurfaceFoundation"].strings.OPENED_EVENT, {}); }, - isElementInContainer: function (el) { return _this.root_.contains(el); }, - isRtl: function () { return getComputedStyle(_this.root_).getPropertyValue('direction') === 'rtl'; }, - setTransformOrigin: function (origin) { - var propertyName = _util__WEBPACK_IMPORTED_MODULE_4__["getTransformPropertyName"](window) + "-origin"; - _this.root_.style.setProperty(propertyName, origin); - }, - isFocused: function () { return document.activeElement === _this.root_; }, - saveFocus: function () { - _this.previousFocus_ = document.activeElement; - }, - restoreFocus: function () { - if (_this.root_.contains(document.activeElement)) { - if (_this.previousFocus_ && _this.previousFocus_.focus) { - _this.previousFocus_.focus(); - } - } - }, - isFirstElementFocused: function () { - return _this.firstFocusableElement_ ? _this.firstFocusableElement_ === document.activeElement : false; - }, - isLastElementFocused: function () { - return _this.lastFocusableElement_ ? _this.lastFocusableElement_ === document.activeElement : false; - }, - focusFirstElement: function () { - return _this.firstFocusableElement_ && _this.firstFocusableElement_.focus && _this.firstFocusableElement_.focus(); - }, - focusLastElement: function () { - return _this.lastFocusableElement_ && _this.lastFocusableElement_.focus && _this.lastFocusableElement_.focus(); - }, - getInnerDimensions: function () { - return { width: _this.root_.offsetWidth, height: _this.root_.offsetHeight }; - }, - getAnchorDimensions: function () { return _this.anchorElement ? _this.anchorElement.getBoundingClientRect() : null; }, - getWindowDimensions: function () { - return { width: window.innerWidth, height: window.innerHeight }; - }, - getBodyDimensions: function () { - return { width: document.body.clientWidth, height: document.body.clientHeight }; - }, - getWindowScroll: function () { - return { x: window.pageXOffset, y: window.pageYOffset }; - }, - setPosition: function (position) { - _this.root_.style.left = 'left' in position ? position.left + "px" : ''; - _this.root_.style.right = 'right' in position ? position.right + "px" : ''; - _this.root_.style.top = 'top' in position ? position.top + "px" : ''; - _this.root_.style.bottom = 'bottom' in position ? position.bottom + "px" : ''; - }, - setMaxHeight: function (height) { - _this.root_.style.maxHeight = height; - }, - }; - // tslint:enable:object-literal-sort-keys - return new _foundation__WEBPACK_IMPORTED_MODULE_3__["MDCMenuSurfaceFoundation"](adapter); - }; - return MDCMenuSurface; -}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__["MDCComponent"])); - -//# sourceMappingURL=component.js.map - -/***/ }), - -/***/ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/constants.js": -/*!****************************************************************************************!*\ - !*** ./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/constants.js ***! - \****************************************************************************************/ -/*! exports provided: cssClasses, strings, numbers, CornerBit, Corner */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return strings; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "numbers", function() { return numbers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CornerBit", function() { return CornerBit; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Corner", function() { return Corner; }); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -var cssClasses = { - ANCHOR: 'mdc-menu-surface--anchor', - ANIMATING_CLOSED: 'mdc-menu-surface--animating-closed', - ANIMATING_OPEN: 'mdc-menu-surface--animating-open', - FIXED: 'mdc-menu-surface--fixed', - OPEN: 'mdc-menu-surface--open', - ROOT: 'mdc-menu-surface', -}; -// tslint:disable:object-literal-sort-keys -var strings = { - CLOSED_EVENT: 'MDCMenuSurface:closed', - OPENED_EVENT: 'MDCMenuSurface:opened', - 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(', '), -}; -// tslint:enable:object-literal-sort-keys -var numbers = { - /** Total duration of menu-surface open animation. */ - TRANSITION_OPEN_DURATION: 120, - /** Total duration of menu-surface close animation. */ - TRANSITION_CLOSE_DURATION: 75, - /** Margin left to the edge of the viewport when menu-surface is at maximum possible height. */ - MARGIN_TO_EDGE: 32, - /** Ratio of anchor width to menu-surface width for switching from corner positioning to center positioning. */ - ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO: 0.67, -}; -/** - * Enum for bits in the {@see Corner) bitmap. - */ -var CornerBit; -(function (CornerBit) { - CornerBit[CornerBit["BOTTOM"] = 1] = "BOTTOM"; - CornerBit[CornerBit["CENTER"] = 2] = "CENTER"; - CornerBit[CornerBit["RIGHT"] = 4] = "RIGHT"; - CornerBit[CornerBit["FLIP_RTL"] = 8] = "FLIP_RTL"; -})(CornerBit || (CornerBit = {})); -/** - * Enum for representing an element corner for positioning the menu-surface. - * - * The START constants map to LEFT if element directionality is left - * to right and RIGHT if the directionality is right to left. - * Likewise END maps to RIGHT or LEFT depending on the directionality. - */ -var Corner; -(function (Corner) { - Corner[Corner["TOP_LEFT"] = 0] = "TOP_LEFT"; - Corner[Corner["TOP_RIGHT"] = 4] = "TOP_RIGHT"; - Corner[Corner["BOTTOM_LEFT"] = 1] = "BOTTOM_LEFT"; - Corner[Corner["BOTTOM_RIGHT"] = 5] = "BOTTOM_RIGHT"; - Corner[Corner["TOP_START"] = 8] = "TOP_START"; - Corner[Corner["TOP_END"] = 12] = "TOP_END"; - Corner[Corner["BOTTOM_START"] = 9] = "BOTTOM_START"; - Corner[Corner["BOTTOM_END"] = 13] = "BOTTOM_END"; -})(Corner || (Corner = {})); - -//# sourceMappingURL=constants.js.map - -/***/ }), - -/***/ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/foundation.js": -/*!*****************************************************************************************!*\ - !*** ./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/foundation.js ***! - \*****************************************************************************************/ -/*! exports provided: MDCMenuSurfaceFoundation, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCMenuSurfaceFoundation", function() { return MDCMenuSurfaceFoundation; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/_tslib@1.10.0@tslib/tslib.es6.js"); -/* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/_@material_base@1.0.0@@material/base/foundation.js"); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/constants.js"); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - - -var MDCMenuSurfaceFoundation = /** @class */ (function (_super) { - tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"](MDCMenuSurfaceFoundation, _super); - function MDCMenuSurfaceFoundation(adapter) { - var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, MDCMenuSurfaceFoundation.defaultAdapter, adapter)) || this; - _this.isOpen_ = false; - _this.isQuickOpen_ = false; - _this.isHoistedElement_ = false; - _this.isFixedPosition_ = false; - _this.openAnimationEndTimerId_ = 0; - _this.closeAnimationEndTimerId_ = 0; - _this.animationRequestId_ = 0; - _this.anchorCorner_ = _constants__WEBPACK_IMPORTED_MODULE_2__["Corner"].TOP_START; - _this.anchorMargin_ = { top: 0, right: 0, bottom: 0, left: 0 }; - _this.position_ = { x: 0, y: 0 }; - return _this; - } - Object.defineProperty(MDCMenuSurfaceFoundation, "cssClasses", { - get: function () { - return _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenuSurfaceFoundation, "strings", { - get: function () { - return _constants__WEBPACK_IMPORTED_MODULE_2__["strings"]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenuSurfaceFoundation, "numbers", { - get: function () { - return _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenuSurfaceFoundation, "Corner", { - get: function () { - return _constants__WEBPACK_IMPORTED_MODULE_2__["Corner"]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenuSurfaceFoundation, "defaultAdapter", { - /** - * @see {@link MDCMenuSurfaceAdapter} for typing information on parameters and return types. - */ - get: function () { - // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface. - return { - addClass: function () { return undefined; }, - removeClass: function () { return undefined; }, - hasClass: function () { return false; }, - hasAnchor: function () { return false; }, - isElementInContainer: function () { return false; }, - isFocused: function () { return false; }, - isFirstElementFocused: function () { return false; }, - isLastElementFocused: function () { return false; }, - isRtl: function () { return false; }, - getInnerDimensions: function () { return ({ height: 0, width: 0 }); }, - getAnchorDimensions: function () { return null; }, - getWindowDimensions: function () { return ({ height: 0, width: 0 }); }, - getBodyDimensions: function () { return ({ height: 0, width: 0 }); }, - getWindowScroll: function () { return ({ x: 0, y: 0 }); }, - setPosition: function () { return undefined; }, - setMaxHeight: function () { return undefined; }, - setTransformOrigin: function () { return undefined; }, - saveFocus: function () { return undefined; }, - restoreFocus: function () { return undefined; }, - focusFirstElement: function () { return undefined; }, - focusLastElement: function () { return undefined; }, - notifyClose: function () { return undefined; }, - notifyOpen: function () { return undefined; }, - }; - // tslint:enable:object-literal-sort-keys - }, - enumerable: true, - configurable: true - }); - MDCMenuSurfaceFoundation.prototype.init = function () { - var _a = MDCMenuSurfaceFoundation.cssClasses, ROOT = _a.ROOT, OPEN = _a.OPEN; - if (!this.adapter_.hasClass(ROOT)) { - throw new Error(ROOT + " class required in root element."); - } - if (this.adapter_.hasClass(OPEN)) { - this.isOpen_ = true; - } - }; - MDCMenuSurfaceFoundation.prototype.destroy = function () { - clearTimeout(this.openAnimationEndTimerId_); - clearTimeout(this.closeAnimationEndTimerId_); - // Cancel any currently running animations. - cancelAnimationFrame(this.animationRequestId_); - }; - /** - * @param corner Default anchor corner alignment of top-left menu surface corner. - */ - MDCMenuSurfaceFoundation.prototype.setAnchorCorner = function (corner) { - this.anchorCorner_ = corner; - }; - /** - * @param margin Set of margin values from anchor. - */ - MDCMenuSurfaceFoundation.prototype.setAnchorMargin = function (margin) { - this.anchorMargin_.top = margin.top || 0; - this.anchorMargin_.right = margin.right || 0; - this.anchorMargin_.bottom = margin.bottom || 0; - this.anchorMargin_.left = margin.left || 0; - }; - /** Used to indicate if the menu-surface is hoisted to the body. */ - MDCMenuSurfaceFoundation.prototype.setIsHoisted = function (isHoisted) { - this.isHoistedElement_ = isHoisted; - }; - /** Used to set the menu-surface calculations based on a fixed position menu. */ - MDCMenuSurfaceFoundation.prototype.setFixedPosition = function (isFixedPosition) { - this.isFixedPosition_ = isFixedPosition; - }; - /** Sets the menu-surface position on the page. */ - MDCMenuSurfaceFoundation.prototype.setAbsolutePosition = function (x, y) { - this.position_.x = this.isFinite_(x) ? x : 0; - this.position_.y = this.isFinite_(y) ? y : 0; - }; - MDCMenuSurfaceFoundation.prototype.setQuickOpen = function (quickOpen) { - this.isQuickOpen_ = quickOpen; - }; - MDCMenuSurfaceFoundation.prototype.isOpen = function () { - return this.isOpen_; - }; - /** - * Open the menu surface. - */ - MDCMenuSurfaceFoundation.prototype.open = function () { - var _this = this; - this.adapter_.saveFocus(); - if (!this.isQuickOpen_) { - this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_OPEN); - } - this.animationRequestId_ = requestAnimationFrame(function () { - _this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.OPEN); - _this.dimensions_ = _this.adapter_.getInnerDimensions(); - _this.autoPosition_(); - if (_this.isQuickOpen_) { - _this.adapter_.notifyOpen(); - } - else { - _this.openAnimationEndTimerId_ = setTimeout(function () { - _this.openAnimationEndTimerId_ = 0; - _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_OPEN); - _this.adapter_.notifyOpen(); - }, _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].TRANSITION_OPEN_DURATION); - } - }); - this.isOpen_ = true; - }; - /** - * Closes the menu surface. - */ - MDCMenuSurfaceFoundation.prototype.close = function () { - var _this = this; - if (!this.isQuickOpen_) { - this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_CLOSED); - } - requestAnimationFrame(function () { - _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.OPEN); - if (_this.isQuickOpen_) { - _this.adapter_.notifyClose(); - } - else { - _this.closeAnimationEndTimerId_ = setTimeout(function () { - _this.closeAnimationEndTimerId_ = 0; - _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_CLOSED); - _this.adapter_.notifyClose(); - }, _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].TRANSITION_CLOSE_DURATION); - } - }); - this.isOpen_ = false; - this.maybeRestoreFocus_(); - }; - /** Handle clicks and close if not within menu-surface element. */ - MDCMenuSurfaceFoundation.prototype.handleBodyClick = function (evt) { - var el = evt.target; - if (this.adapter_.isElementInContainer(el)) { - return; - } - this.close(); - }; - /** Handle keys that close the surface. */ - MDCMenuSurfaceFoundation.prototype.handleKeydown = function (evt) { - var keyCode = evt.keyCode, key = evt.key, shiftKey = evt.shiftKey; - var isEscape = key === 'Escape' || keyCode === 27; - var isTab = key === 'Tab' || keyCode === 9; - if (isEscape) { - this.close(); - } - else if (isTab) { - if (this.adapter_.isLastElementFocused() && !shiftKey) { - this.adapter_.focusFirstElement(); - evt.preventDefault(); - } - else if (this.adapter_.isFirstElementFocused() && shiftKey) { - this.adapter_.focusLastElement(); - evt.preventDefault(); - } - } - }; - MDCMenuSurfaceFoundation.prototype.autoPosition_ = function () { - var _a; - // Compute measurements for autoposition methods reuse. - this.measurements_ = this.getAutoLayoutMeasurements_(); - var corner = this.getOriginCorner_(); - var maxMenuSurfaceHeight = this.getMenuSurfaceMaxHeight_(corner); - var verticalAlignment = this.hasBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].BOTTOM) ? 'bottom' : 'top'; - var horizontalAlignment = this.hasBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].RIGHT) ? 'right' : 'left'; - var horizontalOffset = this.getHorizontalOriginOffset_(corner); - var verticalOffset = this.getVerticalOriginOffset_(corner); - var _b = this.measurements_, anchorSize = _b.anchorSize, surfaceSize = _b.surfaceSize; - 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. - if (anchorSize.width / surfaceSize.width > _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"].ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO) { - horizontalAlignment = 'center'; - } - // If the menu-surface has been hoisted to the body, it's no longer relative to the anchor element - if (this.isHoistedElement_ || this.isFixedPosition_) { - this.adjustPositionForHoistedElement_(position); - } - this.adapter_.setTransformOrigin(horizontalAlignment + " " + verticalAlignment); - this.adapter_.setPosition(position); - this.adapter_.setMaxHeight(maxMenuSurfaceHeight ? maxMenuSurfaceHeight + 'px' : ''); - }; - /** - * @return Measurements used to position menu surface popup. - */ - MDCMenuSurfaceFoundation.prototype.getAutoLayoutMeasurements_ = function () { - var anchorRect = this.adapter_.getAnchorDimensions(); - var bodySize = this.adapter_.getBodyDimensions(); - var viewportSize = this.adapter_.getWindowDimensions(); - var windowScroll = this.adapter_.getWindowScroll(); - if (!anchorRect) { - // tslint:disable:object-literal-sort-keys Positional properties are more readable when they're grouped together - anchorRect = { - top: this.position_.y, - right: this.position_.x, - bottom: this.position_.y, - left: this.position_.x, - width: 0, - height: 0, - }; - // tslint:enable:object-literal-sort-keys - } - return { - anchorSize: anchorRect, - bodySize: bodySize, - surfaceSize: this.dimensions_, - viewportDistance: { - // tslint:disable:object-literal-sort-keys Positional properties are more readable when they're grouped together - top: anchorRect.top, - right: viewportSize.width - anchorRect.right, - bottom: viewportSize.height - anchorRect.bottom, - left: anchorRect.left, - }, - viewportSize: viewportSize, - windowScroll: windowScroll, - }; - }; - /** - * Computes the corner of the anchor from which to animate and position the menu surface. - */ - MDCMenuSurfaceFoundation.prototype.getOriginCorner_ = function () { - // Defaults: open from the top left. - var corner = _constants__WEBPACK_IMPORTED_MODULE_2__["Corner"].TOP_LEFT; - var _a = this.measurements_, viewportDistance = _a.viewportDistance, anchorSize = _a.anchorSize, surfaceSize = _a.surfaceSize; - var isBottomAligned = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].BOTTOM); - var availableTop = isBottomAligned ? viewportDistance.top + anchorSize.height + this.anchorMargin_.bottom - : viewportDistance.top + this.anchorMargin_.top; - var availableBottom = isBottomAligned ? viewportDistance.bottom - this.anchorMargin_.bottom - : viewportDistance.bottom + anchorSize.height - this.anchorMargin_.top; - var topOverflow = surfaceSize.height - availableTop; - var bottomOverflow = surfaceSize.height - availableBottom; - if (bottomOverflow > 0 && topOverflow < bottomOverflow) { - corner = this.setBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].BOTTOM); - } - var isRtl = this.adapter_.isRtl(); - var isFlipRtl = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].FLIP_RTL); - var avoidHorizontalOverlap = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].RIGHT); - var isAlignedRight = (avoidHorizontalOverlap && !isRtl) || - (!avoidHorizontalOverlap && isFlipRtl && isRtl); - var availableLeft = isAlignedRight ? viewportDistance.left + anchorSize.width + this.anchorMargin_.right : - viewportDistance.left + this.anchorMargin_.left; - var availableRight = isAlignedRight ? viewportDistance.right - this.anchorMargin_.right : - viewportDistance.right + anchorSize.width - this.anchorMargin_.left; - var leftOverflow = surfaceSize.width - availableLeft; - var rightOverflow = surfaceSize.width - availableRight; - if ((leftOverflow < 0 && isAlignedRight && isRtl) || - (avoidHorizontalOverlap && !isAlignedRight && leftOverflow < 0) || - (rightOverflow > 0 && leftOverflow < rightOverflow)) { - corner = this.setBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].RIGHT); - } - return corner; - }; - /** - * @param corner Origin corner of the menu surface. - * @return Maximum height of the menu surface, based on available space. 0 indicates should not be set. - */ - MDCMenuSurfaceFoundation.prototype.getMenuSurfaceMaxHeight_ = function (corner) { - var viewportDistance = this.measurements_.viewportDistance; - var maxHeight = 0; - var isBottomAligned = this.hasBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].BOTTOM); - var isBottomAnchored = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].BOTTOM); - var MARGIN_TO_EDGE = MDCMenuSurfaceFoundation.numbers.MARGIN_TO_EDGE; - // When maximum height is not specified, it is handled from CSS. - if (isBottomAligned) { - maxHeight = viewportDistance.top + this.anchorMargin_.top - MARGIN_TO_EDGE; - if (!isBottomAnchored) { - maxHeight += this.measurements_.anchorSize.height; - } - } - else { - maxHeight = - viewportDistance.bottom - this.anchorMargin_.bottom + this.measurements_.anchorSize.height - MARGIN_TO_EDGE; - if (isBottomAnchored) { - maxHeight -= this.measurements_.anchorSize.height; - } - } - return maxHeight; - }; - /** - * @param corner Origin corner of the menu surface. - * @return Horizontal offset of menu surface origin corner from corresponding anchor corner. - */ - MDCMenuSurfaceFoundation.prototype.getHorizontalOriginOffset_ = function (corner) { - var anchorSize = this.measurements_.anchorSize; - // isRightAligned corresponds to using the 'right' property on the surface. - var isRightAligned = this.hasBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].RIGHT); - var avoidHorizontalOverlap = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].RIGHT); - if (isRightAligned) { - 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 - // when we calculate the right value (`adjustPositionForHoistedElement_`) based on the element position, - // the right property is correct. - if (this.isHoistedElement_ || this.isFixedPosition_) { - return rightOffset - (this.measurements_.viewportSize.width - this.measurements_.bodySize.width); - } - return rightOffset; - } - return avoidHorizontalOverlap ? anchorSize.width - this.anchorMargin_.right : this.anchorMargin_.left; - }; - /** - * @param corner Origin corner of the menu surface. - * @return Vertical offset of menu surface origin corner from corresponding anchor corner. - */ - MDCMenuSurfaceFoundation.prototype.getVerticalOriginOffset_ = function (corner) { - var anchorSize = this.measurements_.anchorSize; - var isBottomAligned = this.hasBit_(corner, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].BOTTOM); - var avoidVerticalOverlap = this.hasBit_(this.anchorCorner_, _constants__WEBPACK_IMPORTED_MODULE_2__["CornerBit"].BOTTOM); - var y = 0; - if (isBottomAligned) { - y = avoidVerticalOverlap ? anchorSize.height - this.anchorMargin_.top : -this.anchorMargin_.bottom; - } - else { - y = avoidVerticalOverlap ? (anchorSize.height + this.anchorMargin_.bottom) : this.anchorMargin_.top; - } - return y; - }; - /** Calculates the offsets for positioning the menu-surface when the menu-surface has been hoisted to the body. */ - MDCMenuSurfaceFoundation.prototype.adjustPositionForHoistedElement_ = function (position) { - var e_1, _a; - var _b = this.measurements_, windowScroll = _b.windowScroll, viewportDistance = _b.viewportDistance; - var props = Object.keys(position); - try { - 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()) { - var prop = props_1_1.value; - var value = position[prop] || 0; - // Hoisted surfaces need to have the anchor elements location on the page added to the - // position properties for proper alignment on the body. - value += viewportDistance[prop]; - // Surfaces that are absolutely positioned need to have additional calculations for scroll - // and bottom positioning. - if (!this.isFixedPosition_) { - if (prop === 'top') { - value += windowScroll.y; - } - else if (prop === 'bottom') { - value -= windowScroll.y; - } - else if (prop === 'left') { - value += windowScroll.x; - } - else { // prop === 'right' - value -= windowScroll.x; - } - } - position[prop] = value; - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1); - } - finally { if (e_1) throw e_1.error; } - } - }; - /** - * The last focused element when the menu surface was opened should regain focus, if the user is - * focused on or within the menu surface when it is closed. - */ - MDCMenuSurfaceFoundation.prototype.maybeRestoreFocus_ = function () { - var isRootFocused = this.adapter_.isFocused(); - var childHasFocus = document.activeElement && this.adapter_.isElementInContainer(document.activeElement); - if (isRootFocused || childHasFocus) { - this.adapter_.restoreFocus(); - } - }; - MDCMenuSurfaceFoundation.prototype.hasBit_ = function (corner, bit) { - return Boolean(corner & bit); // tslint:disable-line:no-bitwise - }; - MDCMenuSurfaceFoundation.prototype.setBit_ = function (corner, bit) { - return corner | bit; // tslint:disable-line:no-bitwise - }; - /** - * isFinite that doesn't force conversion to number type. - * Equivalent to Number.isFinite in ES2015, which is not supported in IE. - */ - MDCMenuSurfaceFoundation.prototype.isFinite_ = function (num) { - return typeof num === 'number' && isFinite(num); - }; - return MDCMenuSurfaceFoundation; -}(_material_base_foundation__WEBPACK_IMPORTED_MODULE_1__["MDCFoundation"])); - -// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier. -/* harmony default export */ __webpack_exports__["default"] = (MDCMenuSurfaceFoundation); -//# sourceMappingURL=foundation.js.map - -/***/ }), - -/***/ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/util.js": -/*!***********************************************************************************!*\ - !*** ./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/util.js ***! - \***********************************************************************************/ -/*! exports provided: getTransformPropertyName */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTransformPropertyName", function() { return getTransformPropertyName; }); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -var cachedCssTransformPropertyName_; -/** - * Returns the name of the correct transform property to use on the current browser. - */ -function getTransformPropertyName(globalObj, forceRefresh) { - if (forceRefresh === void 0) { forceRefresh = false; } - if (cachedCssTransformPropertyName_ === undefined || forceRefresh) { - var el = globalObj.document.createElement('div'); - cachedCssTransformPropertyName_ = 'transform' in el.style ? 'transform' : 'webkitTransform'; - } - return cachedCssTransformPropertyName_; -} - -//# sourceMappingURL=util.js.map - -/***/ }), - -/***/ "./node_modules/_@material_menu@2.3.0@@material/menu/component.js": -/*!************************************************************************!*\ - !*** ./node_modules/_@material_menu@2.3.0@@material/menu/component.js ***! - \************************************************************************/ -/*! exports provided: MDCMenu */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCMenu", function() { return MDCMenu; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/_tslib@1.10.0@tslib/tslib.es6.js"); -/* harmony import */ var _material_base_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/component */ "./node_modules/_@material_base@1.0.0@@material/base/component.js"); -/* harmony import */ var _material_list_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/list/component */ "./node_modules/_@material_list@2.3.0@@material/list/component.js"); -/* harmony import */ var _material_list_foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material/list/foundation */ "./node_modules/_@material_list@2.3.0@@material/list/foundation.js"); -/* harmony import */ var _material_menu_surface_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material/menu-surface/component */ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/component.js"); -/* harmony import */ var _material_menu_surface_foundation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material/menu-surface/foundation */ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/foundation.js"); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constants */ "./node_modules/_@material_menu@2.3.0@@material/menu/constants.js"); -/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./foundation */ "./node_modules/_@material_menu@2.3.0@@material/menu/foundation.js"); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - - - - - - - -var MDCMenu = /** @class */ (function (_super) { - tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"](MDCMenu, _super); - function MDCMenu() { - return _super !== null && _super.apply(this, arguments) || this; - } - MDCMenu.attachTo = function (root) { - return new MDCMenu(root); - }; - MDCMenu.prototype.initialize = function (menuSurfaceFactory, listFactory) { - if (menuSurfaceFactory === void 0) { menuSurfaceFactory = function (el) { return new _material_menu_surface_component__WEBPACK_IMPORTED_MODULE_4__["MDCMenuSurface"](el); }; } - if (listFactory === void 0) { listFactory = function (el) { return new _material_list_component__WEBPACK_IMPORTED_MODULE_2__["MDCList"](el); }; } - this.menuSurfaceFactory_ = menuSurfaceFactory; - this.listFactory_ = listFactory; - }; - MDCMenu.prototype.initialSyncWithDOM = function () { - var _this = this; - this.menuSurface_ = this.menuSurfaceFactory_(this.root_); - var list = this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_6__["strings"].LIST_SELECTOR); - if (list) { - this.list_ = this.listFactory_(list); - this.list_.wrapFocus = true; - } - else { - this.list_ = null; - } - this.handleKeydown_ = function (evt) { return _this.foundation_.handleKeydown(evt); }; - this.handleItemAction_ = function (evt) { return _this.foundation_.handleItemAction(_this.items[evt.detail.index]); }; - this.handleMenuSurfaceOpened_ = function () { return _this.foundation_.handleMenuSurfaceOpened(); }; - this.menuSurface_.listen(_material_menu_surface_foundation__WEBPACK_IMPORTED_MODULE_5__["MDCMenuSurfaceFoundation"].strings.OPENED_EVENT, this.handleMenuSurfaceOpened_); - this.listen('keydown', this.handleKeydown_); - this.listen(_material_list_foundation__WEBPACK_IMPORTED_MODULE_3__["MDCListFoundation"].strings.ACTION_EVENT, this.handleItemAction_); - }; - MDCMenu.prototype.destroy = function () { - if (this.list_) { - this.list_.destroy(); - } - this.menuSurface_.destroy(); - this.menuSurface_.unlisten(_material_menu_surface_foundation__WEBPACK_IMPORTED_MODULE_5__["MDCMenuSurfaceFoundation"].strings.OPENED_EVENT, this.handleMenuSurfaceOpened_); - this.unlisten('keydown', this.handleKeydown_); - this.unlisten(_material_list_foundation__WEBPACK_IMPORTED_MODULE_3__["MDCListFoundation"].strings.ACTION_EVENT, this.handleItemAction_); - _super.prototype.destroy.call(this); - }; - Object.defineProperty(MDCMenu.prototype, "open", { - get: function () { - return this.menuSurface_.open; - }, - set: function (value) { - this.menuSurface_.open = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenu.prototype, "wrapFocus", { - get: function () { - return this.list_ ? this.list_.wrapFocus : false; - }, - set: function (value) { - if (this.list_) { - this.list_.wrapFocus = value; - } - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenu.prototype, "items", { - /** - * Return the items within the menu. Note that this only contains the set of elements within - * the items container that are proper list items, and not supplemental / presentational DOM - * elements. - */ - get: function () { - return this.list_ ? this.list_.listElements : []; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenu.prototype, "quickOpen", { - set: function (quickOpen) { - this.menuSurface_.quickOpen = quickOpen; - }, - enumerable: true, - configurable: true - }); - /** - * Sets default focus state where the menu should focus every time when menu - * is opened. Focuses the list root (`DefaultFocusState.LIST_ROOT`) element by - * default. - * @param focusState Default focus state. - */ - MDCMenu.prototype.setDefaultFocusState = function (focusState) { - this.foundation_.setDefaultFocusState(focusState); - }; - /** - * @param corner Default anchor corner alignment of top-left menu corner. - */ - MDCMenu.prototype.setAnchorCorner = function (corner) { - this.menuSurface_.setAnchorCorner(corner); - }; - MDCMenu.prototype.setAnchorMargin = function (margin) { - this.menuSurface_.setAnchorMargin(margin); - }; - /** - * @return The item within the menu at the index specified. - */ - MDCMenu.prototype.getOptionByIndex = function (index) { - var items = this.items; - if (index < items.length) { - return this.items[index]; - } - else { - return null; - } - }; - MDCMenu.prototype.setFixedPosition = function (isFixed) { - this.menuSurface_.setFixedPosition(isFixed); - }; - MDCMenu.prototype.hoistMenuToBody = function () { - this.menuSurface_.hoistMenuToBody(); - }; - MDCMenu.prototype.setIsHoisted = function (isHoisted) { - this.menuSurface_.setIsHoisted(isHoisted); - }; - MDCMenu.prototype.setAbsolutePosition = function (x, y) { - this.menuSurface_.setAbsolutePosition(x, y); - }; - /** - * Sets the element that the menu-surface is anchored to. - */ - MDCMenu.prototype.setAnchorElement = function (element) { - this.menuSurface_.anchorElement = element; - }; - MDCMenu.prototype.getDefaultFoundation = function () { - var _this = this; - // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial. - // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable. - // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface. - var adapter = { - addClassToElementAtIndex: function (index, className) { - var list = _this.items; - list[index].classList.add(className); - }, - removeClassFromElementAtIndex: function (index, className) { - var list = _this.items; - list[index].classList.remove(className); - }, - addAttributeToElementAtIndex: function (index, attr, value) { - var list = _this.items; - list[index].setAttribute(attr, value); - }, - removeAttributeFromElementAtIndex: function (index, attr) { - var list = _this.items; - list[index].removeAttribute(attr); - }, - elementContainsClass: function (element, className) { return element.classList.contains(className); }, - closeSurface: function () { return _this.open = false; }, - getElementIndex: function (element) { return _this.items.indexOf(element); }, - getParentElement: function (element) { return element.parentElement; }, - getSelectedElementIndex: function (selectionGroup) { - var selectedListItem = selectionGroup.querySelector("." + _constants__WEBPACK_IMPORTED_MODULE_6__["cssClasses"].MENU_SELECTED_LIST_ITEM); - return selectedListItem ? _this.items.indexOf(selectedListItem) : -1; - }, - notifySelected: function (evtData) { return _this.emit(_constants__WEBPACK_IMPORTED_MODULE_6__["strings"].SELECTED_EVENT, { - index: evtData.index, - item: _this.items[evtData.index], - }); }, - getMenuItemCount: function () { return _this.items.length; }, - focusItemAtIndex: function (index) { return _this.items[index].focus(); }, - focusListRoot: function () { return _this.root_.querySelector(_constants__WEBPACK_IMPORTED_MODULE_6__["strings"].LIST_SELECTOR).focus(); }, - }; - // tslint:enable:object-literal-sort-keys - return new _foundation__WEBPACK_IMPORTED_MODULE_7__["MDCMenuFoundation"](adapter); - }; - return MDCMenu; -}(_material_base_component__WEBPACK_IMPORTED_MODULE_1__["MDCComponent"])); - -//# sourceMappingURL=component.js.map - -/***/ }), - -/***/ "./node_modules/_@material_menu@2.3.0@@material/menu/constants.js": -/*!************************************************************************!*\ - !*** ./node_modules/_@material_menu@2.3.0@@material/menu/constants.js ***! - \************************************************************************/ -/*! exports provided: cssClasses, strings, numbers, DefaultFocusState */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return cssClasses; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return strings; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "numbers", function() { return numbers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DefaultFocusState", function() { return DefaultFocusState; }); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -var cssClasses = { - MENU_SELECTED_LIST_ITEM: 'mdc-menu-item--selected', - MENU_SELECTION_GROUP: 'mdc-menu__selection-group', - ROOT: 'mdc-menu', -}; -var strings = { - ARIA_SELECTED_ATTR: 'aria-selected', - CHECKBOX_SELECTOR: 'input[type="checkbox"]', - LIST_SELECTOR: '.mdc-list', - SELECTED_EVENT: 'MDCMenu:selected', -}; -var numbers = { - FOCUS_ROOT_INDEX: -1, -}; -var DefaultFocusState; -(function (DefaultFocusState) { - DefaultFocusState[DefaultFocusState["NONE"] = 0] = "NONE"; - DefaultFocusState[DefaultFocusState["LIST_ROOT"] = 1] = "LIST_ROOT"; - DefaultFocusState[DefaultFocusState["FIRST_ITEM"] = 2] = "FIRST_ITEM"; - DefaultFocusState[DefaultFocusState["LAST_ITEM"] = 3] = "LAST_ITEM"; -})(DefaultFocusState || (DefaultFocusState = {})); - -//# sourceMappingURL=constants.js.map - -/***/ }), - -/***/ "./node_modules/_@material_menu@2.3.0@@material/menu/foundation.js": -/*!*************************************************************************!*\ - !*** ./node_modules/_@material_menu@2.3.0@@material/menu/foundation.js ***! - \*************************************************************************/ -/*! exports provided: MDCMenuFoundation, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCMenuFoundation", function() { return MDCMenuFoundation; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/_tslib@1.10.0@tslib/tslib.es6.js"); -/* harmony import */ var _material_base_foundation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material/base/foundation */ "./node_modules/_@material_base@1.0.0@@material/base/foundation.js"); -/* harmony import */ var _material_list_foundation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material/list/foundation */ "./node_modules/_@material_list@2.3.0@@material/list/foundation.js"); -/* harmony import */ var _material_menu_surface_foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material/menu-surface/foundation */ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/foundation.js"); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ "./node_modules/_@material_menu@2.3.0@@material/menu/constants.js"); -/** - * @license - * Copyright 2018 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - - - - - -var MDCMenuFoundation = /** @class */ (function (_super) { - tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"](MDCMenuFoundation, _super); - function MDCMenuFoundation(adapter) { - var _this = _super.call(this, tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"]({}, MDCMenuFoundation.defaultAdapter, adapter)) || this; - _this.closeAnimationEndTimerId_ = 0; - _this.defaultFocusState_ = _constants__WEBPACK_IMPORTED_MODULE_4__["DefaultFocusState"].LIST_ROOT; - return _this; - } - Object.defineProperty(MDCMenuFoundation, "cssClasses", { - get: function () { - return _constants__WEBPACK_IMPORTED_MODULE_4__["cssClasses"]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenuFoundation, "strings", { - get: function () { - return _constants__WEBPACK_IMPORTED_MODULE_4__["strings"]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenuFoundation, "numbers", { - get: function () { - return _constants__WEBPACK_IMPORTED_MODULE_4__["numbers"]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MDCMenuFoundation, "defaultAdapter", { - /** - * @see {@link MDCMenuAdapter} for typing information on parameters and return types. - */ - get: function () { - // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface. - return { - addClassToElementAtIndex: function () { return undefined; }, - removeClassFromElementAtIndex: function () { return undefined; }, - addAttributeToElementAtIndex: function () { return undefined; }, - removeAttributeFromElementAtIndex: function () { return undefined; }, - elementContainsClass: function () { return false; }, - closeSurface: function () { return undefined; }, - getElementIndex: function () { return -1; }, - getParentElement: function () { return null; }, - getSelectedElementIndex: function () { return -1; }, - notifySelected: function () { return undefined; }, - getMenuItemCount: function () { return 0; }, - focusItemAtIndex: function () { return undefined; }, - focusListRoot: function () { return undefined; }, - }; - // tslint:enable:object-literal-sort-keys - }, - enumerable: true, - configurable: true - }); - MDCMenuFoundation.prototype.destroy = function () { - if (this.closeAnimationEndTimerId_) { - clearTimeout(this.closeAnimationEndTimerId_); - } - this.adapter_.closeSurface(); - }; - MDCMenuFoundation.prototype.handleKeydown = function (evt) { - var key = evt.key, keyCode = evt.keyCode; - var isTab = key === 'Tab' || keyCode === 9; - if (isTab) { - this.adapter_.closeSurface(); - } - }; - MDCMenuFoundation.prototype.handleItemAction = function (listItem) { - var _this = this; - var index = this.adapter_.getElementIndex(listItem); - if (index < 0) { - return; - } - this.adapter_.notifySelected({ index: index }); - this.adapter_.closeSurface(); - // Wait for the menu to close before adding/removing classes that affect styles. - this.closeAnimationEndTimerId_ = setTimeout(function () { - var selectionGroup = _this.getSelectionGroup_(listItem); - if (selectionGroup) { - _this.handleSelectionGroup_(selectionGroup, index); - } - }, _material_menu_surface_foundation__WEBPACK_IMPORTED_MODULE_3__["MDCMenuSurfaceFoundation"].numbers.TRANSITION_CLOSE_DURATION); - }; - MDCMenuFoundation.prototype.handleMenuSurfaceOpened = function () { - switch (this.defaultFocusState_) { - case _constants__WEBPACK_IMPORTED_MODULE_4__["DefaultFocusState"].FIRST_ITEM: - this.adapter_.focusItemAtIndex(0); - break; - case _constants__WEBPACK_IMPORTED_MODULE_4__["DefaultFocusState"].LAST_ITEM: - this.adapter_.focusItemAtIndex(this.adapter_.getMenuItemCount() - 1); - break; - case _constants__WEBPACK_IMPORTED_MODULE_4__["DefaultFocusState"].NONE: - // Do nothing. - break; - default: - this.adapter_.focusListRoot(); - break; - } - }; - /** - * Sets default focus state where the menu should focus every time when menu - * is opened. Focuses the list root (`DefaultFocusState.LIST_ROOT`) element by - * default. - */ - MDCMenuFoundation.prototype.setDefaultFocusState = function (focusState) { - this.defaultFocusState_ = focusState; - }; - /** - * Handles toggling the selected classes in a selection group when a selection is made. - */ - MDCMenuFoundation.prototype.handleSelectionGroup_ = function (selectionGroup, index) { - // De-select the previous selection in this group. - var selectedIndex = this.adapter_.getSelectedElementIndex(selectionGroup); - if (selectedIndex >= 0) { - this.adapter_.removeAttributeFromElementAtIndex(selectedIndex, _constants__WEBPACK_IMPORTED_MODULE_4__["strings"].ARIA_SELECTED_ATTR); - this.adapter_.removeClassFromElementAtIndex(selectedIndex, _constants__WEBPACK_IMPORTED_MODULE_4__["cssClasses"].MENU_SELECTED_LIST_ITEM); - } - // Select the new list item in this group. - this.adapter_.addClassToElementAtIndex(index, _constants__WEBPACK_IMPORTED_MODULE_4__["cssClasses"].MENU_SELECTED_LIST_ITEM); - this.adapter_.addAttributeToElementAtIndex(index, _constants__WEBPACK_IMPORTED_MODULE_4__["strings"].ARIA_SELECTED_ATTR, 'true'); - }; - /** - * Returns the parent selection group of an element if one exists. - */ - MDCMenuFoundation.prototype.getSelectionGroup_ = function (listItem) { - var parent = this.adapter_.getParentElement(listItem); - if (!parent) { - return null; - } - 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. - while (!isGroup && parent && !this.adapter_.elementContainsClass(parent, _material_list_foundation__WEBPACK_IMPORTED_MODULE_2__["MDCListFoundation"].cssClasses.ROOT)) { - parent = this.adapter_.getParentElement(parent); - isGroup = parent ? this.adapter_.elementContainsClass(parent, _constants__WEBPACK_IMPORTED_MODULE_4__["cssClasses"].MENU_SELECTION_GROUP) : false; - } - if (isGroup) { - return parent; - } - else { - return null; - } - }; - return MDCMenuFoundation; -}(_material_base_foundation__WEBPACK_IMPORTED_MODULE_1__["MDCFoundation"])); - -// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier. -/* harmony default export */ __webpack_exports__["default"] = (MDCMenuFoundation); -//# sourceMappingURL=foundation.js.map - -/***/ }), - -/***/ "./node_modules/_@material_menu@2.3.0@@material/menu/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/_@material_menu@2.3.0@@material/menu/index.js ***! - \********************************************************************/ -/*! exports provided: Corner, MDCMenu, cssClasses, strings, numbers, DefaultFocusState, MDCMenuFoundation */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _material_menu_surface_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @material/menu-surface/constants */ "./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/constants.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Corner", function() { return _material_menu_surface_constants__WEBPACK_IMPORTED_MODULE_0__["Corner"]; }); - -/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./component */ "./node_modules/_@material_menu@2.3.0@@material/menu/component.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCMenu", function() { return _component__WEBPACK_IMPORTED_MODULE_1__["MDCMenu"]; }); - -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./node_modules/_@material_menu@2.3.0@@material/menu/constants.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "cssClasses", function() { return _constants__WEBPACK_IMPORTED_MODULE_2__["cssClasses"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "strings", function() { return _constants__WEBPACK_IMPORTED_MODULE_2__["strings"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "numbers", function() { return _constants__WEBPACK_IMPORTED_MODULE_2__["numbers"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DefaultFocusState", function() { return _constants__WEBPACK_IMPORTED_MODULE_2__["DefaultFocusState"]; }); - -/* harmony import */ var _foundation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation */ "./node_modules/_@material_menu@2.3.0@@material/menu/foundation.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MDCMenuFoundation", function() { return _foundation__WEBPACK_IMPORTED_MODULE_3__["MDCMenuFoundation"]; }); - -/** - * @license - * Copyright 2019 Google Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - // for backward compatibility - - - -//# sourceMappingURL=index.js.map - -/***/ }), - /***/ "./node_modules/_css-loader@1.0.1@css-loader/index.js!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js?!./src/menu/index.scss": /*!***********************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/_css-loader@1.0.1@css-loader!./node_modules/_resolve-url-loader@3.1.0@resolve-url-loader!./node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./src/menu/index.scss ***! @@ -2537,7 +108,7 @@ exports = module.exports = __webpack_require__(/*! ../../node_modules/_css-loade // module -exports.push([module.i, ".mdc-list {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.00937em;\n text-decoration: inherit;\n text-transform: inherit;\n /* @alternate */\n line-height: 1.5rem;\n margin: 0;\n padding: 8px 0;\n list-style-type: none;\n color: rgba(0, 0, 0, 0.87);\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\n .mdc-list:focus {\n outline: none; }\n\n.mdc-list-item__secondary-text {\n color: rgba(0, 0, 0, 0.54);\n /* @alternate */\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)); }\n\n.mdc-list-item__graphic {\n background-color: transparent; }\n\n.mdc-list-item__graphic {\n color: rgba(0, 0, 0, 0.38);\n /* @alternate */\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)); }\n\n.mdc-list-item__meta {\n color: rgba(0, 0, 0, 0.38);\n /* @alternate */\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)); }\n\n.mdc-list-group__subheader {\n color: rgba(0, 0, 0, 0.87);\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\n\n.mdc-list--dense {\n padding-top: 4px;\n padding-bottom: 4px;\n font-size: .812rem; }\n\n.mdc-list-item {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n padding: 0 16px;\n overflow: hidden; }\n .mdc-list-item:focus {\n outline: none; }\n\n.mdc-list-item--selected,\n.mdc-list-item--activated {\n color: #0072d9;\n /* @alternate */\n color: var(--mdc-theme-primary, #0072d9); }\n .mdc-list-item--selected .mdc-list-item__graphic,\n .mdc-list-item--activated .mdc-list-item__graphic {\n color: #0072d9;\n /* @alternate */\n color: var(--mdc-theme-primary, #0072d9); }\n\n.mdc-list-item--disabled {\n color: rgba(0, 0, 0, 0.38);\n /* @alternate */\n color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)); }\n\n.mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 32px;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n fill: currentColor; }\n .mdc-list-item[dir=\"rtl\"] .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 32px;\n /* @noflip */\n margin-right: 0; }\n\n.mdc-list .mdc-list-item__graphic {\n display: inline-flex; }\n\n.mdc-list-item__meta {\n /* @noflip */\n margin-left: auto;\n /* @noflip */\n margin-right: 0; }\n .mdc-list-item__meta:not(.material-icons) {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.75rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.03333em;\n text-decoration: inherit;\n text-transform: inherit; }\n .mdc-list-item[dir=\"rtl\"] .mdc-list-item__meta,\n [dir=\"rtl\"] .mdc-list-item .mdc-list-item__meta {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: auto; }\n\n.mdc-list-item__text {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden; }\n\n.mdc-list-item__text[for] {\n pointer-events: none; }\n\n.mdc-list-item__primary-text {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin-bottom: -20px;\n display: block; }\n .mdc-list-item__primary-text::before {\n display: inline-block;\n width: 0;\n height: 32px;\n content: \"\";\n vertical-align: 0; }\n .mdc-list-item__primary-text::after {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: -20px; }\n .mdc-list--dense .mdc-list-item__primary-text {\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin-bottom: -20px; }\n .mdc-list--dense .mdc-list-item__primary-text::before {\n display: inline-block;\n width: 0;\n height: 24px;\n content: \"\";\n vertical-align: 0; }\n .mdc-list--dense .mdc-list-item__primary-text::after {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: -20px; }\n\n.mdc-list-item__secondary-text {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.01786em;\n text-decoration: inherit;\n text-transform: inherit;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n display: block; }\n .mdc-list-item__secondary-text::before {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: 0; }\n .mdc-list--dense .mdc-list-item__secondary-text {\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n font-size: inherit; }\n .mdc-list--dense .mdc-list-item__secondary-text::before {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: 0; }\n\n.mdc-list--dense .mdc-list-item {\n height: 40px; }\n\n.mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 36px;\n width: 20px;\n height: 20px; }\n .mdc-list-item[dir=\"rtl\"] .mdc-list--dense .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 36px;\n /* @noflip */\n margin-right: 0; }\n\n.mdc-list--avatar-list .mdc-list-item {\n height: 56px; }\n\n.mdc-list--avatar-list .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 16px;\n width: 40px;\n height: 40px;\n border-radius: 50%; }\n .mdc-list-item[dir=\"rtl\"] .mdc-list--avatar-list .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 16px;\n /* @noflip */\n margin-right: 0; }\n\n.mdc-list--two-line .mdc-list-item__text {\n align-self: flex-start; }\n\n.mdc-list--two-line .mdc-list-item {\n height: 72px; }\n\n.mdc-list--two-line.mdc-list--dense .mdc-list-item,\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {\n height: 60px; }\n\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 20px;\n width: 36px;\n height: 36px; }\n .mdc-list-item[dir=\"rtl\"] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 20px;\n /* @noflip */\n margin-right: 0; }\n\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\n cursor: pointer; }\n\na.mdc-list-item {\n color: inherit;\n text-decoration: none; }\n\n.mdc-list-divider {\n height: 0;\n margin: 0;\n border: none;\n border-bottom-width: 1px;\n border-bottom-style: solid; }\n\n.mdc-list-divider {\n border-bottom-color: rgba(0, 0, 0, 0.12); }\n\n.mdc-list-divider--padded {\n margin: 0 16px; }\n\n.mdc-list-divider--inset {\n /* @noflip */\n margin-left: 72px;\n /* @noflip */\n margin-right: 0;\n width: calc(100% - 72px); }\n .mdc-list-group[dir=\"rtl\"] .mdc-list-divider--inset,\n [dir=\"rtl\"] .mdc-list-group .mdc-list-divider--inset {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 72px; }\n\n.mdc-list-divider--inset.mdc-list-divider--padded {\n width: calc(100% - 72px - 16px); }\n\n.mdc-list-group .mdc-list {\n padding: 0; }\n\n.mdc-list-group__subheader {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.00937em;\n text-decoration: inherit;\n text-transform: inherit;\n margin: 0.75rem 16px; }\n\n@keyframes mdc-ripple-fg-radius-in {\n from {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }\n to {\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }\n\n@keyframes mdc-ripple-fg-opacity-in {\n from {\n animation-timing-function: linear;\n opacity: 0; }\n to {\n opacity: var(--mdc-ripple-fg-opacity, 0); } }\n\n@keyframes mdc-ripple-fg-opacity-out {\n from {\n animation-timing-function: linear;\n opacity: var(--mdc-ripple-fg-opacity, 0); }\n to {\n opacity: 0; } }\n\n.mdc-ripple-surface--test-edge-var-bug {\n --mdc-ripple-surface-test-edge-var: 1px solid #000;\n visibility: hidden; }\n .mdc-ripple-surface--test-edge-var-bug::before {\n border: var(--mdc-ripple-surface-test-edge-var); }\n\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n transform: scale(0);\n transform-origin: center center; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {\n animation: mdc-ripple-fg-opacity-out 150ms;\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\n background-color: #000000; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {\n opacity: 0.04; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {\n opacity: 0.12; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\n background-color: #0072d9; }\n @supports not (-ms-ime-align: auto) {\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #0072d9); } }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {\n opacity: 0.16; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {\n opacity: 0.08; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\n background-color: #0072d9; }\n @supports not (-ms-ime-align: auto) {\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #0072d9); } }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {\n opacity: 0.12; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.2; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.2; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.2; }\n\n:not(.mdc-list--non-interactive) > .mdc-list-item--disabled {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::before {\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n transform: scale(0);\n transform-origin: center center; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after {\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after {\n animation: mdc-ripple-fg-opacity-out 150ms;\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\n background-color: #000000; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n\n.mdc-menu-surface {\n display: none;\n position: absolute;\n box-sizing: border-box;\n max-width: calc(100vw - 32px);\n max-height: calc(100vh - 32px);\n margin: 0;\n padding: 0;\n transform: scale(1);\n transform-origin: top left;\n opacity: 0;\n overflow: auto;\n will-change: transform, opacity;\n z-index: 8;\n transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n background-color: #ffffff;\n /* @alternate */\n background-color: var(--mdc-theme-surface, #ffffff);\n color: #000000;\n /* @alternate */\n color: var(--mdc-theme-on-surface, #000000);\n border-radius: 4px;\n /* @noflip */\n transform-origin-left: top left;\n /* @noflip */\n transform-origin-right: top right; }\n .mdc-menu-surface:focus {\n outline: none; }\n .mdc-menu-surface--open {\n display: inline-block;\n transform: scale(1);\n opacity: 1; }\n .mdc-menu-surface--animating-open {\n display: inline-block;\n transform: scale(0.8);\n opacity: 0; }\n .mdc-menu-surface--animating-closed {\n display: inline-block;\n opacity: 0;\n transition: opacity 0.075s linear; }\n [dir=\"rtl\"] .mdc-menu-surface, .mdc-menu-surface[dir=\"rtl\"] {\n /* @noflip */\n transform-origin-left: top right;\n /* @noflip */\n transform-origin-right: top left; }\n\n.mdc-menu-surface--anchor {\n position: relative;\n overflow: visible; }\n\n.mdc-menu-surface--fixed {\n position: fixed; }\n\n.mdc-menu {\n min-width: 112px; }\n .mdc-menu .mdc-list-item__meta {\n color: rgba(0, 0, 0, 0.87); }\n .mdc-menu .mdc-list-item__graphic {\n color: rgba(0, 0, 0, 0.87); }\n .mdc-menu .mdc-list {\n color: rgba(0, 0, 0, 0.87); }\n .mdc-menu .mdc-list-divider {\n margin: 8px 0; }\n .mdc-menu .mdc-list-item {\n user-select: none; }\n .mdc-menu .mdc-list-item--disabled {\n cursor: auto; }\n .mdc-menu a.mdc-list-item .mdc-list-item__text,\n .mdc-menu a.mdc-list-item .mdc-list-item__graphic {\n pointer-events: none; }\n\n.mdc-menu__selection-group {\n padding: 0;\n fill: currentColor; }\n .mdc-menu__selection-group .mdc-list-item {\n /* @noflip */\n padding-left: 56px;\n /* @noflip */\n padding-right: 16px; }\n [dir=\"rtl\"] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 56px; }\n .mdc-menu__selection-group .mdc-menu__selection-group-icon {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: initial;\n display: none;\n position: absolute; }\n [dir=\"rtl\"] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 16px; }\n\n.mdc-menu-item--selected .mdc-menu__selection-group-icon {\n display: inline; }\n\n:host {\n display: inline-block; }\n", ""]); +exports.push([module.i, ".mdc-list {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.00937em;\n text-decoration: inherit;\n text-transform: inherit;\n /* @alternate */\n line-height: 1.5rem;\n margin: 0;\n padding: 8px 0;\n list-style-type: none;\n color: rgba(0, 0, 0, 0.87);\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\n .mdc-list:focus {\n outline: none; }\n\n.mdc-list-item__secondary-text {\n color: rgba(0, 0, 0, 0.54);\n /* @alternate */\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)); }\n\n.mdc-list-item__graphic {\n background-color: transparent; }\n\n.mdc-list-item__graphic {\n color: rgba(0, 0, 0, 0.38);\n /* @alternate */\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)); }\n\n.mdc-list-item__meta {\n color: rgba(0, 0, 0, 0.38);\n /* @alternate */\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)); }\n\n.mdc-list-group__subheader {\n color: rgba(0, 0, 0, 0.87);\n /* @alternate */\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\n\n.mdc-list--dense {\n padding-top: 4px;\n padding-bottom: 4px;\n font-size: .812rem; }\n\n.mdc-list-item {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n height: 48px;\n padding: 0 16px;\n overflow: hidden; }\n .mdc-list-item:focus {\n outline: none; }\n\n.mdc-list-item--selected,\n.mdc-list-item--activated {\n color: #0072d9;\n /* @alternate */\n color: var(--mdc-theme-primary, #0072d9); }\n .mdc-list-item--selected .mdc-list-item__graphic,\n .mdc-list-item--activated .mdc-list-item__graphic {\n color: #0072d9;\n /* @alternate */\n color: var(--mdc-theme-primary, #0072d9); }\n\n.mdc-list-item--disabled {\n color: rgba(0, 0, 0, 0.38);\n /* @alternate */\n color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)); }\n\n.mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 32px;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n fill: currentColor; }\n .mdc-list-item[dir=\"rtl\"] .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 32px;\n /* @noflip */\n margin-right: 0; }\n\n.mdc-list .mdc-list-item__graphic {\n display: inline-flex; }\n\n.mdc-list-item__meta {\n /* @noflip */\n margin-left: auto;\n /* @noflip */\n margin-right: 0; }\n .mdc-list-item__meta:not(.material-icons) {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.75rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.03333em;\n text-decoration: inherit;\n text-transform: inherit; }\n .mdc-list-item[dir=\"rtl\"] .mdc-list-item__meta,\n [dir=\"rtl\"] .mdc-list-item .mdc-list-item__meta {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: auto; }\n\n.mdc-list-item__text {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden; }\n\n.mdc-list-item__text[for] {\n pointer-events: none; }\n\n.mdc-list-item__primary-text {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin-bottom: -20px;\n display: block; }\n .mdc-list-item__primary-text::before {\n display: inline-block;\n width: 0;\n height: 32px;\n content: \"\";\n vertical-align: 0; }\n .mdc-list-item__primary-text::after {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: -20px; }\n .mdc-list--dense .mdc-list-item__primary-text {\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n margin-bottom: -20px; }\n .mdc-list--dense .mdc-list-item__primary-text::before {\n display: inline-block;\n width: 0;\n height: 24px;\n content: \"\";\n vertical-align: 0; }\n .mdc-list--dense .mdc-list-item__primary-text::after {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: -20px; }\n\n.mdc-list-item__secondary-text {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n letter-spacing: 0.01786em;\n text-decoration: inherit;\n text-transform: inherit;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n display: block; }\n .mdc-list-item__secondary-text::before {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: 0; }\n .mdc-list--dense .mdc-list-item__secondary-text {\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n font-size: inherit; }\n .mdc-list--dense .mdc-list-item__secondary-text::before {\n display: inline-block;\n width: 0;\n height: 20px;\n content: \"\";\n vertical-align: 0; }\n\n.mdc-list--dense .mdc-list-item {\n height: 40px; }\n\n.mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 36px;\n width: 20px;\n height: 20px; }\n .mdc-list-item[dir=\"rtl\"] .mdc-list--dense .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 36px;\n /* @noflip */\n margin-right: 0; }\n\n.mdc-list--avatar-list .mdc-list-item {\n height: 56px; }\n\n.mdc-list--avatar-list .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 16px;\n width: 40px;\n height: 40px;\n border-radius: 50%; }\n .mdc-list-item[dir=\"rtl\"] .mdc-list--avatar-list .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 16px;\n /* @noflip */\n margin-right: 0; }\n\n.mdc-list--two-line .mdc-list-item__text {\n align-self: flex-start; }\n\n.mdc-list--two-line .mdc-list-item {\n height: 72px; }\n\n.mdc-list--two-line.mdc-list--dense .mdc-list-item,\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {\n height: 60px; }\n\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 20px;\n width: 36px;\n height: 36px; }\n .mdc-list-item[dir=\"rtl\"] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,\n [dir=\"rtl\"] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\n /* @noflip */\n margin-left: 20px;\n /* @noflip */\n margin-right: 0; }\n\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\n cursor: pointer; }\n\na.mdc-list-item {\n color: inherit;\n text-decoration: none; }\n\n.mdc-list-divider {\n height: 0;\n margin: 0;\n border: none;\n border-bottom-width: 1px;\n border-bottom-style: solid; }\n\n.mdc-list-divider {\n border-bottom-color: rgba(0, 0, 0, 0.12); }\n\n.mdc-list-divider--padded {\n margin: 0 16px; }\n\n.mdc-list-divider--inset {\n /* @noflip */\n margin-left: 72px;\n /* @noflip */\n margin-right: 0;\n width: calc(100% - 72px); }\n .mdc-list-group[dir=\"rtl\"] .mdc-list-divider--inset,\n [dir=\"rtl\"] .mdc-list-group .mdc-list-divider--inset {\n /* @noflip */\n margin-left: 0;\n /* @noflip */\n margin-right: 72px; }\n\n.mdc-list-divider--inset.mdc-list-divider--padded {\n width: calc(100% - 72px - 16px); }\n\n.mdc-list-group .mdc-list {\n padding: 0; }\n\n.mdc-list-group__subheader {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 1rem;\n line-height: 1.75rem;\n font-weight: 400;\n letter-spacing: 0.00937em;\n text-decoration: inherit;\n text-transform: inherit;\n margin: 0.75rem 16px; }\n\n@keyframes mdc-ripple-fg-radius-in {\n from {\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }\n to {\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }\n\n@keyframes mdc-ripple-fg-opacity-in {\n from {\n animation-timing-function: linear;\n opacity: 0; }\n to {\n opacity: var(--mdc-ripple-fg-opacity, 0); } }\n\n@keyframes mdc-ripple-fg-opacity-out {\n from {\n animation-timing-function: linear;\n opacity: var(--mdc-ripple-fg-opacity, 0); }\n to {\n opacity: 0; } }\n\n.mdc-ripple-surface--test-edge-var-bug {\n --mdc-ripple-surface-test-edge-var: 1px solid #000;\n visibility: hidden; }\n .mdc-ripple-surface--test-edge-var-bug::before {\n border: var(--mdc-ripple-surface-test-edge-var); }\n\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n transform: scale(0);\n transform-origin: center center; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {\n animation: mdc-ripple-fg-opacity-out 150ms;\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\n background-color: #000000; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {\n opacity: 0.04; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.12; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.12; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {\n opacity: 0.12; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\n background-color: #0072d9; }\n @supports not (-ms-ime-align: auto) {\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #0072d9); } }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {\n opacity: 0.16; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.24; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.24; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.24; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {\n opacity: 0.08; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\n background-color: #0072d9; }\n @supports not (-ms-ime-align: auto) {\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\n /* @alternate */\n background-color: var(--mdc-theme-primary, #0072d9); } }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {\n opacity: 0.12; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.2; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {\n transition: opacity 150ms linear; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {\n transition-duration: 75ms;\n opacity: 0.2; }\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {\n --mdc-ripple-fg-opacity: 0.2; }\n\n:not(.mdc-list--non-interactive) > .mdc-list-item--disabled {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\"; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before {\n transition: opacity 15ms linear, background-color 15ms linear;\n z-index: 1; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::before {\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\n top: 0;\n /* @noflip */\n left: 0;\n transform: scale(0);\n transform-origin: center center; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0); }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after {\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after {\n animation: mdc-ripple-fg-opacity-out 150ms;\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\n top: calc(50% - 100%);\n /* @noflip */\n left: calc(50% - 100%);\n width: 200%;\n height: 200%; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\n width: var(--mdc-ripple-fg-size, 100%);\n height: var(--mdc-ripple-fg-size, 100%); }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\n background-color: #000000; }\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before {\n transition-duration: 75ms;\n opacity: 0.12; }\n\n.mdc-menu-surface {\n display: none;\n position: absolute;\n box-sizing: border-box;\n max-width: calc(100vw - 32px);\n max-height: calc(100vh - 32px);\n margin: 0;\n padding: 0;\n transform: scale(1);\n transform-origin: top left;\n opacity: 0;\n overflow: auto;\n will-change: transform, opacity;\n z-index: 8;\n transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n background-color: #ffffff;\n /* @alternate */\n background-color: var(--mdc-theme-surface, #ffffff);\n color: #000000;\n /* @alternate */\n color: var(--mdc-theme-on-surface, #000000);\n border-radius: 4px;\n /* @noflip */\n transform-origin-left: top left;\n /* @noflip */\n transform-origin-right: top right; }\n .mdc-menu-surface:focus {\n outline: none; }\n .mdc-menu-surface--open {\n display: inline-block;\n transform: scale(1);\n opacity: 1; }\n .mdc-menu-surface--animating-open {\n display: inline-block;\n transform: scale(0.8);\n opacity: 0; }\n .mdc-menu-surface--animating-closed {\n display: inline-block;\n opacity: 0;\n transition: opacity 0.075s linear; }\n [dir=\"rtl\"] .mdc-menu-surface, .mdc-menu-surface[dir=\"rtl\"] {\n /* @noflip */\n transform-origin-left: top right;\n /* @noflip */\n transform-origin-right: top left; }\n\n.mdc-menu-surface--anchor {\n position: relative;\n overflow: visible; }\n\n.mdc-menu-surface--fixed {\n position: fixed; }\n\n.mdc-menu {\n min-width: 112px; }\n .mdc-menu .mdc-list-item__meta {\n color: rgba(0, 0, 0, 0.87); }\n .mdc-menu .mdc-list-item__graphic {\n color: rgba(0, 0, 0, 0.87); }\n .mdc-menu .mdc-list {\n color: rgba(0, 0, 0, 0.87); }\n .mdc-menu .mdc-list-divider {\n margin: 8px 0; }\n .mdc-menu .mdc-list-item {\n user-select: none; }\n .mdc-menu .mdc-list-item--disabled {\n cursor: auto; }\n .mdc-menu a.mdc-list-item .mdc-list-item__text,\n .mdc-menu a.mdc-list-item .mdc-list-item__graphic {\n pointer-events: none; }\n\n.mdc-menu__selection-group {\n padding: 0;\n fill: currentColor; }\n .mdc-menu__selection-group .mdc-list-item {\n /* @noflip */\n padding-left: 56px;\n /* @noflip */\n padding-right: 16px; }\n [dir=\"rtl\"] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir=\"rtl\"] {\n /* @noflip */\n padding-left: 16px;\n /* @noflip */\n padding-right: 56px; }\n .mdc-menu__selection-group .mdc-menu__selection-group-icon {\n /* @noflip */\n left: 16px;\n /* @noflip */\n right: initial;\n display: none;\n position: absolute; }\n [dir=\"rtl\"] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=\"rtl\"] {\n /* @noflip */\n left: initial;\n /* @noflip */\n right: 16px; }\n\n.mdc-menu-item--selected .mdc-menu__selection-group-icon {\n display: inline; }\n\n:host {\n display: inline-block; }\n\n.mdc-menu-surface {\n position: unset;\n opacity: 1;\n display: block; }\n", ""]); // exports @@ -2629,235 +200,6 @@ function toComment(sourceMap) { } -/***/ }), - -/***/ "./node_modules/_tslib@1.10.0@tslib/tslib.es6.js": -/*!*******************************************************!*\ - !*** ./node_modules/_tslib@1.10.0@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"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__extends", function() { return __extends; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__assign", function() { return __assign; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__rest", function() { return __rest; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__decorate", function() { return __decorate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__param", function() { return __param; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spread", function() { return __spread; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spreadArrays", function() { return __spreadArrays; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__await", function() { return __await; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncGenerator", function() { return __asyncGenerator; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncDelegator", function() { return __asyncDelegator; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncValues", function() { return __asyncValues; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; }); -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ -/* global Reflect, Promise */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -function __extends(d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - 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; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -function __awaiter(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} - -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - 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; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -function __exportStar(m, exports) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} - -function __values(o) { - var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; - if (m) return m.call(o); - return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; -} - -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; -}; - -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; - 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); }); }; } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - 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; } -} - -function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - 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); - 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); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -function __importStar(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result.default = mod; - return result; -} - -function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - - /***/ }), /***/ "./src/menu/index.scss": @@ -2921,51 +263,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, Object.defineProperty(exports, "__esModule", { value: true }); var omi_1 = __webpack_require__(/*! omi */ "omi"); var css = __webpack_require__(/*! ./index.scss */ "./src/menu/index.scss"); -var menu_1 = __webpack_require__(/*! @material/menu */ "./node_modules/_@material_menu@2.3.0@@material/menu/index.js"); //@ts-ignore __webpack_require__(/*! ../theme.ts */ "./src/theme.ts"); var Menu = /** @class */ (function (_super) { __extends(Menu, _super); function Menu() { var _this = _super !== null && _super.apply(this, arguments) || this; - _this.menu = null; + _this.clickHandler = function (item) { + if (!item.disabled) { + _this.fire('selected', item); + } + }; return _this; } - Menu.prototype.installed = function () { - var _this = this; - var menu = new menu_1.MDCMenu(this.shadowRoot.querySelector('.mdc-menu')); - menu.open = this.props.show; - menu.listen('MDCMenu:selected', function (evt) { - _this.fire('selected', evt.detail); - }); - this.menu = menu; - }; - Menu.prototype.toggle = function () { - console.log(11); - this.menu.open = !this.menu.open; - }; - Menu.prototype.open = function () { - this.menu.open = true; - }; - Menu.prototype.close = function () { - this.menu.open = false; - }; - Menu.prototype.install = function () { - }; - Menu.prototype.receiveProps = function () { - this.menu.open = this.props.show; - }; Menu.prototype.render = function (props) { - if (props.anchor) { - return (omi_1.h("div", { class: 'mdc-menu-surface--anchor' }, - omi_1.h("div", __assign({}, omi_1.extractClass(props, 'mdc-menu mdc-menu-surface'), { tabIndex: -1 }), - omi_1.h("ul", { class: "mdc-list", role: "menu", "aria-hidden": "true", "aria-orientation": "vertical" }, props.list.map(function (item) { return omi_1.h("li", { class: "mdc-list-item", role: "menuitem" }, - omi_1.h("span", { class: omi_1.classNames('mdc-list-item__text', { - 'mdc-list-item--disabled': item.disabled - }) }, item.text)); }))))); - } + var _this = this; return (omi_1.h("div", __assign({}, omi_1.extractClass(props, 'mdc-menu mdc-menu-surface'), { tabIndex: -1 }), - omi_1.h("ul", { class: "mdc-list", role: "menu", "aria-hidden": "true", "aria-orientation": "vertical" }, props.list.map(function (item) { return omi_1.h("li", { class: "mdc-list-item", role: "menuitem" }, + omi_1.h("ul", { class: "mdc-list", role: "menu", "aria-hidden": "true", "aria-orientation": "vertical" }, props.list.map(function (item) { return omi_1.h("li", { onClick: function (_) { return _this.clickHandler(item); }, class: "mdc-list-item", role: "menuitem" }, omi_1.h("span", { class: omi_1.classNames('mdc-list-item__text', { 'mdc-list-item--disabled': item.disabled }) }, item.text)); })))); @@ -2973,9 +287,7 @@ var Menu = /** @class */ (function (_super) { Menu.css = css; Menu.defaultProps = {}; Menu.propTypes = { - list: Object, - show: Boolean, - anchor: Boolean + list: Object }; Menu = __decorate([ omi_1.tag('m-menu') diff --git a/packages/omim/src/menu/index.js.map b/packages/omim/src/menu/index.js.map index 2f00df586..7f0aeb81c 100644 --- a/packages/omim/src/menu/index.js.map +++ b/packages/omim/src/menu/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://MMenu/webpack/universalModuleDefinition","webpack://MMenu/webpack/bootstrap","webpack://MMenu/./node_modules/_@material_base@1.0.0@@material/base/component.js","webpack://MMenu/./node_modules/_@material_base@1.0.0@@material/base/foundation.js","webpack://MMenu/./node_modules/_@material_dom@1.1.0@@material/dom/ponyfill.js","webpack://MMenu/./node_modules/_@material_list@2.3.0@@material/list/component.js","webpack://MMenu/./node_modules/_@material_list@2.3.0@@material/list/constants.js","webpack://MMenu/./node_modules/_@material_list@2.3.0@@material/list/foundation.js","webpack://MMenu/./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/component.js","webpack://MMenu/./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/constants.js","webpack://MMenu/./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/foundation.js","webpack://MMenu/./node_modules/_@material_menu-surface@2.3.0@@material/menu-surface/util.js","webpack://MMenu/./node_modules/_@material_menu@2.3.0@@material/menu/component.js","webpack://MMenu/./node_modules/_@material_menu@2.3.0@@material/menu/constants.js","webpack://MMenu/./node_modules/_@material_menu@2.3.0@@material/menu/foundation.js","webpack://MMenu/./node_modules/_@material_menu@2.3.0@@material/menu/index.js","webpack://MMenu/./src/menu/index.scss","webpack://MMenu/./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js","webpack://MMenu/./node_modules/_tslib@1.10.0@tslib/tslib.es6.js","webpack://MMenu/./src/menu/index.scss?1cb6","webpack://MMenu/./src/menu/index.tsx","webpack://MMenu/./src/theme.ts","webpack://MMenu/external {\"commonjs\":\"omi\",\"commonjs2\":\"omi\",\"amd\":\"omi\",\"root\":\"Omi\"}"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACiC;AACY;AAC7C;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,oCAAoC,8CAAgB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF;AAClF;AACA,0CAA0C,yDAAa,GAAG;AAC1D;AACA,0EAA0E;AAC1E;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,sBAAsB;AAC5D;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACuB;AACxB;AACe,2EAAY,EAAC;AAC5B,qC;;;;;;;;;;;;ACrGA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oDAAoD;AACpD;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACwB;AACzB;AACe,4EAAa,EAAC;AAC7B,sC;;;;;;;;;;;;AC3EA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AC7CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACiC;AACuB;AACE;AACR;AACD;AACjD;AACA,IAAI,+CAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mEAAmE,qDAAU;AAC7E,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,kDAAO;AACvD,sCAAsC,kDAAO;AAC7C;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,kDAAkD,kDAAO;AACzD,oCAAoC,0CAA0C,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,kDAAO;AACnE,4EAA4E,qDAAU,4CAA4C,qDAAU;AAC5I,6DAA6D,kDAAO;AACpE;AACA,+DAA+D,kDAAO;AACtE;AACA,mEAAmE,6CAA6C,EAAE;AAClH;AACA;AACA,0DAA0D,qDAAU;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,iEAAiE,qDAAqD,EAAE;AACxH,iDAAiD,2DAA2D,EAAE;AAC9G,2CAA2C,kCAAkC,EAAE;AAC/E;AACA;AACA,gDAAgD,kDAAO;AACvD,aAAa;AACb;AACA;AACA,gDAAgD,kDAAO;AACvD,aAAa;AACb;AACA;AACA,sDAAsD,kDAAO;AAC7D;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,wCAAwC,+CAA+C,EAAE;AACzF;AACA,2BAA2B,kDAAO,gBAAgB,eAAe;AACjE,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,sDAAsD,kDAAO;AAC7D;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,8EAA8E,kDAAO;AACrF,wDAAwD,mDAAmD,EAAE;AAC7G,aAAa;AACb;AACA,mBAAmB,6DAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sEAAO,oBAAoB,qDAAU,2BAA2B,qDAAU;AACtG;AACA,6BAA6B,sEAAO,sBAAsB,qDAAU;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,qDAAU;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sEAAO,SAAS,kDAAO;AACrD;AACA;AACA;AACA,CAAC,CAAC,qEAAY;AACK;AACnB,qC;;;;;;;;;;;;ACrPA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACxC,qC;;;;;;;;;;;;ACjDA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACiC;AACyB;AACC;AAC3D;AACA;AACA;AACA;AACA;AACA,IAAI,+CAAiB;AACrB;AACA,sCAAsC,8CAAgB,GAAG;AACzD;AACA;AACA;AACA,+BAA+B,kDAAO;AACtC,kCAAkC,kDAAO;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kDAAO;AAC1B,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,qDAAU;AAC7B,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,kDAAO;AAC1B,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,sDAAsD,kBAAkB,EAAE;AAC1E,+CAA+C,kBAAkB,EAAE;AACnE,0DAA0D,aAAa,EAAE;AACzE,qDAAqD,UAAU,EAAE;AACjE,+CAA+C,UAAU,EAAE;AAC3D,iDAAiD,cAAc,EAAE;AACjE,8CAA8C,cAAc,EAAE;AAC9D,uDAAuD,cAAc,EAAE;AACvE,gDAAgD,cAAc,EAAE;AAChE,4CAA4C,cAAc,EAAE;AAC5D,2CAA2C,kBAAkB,EAAE;AAC/D,yDAAyD,kBAAkB,EAAE;AAC7E,0DAA0D,kBAAkB,EAAE;AAC9E,+DAA+D,kBAAkB,EAAE;AACnF,6DAA6D,kBAAkB,EAAE;AACjF;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kDAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,qDAAU;AAC1C;AACA,gCAAgC,qDAAU;AAC1C;AACA,oCAAoC,kDAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,kDAAO;AAC3C;AACA,iEAAiE,kDAAO;AACxE;AACA;AACA,4CAA4C,kDAAO,gBAAgB,kDAAO;AAC1E,oCAAoC,kDAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,kDAAO;AAC3C,2EAA2E,kDAAO;AAClF;AACA,yDAAyD,kDAAO;AAChE;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;AACA;AACA;AACA;AACA;AACA,yDAAyD,kDAAO;AAChE;AACA;AACA;AACA;AACA,uCAAuC,kDAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF,kDAAO;AAC1F;AACA;AACA;AACA,4FAA4F,yCAAyC,EAAE;AACvI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,iCAAiC,EAAE;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,uBAAuB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,kDAAO;AAChE;AACA,sDAAsD,kDAAO;AAC7D;AACA;AACA;AACA;AACA,mEAAmE,oBAAoB,EAAE;AACzF;AACA;AACA;AACA;AACA,CAAC,CAAC,uEAAa;AACc;AAC7B;AACe,gFAAiB,EAAC;AACjC,sC;;;;;;;;;;;;AC7bA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACiC;AACuB;AACN;AACM;AACzB;AAC/B;AACA,IAAI,+CAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,qDAAU;AAC/E,0CAA0C,qDAAU;AACpD;AACA;AACA,8CAA8C,6CAA6C;AAC3F,gDAAgD,+CAA+C;AAC/F,uDAAuD,wEAAwE;AAC/H,yDAAyD,2EAA2E;AACpI;AACA,oBAAoB,kDAAO;AAC3B,oBAAoB,kDAAO;AAC3B;AACA;AACA;AACA,sBAAsB,kDAAO;AAC7B,sBAAsB,kDAAO;AAC7B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,oEAAoE,kDAAO;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,qDAAU;AAC/C;AACA;AACA,wCAAwC,qDAAU;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,6CAA6C,EAAE;AAC3F,+CAA+C,gDAAgD,EAAE;AACjG,4CAA4C,kDAAkD,EAAE;AAChG,oCAAoC,8BAA8B,EAAE;AACpE,sCAAsC,mBAAmB,oEAAwB,yBAAyB,EAAE,EAAE;AAC9G,qCAAqC,mBAAmB,oEAAwB,yBAAyB,EAAE,EAAE;AAC7G,iDAAiD,iCAAiC,EAAE;AACpF,gCAAgC,8EAA8E,EAAE;AAChH;AACA,mCAAmC,8DAA6B;AAChE;AACA,aAAa;AACb,oCAAoC,+CAA+C,EAAE;AACrF;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,wBAAwB;AACxB,aAAa;AACb,8CAA8C,iFAAiF,EAAE;AACjI;AACA,wBAAwB;AACxB,aAAa;AACb;AACA,wBAAwB;AACxB,aAAa;AACb;AACA,wBAAwB;AACxB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,mBAAmB,oEAAwB;AAC3C;AACA;AACA,CAAC,CAAC,qEAAY;AACY;AAC1B,qC;;;;;;;;;;;;AC/LA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACkC;AAC3D,qC;;;;;;;;;;;;AC/EA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACiC;AACyB;AACoB;AAC9E;AACA,IAAI,+CAAiB;AACrB;AACA,sCAAsC,8CAAgB,GAAG;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iDAAM;AACpC,+BAA+B;AAC/B,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,mBAAmB,qDAAU;AAC7B,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,kDAAO;AAC1B,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,kDAAO;AAC1B,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,iDAAM;AACzB,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;AACA;AACA,uCAAuC,kBAAkB,EAAE;AAC3D,0CAA0C,kBAAkB,EAAE;AAC9D,uCAAuC,cAAc,EAAE;AACvD,wCAAwC,cAAc,EAAE;AACxD,mDAAmD,cAAc,EAAE;AACnE,wCAAwC,cAAc,EAAE;AACxD,oDAAoD,cAAc,EAAE;AACpE,mDAAmD,cAAc,EAAE;AACnE,oCAAoC,cAAc,EAAE;AACpD,iDAAiD,UAAU,sBAAsB,EAAE,EAAE;AACrF,kDAAkD,aAAa,EAAE;AACjE,kDAAkD,UAAU,sBAAsB,EAAE,EAAE;AACtF,gDAAgD,UAAU,sBAAsB,EAAE,EAAE;AACpF,8CAA8C,UAAU,aAAa,EAAE,EAAE;AACzE,0CAA0C,kBAAkB,EAAE;AAC9D,2CAA2C,kBAAkB,EAAE;AAC/D,iDAAiD,kBAAkB,EAAE;AACrE,wCAAwC,kBAAkB,EAAE;AAC5D,2CAA2C,kBAAkB,EAAE;AAC/D,gDAAgD,kBAAkB,EAAE;AACpE,+CAA+C,kBAAkB,EAAE;AACnE,0CAA0C,kBAAkB,EAAE;AAC9D,yCAAyC,kBAAkB,EAAE;AAC7D;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,kDAAO;AAC1B;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,kDAAO;AAC1B;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,oDAAS;AAC9D,uDAAuD,oDAAS;AAChE;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,mDAAmD,kDAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iDAAM;AAC3B;AACA,+DAA+D,oDAAS;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,oDAAS;AACnD;AACA;AACA,yDAAyD,oDAAS;AAClE,sEAAsE,oDAAS;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,oDAAS;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,oDAAS;AAC5D,gEAAgE,oDAAS;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,oDAAS;AAC3D,sEAAsE,oDAAS;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,oDAAS;AAC5D,oEAAoE,oDAAS;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,8CAAgB,oCAAoC,iBAAiB;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ,gBAAgB;AAC/C;AACA;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,uEAAa;AACqB;AACpC;AACe,uFAAwB,EAAC;AACxC,sC;;;;;;;;;;;;AC5cA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,sBAAsB;AACxD;AACA;AACA;AACA;AACA;AACA;AACoC;AACpC,gC;;;;;;;;;;;;ACnCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACiC;AACuB;AACL;AACW;AACI;AACW;AAC3B;AACD;AACjD;AACA,IAAI,+CAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,qCAAqC,YAAY,+EAAc,KAAK,GAAG;AACnH,qCAAqC,8BAA8B,YAAY,gEAAO,KAAK,GAAG;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,kDAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,6CAA6C;AAC3F,iDAAiD,0EAA0E;AAC3H,qDAAqD,oDAAoD;AACzG,iCAAiC,0FAAwB;AACzD;AACA,oBAAoB,2EAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0FAAwB;AAC3D;AACA,sBAAsB,2EAAiB;AACvC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb,iEAAiE,8CAA8C,EAAE;AACjH,uCAAuC,2BAA2B,EAAE;AACpE,iDAAiD,qCAAqC,EAAE;AACxF,kDAAkD,8BAA8B,EAAE;AAClF;AACA,0EAA0E,qDAAU;AACpF;AACA,aAAa;AACb,gDAAgD,mBAAmB,kDAAO;AAC1E;AACA;AACA,aAAa,EAAE,EAAE;AACjB,2CAA2C,2BAA2B,EAAE;AACxE,gDAAgD,mCAAmC,EAAE;AACrF,wCAAwC,kCAAkC,kDAAO,wBAAwB,EAAE;AAC3G;AACA;AACA,mBAAmB,6DAAiB;AACpC;AACA;AACA,CAAC,CAAC,qEAAY;AACK;AACnB,qC;;;;;;;;;;;;AC7MA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AACY;AAC3D,qC;;;;;;;;;;;;AC5CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACiC;AACyB;AACI;AACe;AACC;AAC9E;AACA,IAAI,+CAAiB;AACrB;AACA,sCAAsC,8CAAgB,GAAG;AACzD;AACA,mCAAmC,4DAAiB;AACpD;AACA;AACA;AACA;AACA,mBAAmB,qDAAU;AAC7B,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,kDAAO;AAC1B,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,kDAAO;AAC1B,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA,uDAAuD,kBAAkB,EAAE;AAC3E,4DAA4D,kBAAkB,EAAE;AAChF,2DAA2D,kBAAkB,EAAE;AAC/E,gEAAgE,kBAAkB,EAAE;AACpF,mDAAmD,cAAc,EAAE;AACnE,2CAA2C,kBAAkB,EAAE;AAC/D,8CAA8C,WAAW,EAAE;AAC3D,+CAA+C,aAAa,EAAE;AAC9D,sDAAsD,WAAW,EAAE;AACnE,6CAA6C,kBAAkB,EAAE;AACjE,+CAA+C,UAAU,EAAE;AAC3D,+CAA+C,kBAAkB,EAAE;AACnE,4CAA4C,kBAAkB,EAAE;AAChE;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,eAAe;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE,0FAAwB;AACnC;AACA;AACA;AACA,iBAAiB,4DAAiB;AAClC;AACA;AACA,iBAAiB,4DAAiB;AAClC;AACA;AACA,iBAAiB,4DAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,kDAAO;AAClF,uEAAuE,qDAAU;AACjF;AACA;AACA,sDAAsD,qDAAU;AAChE,0DAA0D,kDAAO;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,qDAAU;AAC3E;AACA,iFAAiF,2EAAiB;AAClG;AACA,0EAA0E,qDAAU;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,uEAAa;AACc;AAC7B;AACe,gFAAiB,EAAC;AACjC,sC;;;;;;;;;;;;AC/KA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC0D;AAC9B;AACA;AACC;AAC7B,iC;;;;;;;;;;;AC1BA,2BAA2B,mBAAO,CAAC,oIAAiE;AACpG;;;AAGA;AACA,cAAc,QAAS,cAAc,oCAAoC,uCAAuC,wCAAwC,oBAAoB,yBAAyB,qBAAqB,8BAA8B,6BAA6B,4BAA4B,4CAA4C,cAAc,mBAAmB,0BAA0B,+BAA+B,gGAAgG,EAAE,qBAAqB,oBAAoB,EAAE,oCAAoC,+BAA+B,kGAAkG,EAAE,6BAA6B,kCAAkC,EAAE,6BAA6B,+BAA+B,6FAA6F,EAAE,0BAA0B,+BAA+B,6FAA6F,EAAE,gCAAgC,+BAA+B,gGAAgG,EAAE,sBAAsB,qBAAqB,wBAAwB,uBAAuB,EAAE,oBAAoB,kBAAkB,uBAAuB,wBAAwB,gCAAgC,iBAAiB,oBAAoB,qBAAqB,EAAE,0BAA0B,oBAAoB,EAAE,0DAA0D,mBAAmB,iEAAiE,EAAE,4GAA4G,qBAAqB,qEAAqE,EAAE,8BAA8B,+BAA+B,iGAAiG,EAAE,6BAA6B,oCAAoC,wCAAwC,gBAAgB,iBAAiB,mBAAmB,wBAAwB,4BAA4B,uBAAuB,EAAE,kHAAkH,2CAA2C,yCAAyC,EAAE,uCAAuC,yBAAyB,EAAE,0BAA0B,uCAAuC,qCAAqC,EAAE,+CAA+C,sCAAsC,yCAAyC,0CAA0C,yBAAyB,2BAA2B,uBAAuB,gCAAgC,+BAA+B,8BAA8B,EAAE,4GAA4G,wCAAwC,4CAA4C,EAAE,0BAA0B,4BAA4B,wBAAwB,qBAAqB,EAAE,+BAA+B,yBAAyB,EAAE,kCAAkC,4BAA4B,wBAAwB,qBAAqB,mBAAmB,kBAAkB,4CAA4C,yBAAyB,mBAAmB,EAAE,0CAA0C,4BAA4B,eAAe,mBAAmB,oBAAoB,wBAAwB,EAAE,yCAAyC,4BAA4B,eAAe,mBAAmB,oBAAoB,4BAA4B,EAAE,mDAAmD,qBAAqB,oBAAoB,gDAAgD,2BAA2B,EAAE,6DAA6D,8BAA8B,iBAAiB,qBAAqB,sBAAsB,0BAA0B,EAAE,4DAA4D,8BAA8B,iBAAiB,qBAAqB,sBAAsB,8BAA8B,EAAE,oCAAoC,oCAAoC,uCAAuC,wCAAwC,wBAAwB,yBAAyB,qBAAqB,8BAA8B,6BAA6B,4BAA4B,4BAA4B,wBAAwB,qBAAqB,mBAAmB,kBAAkB,4CAA4C,mBAAmB,EAAE,4CAA4C,4BAA4B,eAAe,mBAAmB,oBAAoB,wBAAwB,EAAE,qDAAqD,qBAAqB,oBAAoB,gDAAgD,yBAAyB,EAAE,+DAA+D,8BAA8B,iBAAiB,qBAAqB,sBAAsB,0BAA0B,EAAE,qCAAqC,iBAAiB,EAAE,8CAA8C,oCAAoC,wCAAwC,gBAAgB,iBAAiB,EAAE,oJAAoJ,2CAA2C,yCAAyC,EAAE,2CAA2C,iBAAiB,EAAE,oDAAoD,oCAAoC,wCAAwC,gBAAgB,iBAAiB,uBAAuB,EAAE,gKAAgK,2CAA2C,yCAAyC,EAAE,8CAA8C,2BAA2B,EAAE,wCAAwC,iBAAiB,EAAE,gHAAgH,iBAAiB,EAAE,oEAAoE,oCAAoC,wCAAwC,gBAAgB,iBAAiB,EAAE,gMAAgM,2CAA2C,yCAAyC,EAAE,qFAAqF,oBAAoB,EAAE,qBAAqB,mBAAmB,0BAA0B,EAAE,uBAAuB,cAAc,cAAc,iBAAiB,6BAA6B,+BAA+B,EAAE,uBAAuB,6CAA6C,EAAE,+BAA+B,mBAAmB,EAAE,8BAA8B,uCAAuC,qCAAqC,6BAA6B,EAAE,sHAAsH,wCAAwC,4CAA4C,EAAE,uDAAuD,oCAAoC,EAAE,+BAA+B,eAAe,EAAE,gCAAgC,oCAAoC,uCAAuC,wCAAwC,oBAAoB,yBAAyB,qBAAqB,8BAA8B,6BAA6B,4BAA4B,yBAAyB,EAAE,wCAAwC,UAAU,8DAA8D,6EAA6E,EAAE,QAAQ,uGAAuG,EAAE,EAAE,yCAAyC,UAAU,wCAAwC,iBAAiB,EAAE,QAAQ,+CAA+C,EAAE,EAAE,0CAA0C,UAAU,wCAAwC,+CAA+C,EAAE,QAAQ,iBAAiB,EAAE,EAAE,4CAA4C,uDAAuD,uBAAuB,EAAE,oDAAoD,sDAAsD,EAAE,qFAAqF,4BAA4B,yBAAyB,wBAAwB,6BAA6B,qCAAqC,uCAAuC,kDAAkD,EAAE,qLAAqL,yBAAyB,yBAAyB,iBAAiB,2BAA2B,oBAAoB,EAAE,6FAA6F,oEAAoE,iBAAiB,EAAE,iHAAiH,sDAAsD,EAAE,gHAAgH,aAAa,iCAAiC,0BAA0B,sCAAsC,EAAE,2HAA2H,oCAAoC,yDAAyD,EAAE,uIAAuI,gGAAgG,EAAE,yIAAyI,iDAAiD,uGAAuG,EAAE,qLAAqL,4BAA4B,gDAAgD,kBAAkB,mBAAmB,EAAE,gHAAgH,6CAA6C,8CAA8C,EAAE,qLAAqL,gCAAgC,EAAE,mGAAmG,oBAAoB,EAAE,8PAA8P,gCAAgC,oBAAoB,EAAE,sHAAsH,uCAAuC,EAAE,6HAA6H,gCAAgC,oBAAoB,EAAE,yGAAyG,oCAAoC,EAAE,wGAAwG,oBAAoB,EAAE,2MAA2M,gCAAgC,EAAE,2CAA2C,+MAA+M,wFAAwF,EAAE,EAAE,8GAA8G,oBAAoB,EAAE,oRAAoR,gCAAgC,oBAAoB,EAAE,iIAAiI,uCAAuC,EAAE,wIAAwI,gCAAgC,oBAAoB,EAAE,oHAAoH,oCAAoC,EAAE,uGAAuG,oBAAoB,EAAE,yMAAyM,gCAAgC,EAAE,2CAA2C,6MAA6M,wFAAwF,EAAE,EAAE,6GAA6G,oBAAoB,EAAE,kRAAkR,gCAAgC,mBAAmB,EAAE,gIAAgI,uCAAuC,EAAE,uIAAuI,gCAAgC,mBAAmB,EAAE,mHAAmH,mCAAmC,EAAE,iEAAiE,4BAA4B,yBAAyB,wBAAwB,6BAA6B,qCAAqC,uCAAuC,kDAAkD,EAAE,6IAA6I,yBAAyB,yBAAyB,iBAAiB,2BAA2B,oBAAoB,EAAE,yEAAyE,oEAAoE,iBAAiB,EAAE,6FAA6F,sDAAsD,EAAE,4FAA4F,aAAa,iCAAiC,0BAA0B,sCAAsC,EAAE,uGAAuG,oCAAoC,yDAAyD,EAAE,mHAAmH,gGAAgG,EAAE,qHAAqH,iDAAiD,uGAAuG,EAAE,6IAA6I,4BAA4B,gDAAgD,kBAAkB,mBAAmB,EAAE,4FAA4F,6CAA6C,8CAA8C,EAAE,6IAA6I,gCAAgC,EAAE,sNAAsN,gCAAgC,oBAAoB,EAAE,uBAAuB,kBAAkB,uBAAuB,2BAA2B,kCAAkC,mCAAmC,cAAc,eAAe,wBAAwB,+BAA+B,eAAe,mBAAmB,oCAAoC,eAAe,iFAAiF,gIAAgI,8BAA8B,4EAA4E,mBAAmB,oEAAoE,uBAAuB,qDAAqD,uDAAuD,EAAE,6BAA6B,oBAAoB,EAAE,6BAA6B,4BAA4B,0BAA0B,iBAAiB,EAAE,uCAAuC,4BAA4B,4BAA4B,iBAAiB,EAAE,yCAAyC,4BAA4B,iBAAiB,wCAAwC,EAAE,qEAAqE,0DAA0D,0DAA0D,EAAE,+BAA+B,uBAAuB,sBAAsB,EAAE,8BAA8B,oBAAoB,EAAE,eAAe,qBAAqB,EAAE,oCAAoC,iCAAiC,EAAE,uCAAuC,iCAAiC,EAAE,yBAAyB,iCAAiC,EAAE,iCAAiC,oBAAoB,EAAE,8BAA8B,wBAAwB,EAAE,wCAAwC,mBAAmB,EAAE,0GAA0G,2BAA2B,EAAE,gCAAgC,eAAe,uBAAuB,EAAE,+CAA+C,4CAA4C,6CAA6C,EAAE,uHAAuH,gDAAgD,iDAAiD,EAAE,gEAAgE,oCAAoC,wCAAwC,oBAAoB,yBAAyB,EAAE,yJAAyJ,2CAA2C,yCAAyC,EAAE,8DAA8D,oBAAoB,EAAE,WAAW,0BAA0B,EAAE;;AAE32qB;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;;;;;;AC3EA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;;AAEO;AACP;AACA,mBAAmB,sBAAsB;AACzC;AACA;;AAEO;AACP;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,4DAA4D,cAAc;AAC1E;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;;AAEO;AACP,mCAAmC,oCAAoC;AACvE;;AAEO;AACP;AACA;;AAEO;AACP;AACA,mCAAmC,MAAM,6BAA6B,EAAE,YAAY,WAAW,EAAE;AACjG,kCAAkC,MAAM,iCAAiC,EAAE,YAAY,WAAW,EAAE;AACpG,+BAA+B,iEAAiE,uBAAuB,EAAE,4BAA4B;AACrJ;AACA,KAAK;AACL;;AAEO;AACP,aAAa,6BAA6B,0BAA0B,aAAa,EAAE,qBAAqB;AACxG,gBAAgB,qDAAqD,oEAAoE,aAAa,EAAE;AACxJ,sBAAsB,sBAAsB,qBAAqB,GAAG;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,kCAAkC,SAAS;AAC3C,kCAAkC,WAAW,UAAU;AACvD,yCAAyC,cAAc;AACvD;AACA,6GAA6G,OAAO,UAAU;AAC9H,gFAAgF,iBAAiB,OAAO;AACxG,wDAAwD,gBAAgB,QAAQ,OAAO;AACvF,8CAA8C,gBAAgB,gBAAgB,OAAO;AACrF;AACA,iCAAiC;AACjC;AACA;AACA,SAAS,YAAY,aAAa,OAAO,EAAE,UAAU,WAAW;AAChE,mCAAmC,SAAS;AAC5C;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM,gBAAgB;AACzC;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;;AAEO;AACP,4BAA4B,sBAAsB;AAClD;AACA;AACA;;AAEO;AACP,iDAAiD,QAAQ;AACzD,wCAAwC,QAAQ;AAChD,wDAAwD,QAAQ;AAChE;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA,iBAAiB,sFAAsF,aAAa,EAAE;AACtH,sBAAsB,gCAAgC,qCAAqC,0CAA0C,EAAE,EAAE,GAAG;AAC5I,2BAA2B,MAAM,eAAe,EAAE,YAAY,oBAAoB,EAAE;AACpF,sBAAsB,oGAAoG;AAC1H,6BAA6B,uBAAuB;AACpD,4BAA4B,wBAAwB;AACpD,2BAA2B,yDAAyD;AACpF;;AAEO;AACP;AACA,iBAAiB,4CAA4C,SAAS,EAAE,qDAAqD,aAAa,EAAE;AAC5I,yBAAyB,6BAA6B,oBAAoB,gDAAgD,gBAAgB,EAAE,KAAK;AACjJ;;AAEO;AACP;AACA;AACA,2GAA2G,sFAAsF,aAAa,EAAE;AAChN,sBAAsB,8BAA8B,gDAAgD,uDAAuD,EAAE,EAAE,GAAG;AAClK,4CAA4C,sCAAsC,UAAU,oBAAoB,EAAE,EAAE,UAAU;AAC9H;;AAEO;AACP,gCAAgC,uCAAuC,aAAa,EAAE,EAAE,OAAO,kBAAkB;AACjH;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,4CAA4C;AAC5C;;;;;;;;;;;;;AClMA,qBAAqB,mBAAO,CAAC,6ZAA4N;;AAEzP;AACA;AACA,SAAS;AACT;AACA;;;;;;;;;;;;;ACPa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D,YAAY,mBAAO,CAAC,gBAAK;AACzB,UAAU,mBAAO,CAAC,2CAAc;AAChC,aAAa,mBAAO,CAAC,oFAAgB;AACrC;AACA,mBAAO,CAAC,mCAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oCAAoC;AACxE,0CAA0C,2DAA2D,eAAe;AACpH,mCAAmC,yFAAyF,kCAAkC,uBAAuB,2CAA2C;AAChO,yCAAyC;AACzC;AACA,6BAA6B,GAAG,cAAc,EAAE;AAChD;AACA,0CAA0C,2DAA2D,eAAe;AACpH,2BAA2B,yFAAyF,kCAAkC,uBAAuB,2CAA2C;AACxN,iCAAiC;AACjC;AACA,qBAAqB,GAAG,cAAc,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;;;;;AC/FA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpBA,iD","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"omi\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"omi\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MMenu\"] = factory(require(\"omi\"));\n\telse\n\t\troot[\"MMenu\"] = factory(root[\"Omi\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_omi__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/menu/index.tsx\");\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 */\nimport * as tslib_1 from \"tslib\";\nimport { MDCFoundation } from './foundation';\nvar MDCComponent = /** @class */ (function () {\n function MDCComponent(root, foundation) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this.root_ = root;\n this.initialize.apply(this, tslib_1.__spread(args));\n // 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 this.foundation_ = foundation === undefined ? this.getDefaultFoundation() : foundation;\n this.foundation_.init();\n this.initialSyncWithDOM();\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 MDCFoundation({}));\n };\n /* istanbul ignore next: method param only exists for typing purposes; it does not need to be unit tested */\n MDCComponent.prototype.initialize = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\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 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 ' +\n 'foundation class');\n };\n MDCComponent.prototype.initialSyncWithDOM = function () {\n // 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 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 MDCComponent.prototype.listen = function (evtType, handler) {\n this.root_.addEventListener(evtType, handler);\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 MDCComponent.prototype.emit = function (evtType, evtData, shouldBubble) {\n if (shouldBubble === void 0) { shouldBubble = false; }\n var evt;\n if (typeof CustomEvent === 'function') {\n evt = new CustomEvent(evtType, {\n bubbles: shouldBubble,\n detail: evtData,\n });\n }\n else {\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(evtType, shouldBubble, false, evtData);\n }\n this.root_.dispatchEvent(evt);\n };\n return MDCComponent;\n}());\nexport { MDCComponent };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCComponent;\n//# sourceMappingURL=component.js.map","/**\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 = /** @class */ (function () {\n function MDCFoundation(adapter) {\n if (adapter === void 0) { adapter = {}; }\n this.adapter_ = adapter;\n }\n Object.defineProperty(MDCFoundation, \"cssClasses\", {\n get: function () {\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 () {\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 () {\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 () {\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 MDCFoundation.prototype.init = function () {\n // Subclasses should override this method to perform initialization routines (registering events, etc.)\n };\n MDCFoundation.prototype.destroy = function () {\n // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)\n };\n return MDCFoundation;\n}());\nexport { MDCFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCFoundation;\n//# sourceMappingURL=foundation.js.map","/**\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 * @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 */\nexport function closest(element, selector) {\n if (element.closest) {\n return element.closest(selector);\n }\n var el = element;\n while (el) {\n if (matches(el, selector)) {\n return el;\n }\n el = el.parentElement;\n }\n return null;\n}\nexport function matches(element, selector) {\n var nativeMatches = element.matches\n || element.webkitMatchesSelector\n || element.msMatchesSelector;\n return nativeMatches.call(element, selector);\n}\n//# sourceMappingURL=ponyfill.js.map","/**\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 */\nimport * as tslib_1 from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { closest, matches } from '@material/dom/ponyfill';\nimport { cssClasses, strings } from './constants';\nimport { MDCListFoundation } from './foundation';\nvar MDCList = /** @class */ (function (_super) {\n tslib_1.__extends(MDCList, _super);\n function MDCList() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MDCList.prototype, \"vertical\", {\n set: function (value) {\n this.foundation_.setVerticalOrientation(value);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCList.prototype, \"listElements\", {\n get: function () {\n return [].slice.call(this.root_.querySelectorAll(\".\" + cssClasses.LIST_ITEM_CLASS));\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCList.prototype, \"wrapFocus\", {\n set: function (value) {\n this.foundation_.setWrapFocus(value);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCList.prototype, \"singleSelection\", {\n set: function (isSingleSelectionList) {\n this.foundation_.setSingleSelection(isSingleSelectionList);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCList.prototype, \"selectedIndex\", {\n get: function () {\n return this.foundation_.getSelectedIndex();\n },\n set: function (index) {\n this.foundation_.setSelectedIndex(index);\n },\n enumerable: true,\n configurable: true\n });\n MDCList.attachTo = function (root) {\n return new MDCList(root);\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 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 MDCList.prototype.layout = function () {\n var direction = this.root_.getAttribute(strings.ARIA_ORIENTATION);\n this.vertical = direction !== strings.ARIA_ORIENTATION_HORIZONTAL;\n // List items need to have at least tabindex=-1 to be focusable.\n [].slice.call(this.root_.querySelectorAll('.mdc-list-item:not([tabindex])'))\n .forEach(function (el) {\n el.setAttribute('tabindex', '-1');\n });\n // Child button/a elements are not tabbable until the list item is focused.\n [].slice.call(this.root_.querySelectorAll(strings.FOCUSABLE_CHILD_ELEMENTS))\n .forEach(function (el) { return el.setAttribute('tabindex', '-1'); });\n this.foundation_.layout();\n };\n /**\n * Initialize selectedIndex value based on pre-selected checkbox list items, single selection or radio.\n */\n MDCList.prototype.initializeListType = function () {\n var _this = this;\n var checkboxListItems = this.root_.querySelectorAll(strings.ARIA_ROLE_CHECKBOX_SELECTOR);\n var singleSelectedListItem = this.root_.querySelector(\"\\n .\" + cssClasses.LIST_ITEM_ACTIVATED_CLASS + \",\\n .\" + cssClasses.LIST_ITEM_SELECTED_CLASS + \"\\n \");\n var radioSelectedListItem = this.root_.querySelector(strings.ARIA_CHECKED_RADIO_SELECTOR);\n if (checkboxListItems.length) {\n var preselectedItems = this.root_.querySelectorAll(strings.ARIA_CHECKED_CHECKBOX_SELECTOR);\n this.selectedIndex =\n [].map.call(preselectedItems, function (listItem) { return _this.listElements.indexOf(listItem); });\n }\n else if (singleSelectedListItem) {\n if (singleSelectedListItem.classList.contains(cssClasses.LIST_ITEM_ACTIVATED_CLASS)) {\n this.foundation_.setUseActivatedClass(true);\n }\n this.singleSelection = true;\n this.selectedIndex = this.listElements.indexOf(singleSelectedListItem);\n }\n else if (radioSelectedListItem) {\n this.selectedIndex = this.listElements.indexOf(radioSelectedListItem);\n }\n };\n MDCList.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n addClassForElementIndex: function (index, className) {\n var element = _this.listElements[index];\n if (element) {\n element.classList.add(className);\n }\n },\n focusItemAtIndex: function (index) {\n var element = _this.listElements[index];\n if (element) {\n element.focus();\n }\n },\n getAttributeForElementIndex: function (index, attr) { return _this.listElements[index].getAttribute(attr); },\n getFocusedElementIndex: function () { return _this.listElements.indexOf(document.activeElement); },\n getListItemCount: function () { return _this.listElements.length; },\n hasCheckboxAtIndex: function (index) {\n var listItem = _this.listElements[index];\n return !!listItem.querySelector(strings.CHECKBOX_SELECTOR);\n },\n hasRadioAtIndex: function (index) {\n var listItem = _this.listElements[index];\n return !!listItem.querySelector(strings.RADIO_SELECTOR);\n },\n isCheckboxCheckedAtIndex: function (index) {\n var listItem = _this.listElements[index];\n var toggleEl = listItem.querySelector(strings.CHECKBOX_SELECTOR);\n return toggleEl.checked;\n },\n isFocusInsideList: function () {\n return _this.root_.contains(document.activeElement);\n },\n isRootFocused: function () { return document.activeElement === _this.root_; },\n notifyAction: function (index) {\n _this.emit(strings.ACTION_EVENT, { index: index }, /** shouldBubble */ true);\n },\n removeClassForElementIndex: function (index, className) {\n var element = _this.listElements[index];\n if (element) {\n element.classList.remove(className);\n }\n },\n setAttributeForElementIndex: function (index, attr, value) {\n var element = _this.listElements[index];\n if (element) {\n element.setAttribute(attr, value);\n }\n },\n setCheckedCheckboxOrRadioAtIndex: function (index, isChecked) {\n var listItem = _this.listElements[index];\n var toggleEl = listItem.querySelector(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 (listItemIndex, tabIndexValue) {\n var element = _this.listElements[listItemIndex];\n var listItemChildren = [].slice.call(element.querySelectorAll(strings.CHILD_ELEMENTS_TO_TOGGLE_TABINDEX));\n listItemChildren.forEach(function (el) { return el.setAttribute('tabindex', tabIndexValue); });\n },\n };\n return new 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 MDCList.prototype.getListItemIndex_ = function (evt) {\n var eventTarget = evt.target;\n var nearestParent = closest(eventTarget, \".\" + cssClasses.LIST_ITEM_CLASS + \", .\" + cssClasses.ROOT);\n // Get the index of the element if it is a list item.\n if (nearestParent && matches(nearestParent, \".\" + cssClasses.LIST_ITEM_CLASS)) {\n return this.listElements.indexOf(nearestParent);\n }\n return -1;\n };\n /**\n * Used to figure out which element was clicked before sending the event to the foundation.\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 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 MDCList.prototype.handleKeydownEvent_ = function (evt) {\n var index = this.getListItemIndex_(evt);\n var target = evt.target;\n this.foundation_.handleKeydown(evt, target.classList.contains(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 MDCList.prototype.handleClickEvent_ = function (evt) {\n var index = this.getListItemIndex_(evt);\n var target = evt.target;\n // Toggle the checkbox only if it's not the target of the event, or the checkbox will have 2 change events.\n var toggleCheckbox = !matches(target, strings.CHECKBOX_RADIO_SELECTOR);\n this.foundation_.handleClick(index, toggleCheckbox);\n };\n return MDCList;\n}(MDCComponent));\nexport { MDCList };\n//# sourceMappingURL=component.js.map","/**\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};\nexport { strings, cssClasses, numbers };\n//# sourceMappingURL=constants.js.map","/**\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 */\nimport * as tslib_1 from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, numbers, strings } from './constants';\nvar ELEMENTS_KEY_ALLOWED_IN = ['input', 'button', 'textarea', 'select'];\nfunction isNumberArray(selectedIndex) {\n return selectedIndex instanceof Array;\n}\nvar MDCListFoundation = /** @class */ (function (_super) {\n tslib_1.__extends(MDCListFoundation, _super);\n function MDCListFoundation(adapter) {\n var _this = _super.call(this, tslib_1.__assign({}, MDCListFoundation.defaultAdapter, adapter)) || this;\n _this.wrapFocus_ = false;\n _this.isVertical_ = true;\n _this.isSingleSelectionList_ = false;\n _this.selectedIndex_ = numbers.UNSET_INDEX;\n _this.focusedItemIndex_ = numbers.UNSET_INDEX;\n _this.useActivatedClass_ = false;\n _this.ariaCurrentAttrValue_ = null;\n _this.isCheckboxList_ = false;\n _this.isRadioList_ = false;\n return _this;\n }\n Object.defineProperty(MDCListFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCListFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCListFoundation, \"numbers\", {\n get: function () {\n return numbers;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCListFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClassForElementIndex: function () { return undefined; },\n focusItemAtIndex: function () { return undefined; },\n getAttributeForElementIndex: function () { return null; },\n getFocusedElementIndex: function () { return 0; },\n getListItemCount: function () { return 0; },\n hasCheckboxAtIndex: function () { return false; },\n hasRadioAtIndex: function () { return false; },\n isCheckboxCheckedAtIndex: function () { return false; },\n isFocusInsideList: function () { return false; },\n isRootFocused: function () { return false; },\n notifyAction: function () { return undefined; },\n removeClassForElementIndex: function () { return undefined; },\n setAttributeForElementIndex: function () { return undefined; },\n setCheckedCheckboxOrRadioAtIndex: function () { return undefined; },\n setTabIndexForListItemChildren: function () { return undefined; },\n };\n },\n enumerable: true,\n configurable: true\n });\n MDCListFoundation.prototype.layout = function () {\n if (this.adapter_.getListItemCount() === 0) {\n return;\n }\n if (this.adapter_.hasCheckboxAtIndex(0)) {\n this.isCheckboxList_ = true;\n }\n else if (this.adapter_.hasRadioAtIndex(0)) {\n this.isRadioList_ = true;\n }\n };\n /**\n * Sets the private wrapFocus_ variable.\n */\n MDCListFoundation.prototype.setWrapFocus = function (value) {\n this.wrapFocus_ = value;\n };\n /**\n * Sets the isVertical_ private variable.\n */\n MDCListFoundation.prototype.setVerticalOrientation = function (value) {\n this.isVertical_ = value;\n };\n /**\n * Sets the isSingleSelectionList_ private variable.\n */\n MDCListFoundation.prototype.setSingleSelection = function (value) {\n this.isSingleSelectionList_ = value;\n };\n /**\n * Sets the useActivatedClass_ private variable.\n */\n MDCListFoundation.prototype.setUseActivatedClass = function (useActivated) {\n this.useActivatedClass_ = useActivated;\n };\n MDCListFoundation.prototype.getSelectedIndex = function () {\n return this.selectedIndex_;\n };\n MDCListFoundation.prototype.setSelectedIndex = function (index) {\n if (!this.isIndexValid_(index)) {\n return;\n }\n if (this.isCheckboxList_) {\n this.setCheckboxAtIndex_(index);\n }\n else if (this.isRadioList_) {\n this.setRadioAtIndex_(index);\n }\n else {\n this.setSingleSelectionAtIndex_(index);\n }\n };\n /**\n * Focus in handler for the list items.\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 MDCListFoundation.prototype.handleFocusOut = function (_, listItemIndex) {\n var _this = this;\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 setTimeout(function () {\n if (!_this.adapter_.isFocusInsideList()) {\n _this.setTabindexToFirstSelectedItem_();\n }\n }, 0);\n };\n /**\n * Key handler for the list.\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 if (this.adapter_.isRootFocused()) {\n if (isArrowUp || isEnd) {\n evt.preventDefault();\n this.focusLastElement();\n }\n else if (isArrowDown || isHome) {\n evt.preventDefault();\n this.focusFirstElement();\n }\n return;\n }\n var currentIndex = this.adapter_.getFocusedElementIndex();\n if (currentIndex === -1) {\n currentIndex = listItemIndex;\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 var nextIndex;\n if ((this.isVertical_ && isArrowDown) || (!this.isVertical_ && isArrowRight)) {\n this.preventDefaultEvent_(evt);\n nextIndex = this.focusNextElement(currentIndex);\n }\n else if ((this.isVertical_ && isArrowUp) || (!this.isVertical_ && isArrowLeft)) {\n this.preventDefaultEvent_(evt);\n nextIndex = this.focusPrevElement(currentIndex);\n }\n else if (isHome) {\n this.preventDefaultEvent_(evt);\n nextIndex = this.focusFirstElement();\n }\n else if (isEnd) {\n this.preventDefaultEvent_(evt);\n nextIndex = this.focusLastElement();\n }\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 if (target && target.tagName === 'A' && isEnter) {\n return;\n }\n this.preventDefaultEvent_(evt);\n if (this.isSelectableList_()) {\n this.setSelectedIndexOnAction_(currentIndex);\n }\n this.adapter_.notifyAction(currentIndex);\n }\n }\n this.focusedItemIndex_ = currentIndex;\n if (nextIndex !== undefined) {\n this.setTabindexAtIndex_(nextIndex);\n this.focusedItemIndex_ = nextIndex;\n }\n };\n /**\n * Click handler for the list.\n */\n MDCListFoundation.prototype.handleClick = function (index, toggleCheckbox) {\n if (index === numbers.UNSET_INDEX) {\n return;\n }\n if (this.isSelectableList_()) {\n this.setSelectedIndexOnAction_(index, toggleCheckbox);\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 MDCListFoundation.prototype.focusNextElement = function (index) {\n var count = this.adapter_.getListItemCount();\n var nextIndex = index + 1;\n if (nextIndex >= count) {\n if (this.wrapFocus_) {\n nextIndex = 0;\n }\n else {\n // Return early because last item is already focused.\n return index;\n }\n }\n this.adapter_.focusItemAtIndex(nextIndex);\n return nextIndex;\n };\n /**\n * Focuses the previous element on the list.\n */\n MDCListFoundation.prototype.focusPrevElement = function (index) {\n var prevIndex = index - 1;\n if (prevIndex < 0) {\n if (this.wrapFocus_) {\n prevIndex = this.adapter_.getListItemCount() - 1;\n }\n else {\n // Return early because first item is already focused.\n return index;\n }\n }\n this.adapter_.focusItemAtIndex(prevIndex);\n return prevIndex;\n };\n MDCListFoundation.prototype.focusFirstElement = function () {\n this.adapter_.focusItemAtIndex(0);\n return 0;\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 MDCListFoundation.prototype.preventDefaultEvent_ = function (evt) {\n var target = evt.target;\n var tagName = (\"\" + target.tagName).toLowerCase();\n if (ELEMENTS_KEY_ALLOWED_IN.indexOf(tagName) === -1) {\n evt.preventDefault();\n }\n };\n MDCListFoundation.prototype.setSingleSelectionAtIndex_ = function (index) {\n if (this.selectedIndex_ === index) {\n return;\n }\n var selectedClassName = cssClasses.LIST_ITEM_SELECTED_CLASS;\n if (this.useActivatedClass_) {\n selectedClassName = cssClasses.LIST_ITEM_ACTIVATED_CLASS;\n }\n if (this.selectedIndex_ !== numbers.UNSET_INDEX) {\n this.adapter_.removeClassForElementIndex(this.selectedIndex_, selectedClassName);\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 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_ === numbers.UNSET_INDEX) {\n this.ariaCurrentAttrValue_ =\n this.adapter_.getAttributeForElementIndex(index, strings.ARIA_CURRENT);\n }\n var isAriaCurrent = this.ariaCurrentAttrValue_ !== null;\n var ariaAttribute = isAriaCurrent ? strings.ARIA_CURRENT : strings.ARIA_SELECTED;\n if (this.selectedIndex_ !== numbers.UNSET_INDEX) {\n this.adapter_.setAttributeForElementIndex(this.selectedIndex_, ariaAttribute, 'false');\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 MDCListFoundation.prototype.setRadioAtIndex_ = function (index) {\n this.adapter_.setCheckedCheckboxOrRadioAtIndex(index, true);\n if (this.selectedIndex_ !== numbers.UNSET_INDEX) {\n this.adapter_.setAttributeForElementIndex(this.selectedIndex_, strings.ARIA_CHECKED, 'false');\n }\n this.adapter_.setAttributeForElementIndex(index, strings.ARIA_CHECKED, 'true');\n this.selectedIndex_ = index;\n };\n MDCListFoundation.prototype.setCheckboxAtIndex_ = function (index) {\n for (var i = 0; i < this.adapter_.getListItemCount(); i++) {\n var isChecked = false;\n if (index.indexOf(i) >= 0) {\n isChecked = true;\n }\n this.adapter_.setCheckedCheckboxOrRadioAtIndex(i, isChecked);\n this.adapter_.setAttributeForElementIndex(i, strings.ARIA_CHECKED, isChecked ? 'true' : 'false');\n }\n this.selectedIndex_ = index;\n };\n MDCListFoundation.prototype.setTabindexAtIndex_ = function (index) {\n if (this.focusedItemIndex_ === 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 }\n else if (this.focusedItemIndex_ >= 0 && this.focusedItemIndex_ !== index) {\n this.adapter_.setAttributeForElementIndex(this.focusedItemIndex_, 'tabindex', '-1');\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 MDCListFoundation.prototype.isSelectableList_ = function () {\n return this.isSingleSelectionList_ || this.isCheckboxList_ || this.isRadioList_;\n };\n MDCListFoundation.prototype.setTabindexToFirstSelectedItem_ = function () {\n var targetIndex = 0;\n if (this.isSelectableList_()) {\n if (typeof this.selectedIndex_ === 'number' && this.selectedIndex_ !== numbers.UNSET_INDEX) {\n targetIndex = this.selectedIndex_;\n }\n else if (isNumberArray(this.selectedIndex_) && this.selectedIndex_.length > 0) {\n targetIndex = this.selectedIndex_.reduce(function (currentIndex, minIndex) { return Math.min(currentIndex, minIndex); });\n }\n }\n this.setTabindexAtIndex_(targetIndex);\n };\n MDCListFoundation.prototype.isIndexValid_ = function (index) {\n var _this = this;\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 if (index.length === 0) {\n return true;\n }\n else {\n return index.some(function (i) { 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 return this.isIndexInRange_(index);\n }\n else {\n return false;\n }\n };\n MDCListFoundation.prototype.isIndexInRange_ = function (index) {\n var listSize = this.adapter_.getListItemCount();\n return index >= 0 && index < listSize;\n };\n MDCListFoundation.prototype.setSelectedIndexOnAction_ = function (index, toggleCheckbox) {\n if (toggleCheckbox === void 0) { toggleCheckbox = true; }\n if (this.isCheckboxList_) {\n this.toggleCheckboxAtIndex_(index, toggleCheckbox);\n }\n else {\n this.setSelectedIndex(index);\n }\n };\n MDCListFoundation.prototype.toggleCheckboxAtIndex_ = function (index, toggleCheckbox) {\n var isChecked = this.adapter_.isCheckboxCheckedAtIndex(index);\n if (toggleCheckbox) {\n isChecked = !isChecked;\n this.adapter_.setCheckedCheckboxOrRadioAtIndex(index, isChecked);\n }\n this.adapter_.setAttributeForElementIndex(index, strings.ARIA_CHECKED, isChecked ? 'true' : 'false');\n // If none of the checkbox items are selected and selectedIndex is not initialized then provide a default value.\n var selectedIndexes = this.selectedIndex_ === numbers.UNSET_INDEX ? [] : this.selectedIndex_.slice();\n if (isChecked) {\n selectedIndexes.push(index);\n }\n else {\n selectedIndexes = selectedIndexes.filter(function (i) { return i !== index; });\n }\n this.selectedIndex_ = selectedIndexes;\n };\n return MDCListFoundation;\n}(MDCFoundation));\nexport { MDCListFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCListFoundation;\n//# sourceMappingURL=foundation.js.map","/**\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 */\nimport * as tslib_1 from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { cssClasses, strings } from './constants';\nimport { MDCMenuSurfaceFoundation } from './foundation';\nimport * as util from './util';\nvar MDCMenuSurface = /** @class */ (function (_super) {\n tslib_1.__extends(MDCMenuSurface, _super);\n function MDCMenuSurface() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCMenuSurface.attachTo = function (root) {\n return new MDCMenuSurface(root);\n };\n MDCMenuSurface.prototype.initialSyncWithDOM = function () {\n var _this = this;\n var parentEl = this.root_.parentElement;\n this.anchorElement = parentEl && parentEl.classList.contains(cssClasses.ANCHOR) ? parentEl : null;\n if (this.root_.classList.contains(cssClasses.FIXED)) {\n this.setFixedPosition(true);\n }\n this.handleKeydown_ = function (evt) { return _this.foundation_.handleKeydown(evt); };\n this.handleBodyClick_ = function (evt) { return _this.foundation_.handleBodyClick(evt); };\n this.registerBodyClickListener_ = function () { return document.body.addEventListener('click', _this.handleBodyClick_); };\n this.deregisterBodyClickListener_ = function () { return document.body.removeEventListener('click', _this.handleBodyClick_); };\n this.listen('keydown', this.handleKeydown_);\n this.listen(strings.OPENED_EVENT, this.registerBodyClickListener_);\n this.listen(strings.CLOSED_EVENT, this.deregisterBodyClickListener_);\n };\n MDCMenuSurface.prototype.destroy = function () {\n this.unlisten('keydown', this.handleKeydown_);\n this.unlisten(strings.OPENED_EVENT, this.registerBodyClickListener_);\n this.unlisten(strings.CLOSED_EVENT, this.deregisterBodyClickListener_);\n _super.prototype.destroy.call(this);\n };\n Object.defineProperty(MDCMenuSurface.prototype, \"open\", {\n get: function () {\n return this.foundation_.isOpen();\n },\n set: function (value) {\n if (value) {\n var focusableElements = this.root_.querySelectorAll(strings.FOCUSABLE_ELEMENTS);\n this.firstFocusableElement_ = focusableElements[0];\n this.lastFocusableElement_ = focusableElements[focusableElements.length - 1];\n this.foundation_.open();\n }\n else {\n this.foundation_.close();\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuSurface.prototype, \"quickOpen\", {\n set: function (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 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 MDCMenuSurface.prototype.setIsHoisted = function (isHoisted) {\n this.foundation_.setIsHoisted(isHoisted);\n };\n /** Sets the element that the menu-surface is anchored to. */\n MDCMenuSurface.prototype.setMenuSurfaceAnchorElement = function (element) {\n this.anchorElement = element;\n };\n /** Sets the menu-surface to position: fixed. */\n MDCMenuSurface.prototype.setFixedPosition = function (isFixed) {\n if (isFixed) {\n this.root_.classList.add(cssClasses.FIXED);\n }\n else {\n this.root_.classList.remove(cssClasses.FIXED);\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 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 MDCMenuSurface.prototype.setAnchorCorner = function (corner) {\n this.foundation_.setAnchorCorner(corner);\n };\n MDCMenuSurface.prototype.setAnchorMargin = function (margin) {\n this.foundation_.setAnchorMargin(margin);\n };\n MDCMenuSurface.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\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 var adapter = {\n addClass: function (className) { return _this.root_.classList.add(className); },\n removeClass: function (className) { return _this.root_.classList.remove(className); },\n hasClass: function (className) { return _this.root_.classList.contains(className); },\n hasAnchor: function () { return !!_this.anchorElement; },\n notifyClose: function () { return _this.emit(MDCMenuSurfaceFoundation.strings.CLOSED_EVENT, {}); },\n notifyOpen: function () { return _this.emit(MDCMenuSurfaceFoundation.strings.OPENED_EVENT, {}); },\n isElementInContainer: function (el) { return _this.root_.contains(el); },\n isRtl: function () { return getComputedStyle(_this.root_).getPropertyValue('direction') === 'rtl'; },\n setTransformOrigin: function (origin) {\n var propertyName = util.getTransformPropertyName(window) + \"-origin\";\n _this.root_.style.setProperty(propertyName, origin);\n },\n isFocused: function () { return document.activeElement === _this.root_; },\n saveFocus: function () {\n _this.previousFocus_ = document.activeElement;\n },\n restoreFocus: function () {\n if (_this.root_.contains(document.activeElement)) {\n if (_this.previousFocus_ && _this.previousFocus_.focus) {\n _this.previousFocus_.focus();\n }\n }\n },\n isFirstElementFocused: function () {\n return _this.firstFocusableElement_ ? _this.firstFocusableElement_ === document.activeElement : false;\n },\n isLastElementFocused: function () {\n return _this.lastFocusableElement_ ? _this.lastFocusableElement_ === document.activeElement : false;\n },\n focusFirstElement: function () {\n return _this.firstFocusableElement_ && _this.firstFocusableElement_.focus && _this.firstFocusableElement_.focus();\n },\n focusLastElement: function () {\n return _this.lastFocusableElement_ && _this.lastFocusableElement_.focus && _this.lastFocusableElement_.focus();\n },\n getInnerDimensions: function () {\n return { width: _this.root_.offsetWidth, height: _this.root_.offsetHeight };\n },\n getAnchorDimensions: function () { return _this.anchorElement ? _this.anchorElement.getBoundingClientRect() : null; },\n getWindowDimensions: function () {\n return { width: window.innerWidth, height: window.innerHeight };\n },\n getBodyDimensions: function () {\n return { width: document.body.clientWidth, height: document.body.clientHeight };\n },\n getWindowScroll: function () {\n return { x: window.pageXOffset, y: window.pageYOffset };\n },\n setPosition: function (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 (height) {\n _this.root_.style.maxHeight = height;\n },\n };\n // tslint:enable:object-literal-sort-keys\n return new MDCMenuSurfaceFoundation(adapter);\n };\n return MDCMenuSurface;\n}(MDCComponent));\nexport { MDCMenuSurface };\n//# sourceMappingURL=component.js.map","/**\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};\n// tslint:disable:object-literal-sort-keys\nvar strings = {\n CLOSED_EVENT: 'MDCMenuSurface:closed',\n OPENED_EVENT: 'MDCMenuSurface:opened',\n FOCUSABLE_ELEMENTS: [\n 'button:not(:disabled)', '[href]:not([aria-disabled=\"true\"])', 'input:not(:disabled)',\n 'select:not(:disabled)', 'textarea:not(:disabled)', '[tabindex]:not([tabindex=\"-1\"]):not([aria-disabled=\"true\"])',\n ].join(', '),\n};\n// tslint:enable:object-literal-sort-keys\nvar numbers = {\n /** Total duration of menu-surface open animation. */\n TRANSITION_OPEN_DURATION: 120,\n /** Total duration of menu-surface close animation. */\n TRANSITION_CLOSE_DURATION: 75,\n /** Margin left to the edge of the viewport when menu-surface is at maximum possible height. */\n MARGIN_TO_EDGE: 32,\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 */\nvar CornerBit;\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 */\nvar Corner;\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 = {}));\nexport { cssClasses, strings, numbers, CornerBit, Corner };\n//# sourceMappingURL=constants.js.map","/**\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 */\nimport * as tslib_1 from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { Corner, CornerBit, cssClasses, numbers, strings } from './constants';\nvar MDCMenuSurfaceFoundation = /** @class */ (function (_super) {\n tslib_1.__extends(MDCMenuSurfaceFoundation, _super);\n function MDCMenuSurfaceFoundation(adapter) {\n var _this = _super.call(this, tslib_1.__assign({}, MDCMenuSurfaceFoundation.defaultAdapter, adapter)) || this;\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_ = Corner.TOP_START;\n _this.anchorMargin_ = { top: 0, right: 0, bottom: 0, left: 0 };\n _this.position_ = { x: 0, y: 0 };\n return _this;\n }\n Object.defineProperty(MDCMenuSurfaceFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuSurfaceFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuSurfaceFoundation, \"numbers\", {\n get: function () {\n return numbers;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuSurfaceFoundation, \"Corner\", {\n get: function () {\n return 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 () {\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n return {\n addClass: function () { return undefined; },\n removeClass: function () { return undefined; },\n hasClass: function () { return false; },\n hasAnchor: function () { return false; },\n isElementInContainer: function () { return false; },\n isFocused: function () { return false; },\n isFirstElementFocused: function () { return false; },\n isLastElementFocused: function () { return false; },\n isRtl: function () { return false; },\n getInnerDimensions: function () { return ({ height: 0, width: 0 }); },\n getAnchorDimensions: function () { return null; },\n getWindowDimensions: function () { return ({ height: 0, width: 0 }); },\n getBodyDimensions: function () { return ({ height: 0, width: 0 }); },\n getWindowScroll: function () { return ({ x: 0, y: 0 }); },\n setPosition: function () { return undefined; },\n setMaxHeight: function () { return undefined; },\n setTransformOrigin: function () { return undefined; },\n saveFocus: function () { return undefined; },\n restoreFocus: function () { return undefined; },\n focusFirstElement: function () { return undefined; },\n focusLastElement: function () { return undefined; },\n notifyClose: function () { return undefined; },\n notifyOpen: function () { return undefined; },\n };\n // tslint:enable:object-literal-sort-keys\n },\n enumerable: true,\n configurable: true\n });\n MDCMenuSurfaceFoundation.prototype.init = function () {\n var _a = MDCMenuSurfaceFoundation.cssClasses, ROOT = _a.ROOT, OPEN = _a.OPEN;\n if (!this.adapter_.hasClass(ROOT)) {\n throw new Error(ROOT + \" class required in root element.\");\n }\n if (this.adapter_.hasClass(OPEN)) {\n this.isOpen_ = true;\n }\n };\n MDCMenuSurfaceFoundation.prototype.destroy = function () {\n clearTimeout(this.openAnimationEndTimerId_);\n clearTimeout(this.closeAnimationEndTimerId_);\n // Cancel any currently running animations.\n cancelAnimationFrame(this.animationRequestId_);\n };\n /**\n * @param corner Default anchor corner alignment of top-left menu surface corner.\n */\n MDCMenuSurfaceFoundation.prototype.setAnchorCorner = function (corner) {\n this.anchorCorner_ = corner;\n };\n /**\n * @param margin Set of margin values from anchor.\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 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 MDCMenuSurfaceFoundation.prototype.setFixedPosition = function (isFixedPosition) {\n this.isFixedPosition_ = isFixedPosition;\n };\n /** Sets the menu-surface position on the page. */\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 MDCMenuSurfaceFoundation.prototype.setQuickOpen = function (quickOpen) {\n this.isQuickOpen_ = quickOpen;\n };\n MDCMenuSurfaceFoundation.prototype.isOpen = function () {\n return this.isOpen_;\n };\n /**\n * Open the menu surface.\n */\n MDCMenuSurfaceFoundation.prototype.open = function () {\n var _this = this;\n this.adapter_.saveFocus();\n if (!this.isQuickOpen_) {\n this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_OPEN);\n }\n this.animationRequestId_ = requestAnimationFrame(function () {\n _this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.OPEN);\n _this.dimensions_ = _this.adapter_.getInnerDimensions();\n _this.autoPosition_();\n if (_this.isQuickOpen_) {\n _this.adapter_.notifyOpen();\n }\n else {\n _this.openAnimationEndTimerId_ = setTimeout(function () {\n _this.openAnimationEndTimerId_ = 0;\n _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_OPEN);\n _this.adapter_.notifyOpen();\n }, numbers.TRANSITION_OPEN_DURATION);\n }\n });\n this.isOpen_ = true;\n };\n /**\n * Closes the menu surface.\n */\n MDCMenuSurfaceFoundation.prototype.close = function () {\n var _this = this;\n if (!this.isQuickOpen_) {\n this.adapter_.addClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_CLOSED);\n }\n requestAnimationFrame(function () {\n _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.OPEN);\n if (_this.isQuickOpen_) {\n _this.adapter_.notifyClose();\n }\n else {\n _this.closeAnimationEndTimerId_ = setTimeout(function () {\n _this.closeAnimationEndTimerId_ = 0;\n _this.adapter_.removeClass(MDCMenuSurfaceFoundation.cssClasses.ANIMATING_CLOSED);\n _this.adapter_.notifyClose();\n }, 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 MDCMenuSurfaceFoundation.prototype.handleBodyClick = function (evt) {\n var el = evt.target;\n if (this.adapter_.isElementInContainer(el)) {\n return;\n }\n this.close();\n };\n /** Handle keys that close the surface. */\n MDCMenuSurfaceFoundation.prototype.handleKeydown = function (evt) {\n var keyCode = evt.keyCode, key = evt.key, shiftKey = evt.shiftKey;\n var isEscape = key === 'Escape' || keyCode === 27;\n var isTab = key === 'Tab' || keyCode === 9;\n if (isEscape) {\n this.close();\n }\n else if (isTab) {\n if (this.adapter_.isLastElementFocused() && !shiftKey) {\n this.adapter_.focusFirstElement();\n evt.preventDefault();\n }\n else if (this.adapter_.isFirstElementFocused() && shiftKey) {\n this.adapter_.focusLastElement();\n evt.preventDefault();\n }\n }\n };\n MDCMenuSurfaceFoundation.prototype.autoPosition_ = function () {\n var _a;\n // Compute measurements for autoposition methods reuse.\n this.measurements_ = this.getAutoLayoutMeasurements_();\n var corner = this.getOriginCorner_();\n var maxMenuSurfaceHeight = this.getMenuSurfaceMaxHeight_(corner);\n var verticalAlignment = this.hasBit_(corner, CornerBit.BOTTOM) ? 'bottom' : 'top';\n var horizontalAlignment = this.hasBit_(corner, CornerBit.RIGHT) ? 'right' : 'left';\n var horizontalOffset = this.getHorizontalOriginOffset_(corner);\n var verticalOffset = this.getVerticalOriginOffset_(corner);\n var _b = this.measurements_, anchorSize = _b.anchorSize, surfaceSize = _b.surfaceSize;\n var position = (_a = {},\n _a[horizontalAlignment] = horizontalOffset,\n _a[verticalAlignment] = verticalOffset,\n _a);\n // Center align when anchor width is comparable or greater than menu surface, otherwise keep corner.\n if (anchorSize.width / surfaceSize.width > numbers.ANCHOR_TO_MENU_SURFACE_WIDTH_RATIO) {\n horizontalAlignment = 'center';\n }\n // If the menu-surface has been hoisted to the body, it's no longer relative to the anchor element\n if (this.isHoistedElement_ || this.isFixedPosition_) {\n this.adjustPositionForHoistedElement_(position);\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 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 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 };\n // tslint:enable:object-literal-sort-keys\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 MDCMenuSurfaceFoundation.prototype.getOriginCorner_ = function () {\n // Defaults: open from the top left.\n var corner = Corner.TOP_LEFT;\n var _a = this.measurements_, viewportDistance = _a.viewportDistance, anchorSize = _a.anchorSize, surfaceSize = _a.surfaceSize;\n var isBottomAligned = this.hasBit_(this.anchorCorner_, CornerBit.BOTTOM);\n var availableTop = isBottomAligned ? viewportDistance.top + anchorSize.height + this.anchorMargin_.bottom\n : viewportDistance.top + this.anchorMargin_.top;\n var availableBottom = isBottomAligned ? viewportDistance.bottom - this.anchorMargin_.bottom\n : viewportDistance.bottom + anchorSize.height - this.anchorMargin_.top;\n var topOverflow = surfaceSize.height - availableTop;\n var bottomOverflow = surfaceSize.height - availableBottom;\n if (bottomOverflow > 0 && topOverflow < bottomOverflow) {\n corner = this.setBit_(corner, CornerBit.BOTTOM);\n }\n var isRtl = this.adapter_.isRtl();\n var isFlipRtl = this.hasBit_(this.anchorCorner_, CornerBit.FLIP_RTL);\n var avoidHorizontalOverlap = this.hasBit_(this.anchorCorner_, CornerBit.RIGHT);\n var isAlignedRight = (avoidHorizontalOverlap && !isRtl) ||\n (!avoidHorizontalOverlap && isFlipRtl && isRtl);\n var availableLeft = isAlignedRight ? viewportDistance.left + anchorSize.width + this.anchorMargin_.right :\n viewportDistance.left + this.anchorMargin_.left;\n var availableRight = isAlignedRight ? viewportDistance.right - this.anchorMargin_.right :\n viewportDistance.right + anchorSize.width - this.anchorMargin_.left;\n var leftOverflow = surfaceSize.width - availableLeft;\n var rightOverflow = surfaceSize.width - availableRight;\n if ((leftOverflow < 0 && isAlignedRight && isRtl) ||\n (avoidHorizontalOverlap && !isAlignedRight && leftOverflow < 0) ||\n (rightOverflow > 0 && leftOverflow < rightOverflow)) {\n corner = this.setBit_(corner, CornerBit.RIGHT);\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 MDCMenuSurfaceFoundation.prototype.getMenuSurfaceMaxHeight_ = function (corner) {\n var viewportDistance = this.measurements_.viewportDistance;\n var maxHeight = 0;\n var isBottomAligned = this.hasBit_(corner, CornerBit.BOTTOM);\n var isBottomAnchored = this.hasBit_(this.anchorCorner_, CornerBit.BOTTOM);\n var MARGIN_TO_EDGE = MDCMenuSurfaceFoundation.numbers.MARGIN_TO_EDGE;\n // When maximum height is not specified, it is handled from CSS.\n if (isBottomAligned) {\n maxHeight = viewportDistance.top + this.anchorMargin_.top - MARGIN_TO_EDGE;\n if (!isBottomAnchored) {\n maxHeight += this.measurements_.anchorSize.height;\n }\n }\n else {\n maxHeight =\n viewportDistance.bottom - this.anchorMargin_.bottom + this.measurements_.anchorSize.height - MARGIN_TO_EDGE;\n if (isBottomAnchored) {\n maxHeight -= this.measurements_.anchorSize.height;\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 MDCMenuSurfaceFoundation.prototype.getHorizontalOriginOffset_ = function (corner) {\n var anchorSize = this.measurements_.anchorSize;\n // isRightAligned corresponds to using the 'right' property on the surface.\n var isRightAligned = this.hasBit_(corner, CornerBit.RIGHT);\n var avoidHorizontalOverlap = this.hasBit_(this.anchorCorner_, CornerBit.RIGHT);\n if (isRightAligned) {\n var rightOffset = avoidHorizontalOverlap ? anchorSize.width - this.anchorMargin_.left : this.anchorMargin_.right;\n // 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 if (this.isHoistedElement_ || this.isFixedPosition_) {\n return rightOffset - (this.measurements_.viewportSize.width - this.measurements_.bodySize.width);\n }\n return rightOffset;\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 MDCMenuSurfaceFoundation.prototype.getVerticalOriginOffset_ = function (corner) {\n var anchorSize = this.measurements_.anchorSize;\n var isBottomAligned = this.hasBit_(corner, CornerBit.BOTTOM);\n var avoidVerticalOverlap = this.hasBit_(this.anchorCorner_, CornerBit.BOTTOM);\n var y = 0;\n if (isBottomAligned) {\n y = avoidVerticalOverlap ? anchorSize.height - this.anchorMargin_.top : -this.anchorMargin_.bottom;\n }\n else {\n y = avoidVerticalOverlap ? (anchorSize.height + this.anchorMargin_.bottom) : this.anchorMargin_.top;\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 MDCMenuSurfaceFoundation.prototype.adjustPositionForHoistedElement_ = function (position) {\n var e_1, _a;\n var _b = this.measurements_, windowScroll = _b.windowScroll, viewportDistance = _b.viewportDistance;\n var props = Object.keys(position);\n try {\n for (var props_1 = tslib_1.__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;\n // 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 value += viewportDistance[prop];\n // Surfaces that are absolutely positioned need to have additional calculations for scroll\n // and bottom positioning.\n if (!this.isFixedPosition_) {\n if (prop === 'top') {\n value += windowScroll.y;\n }\n else if (prop === 'bottom') {\n value -= windowScroll.y;\n }\n else if (prop === 'left') {\n value += windowScroll.x;\n }\n else { // prop === 'right'\n value -= windowScroll.x;\n }\n }\n position[prop] = value;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1);\n }\n finally { if (e_1) throw e_1.error; }\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 MDCMenuSurfaceFoundation.prototype.maybeRestoreFocus_ = function () {\n var isRootFocused = this.adapter_.isFocused();\n var childHasFocus = document.activeElement && this.adapter_.isElementInContainer(document.activeElement);\n if (isRootFocused || childHasFocus) {\n this.adapter_.restoreFocus();\n }\n };\n MDCMenuSurfaceFoundation.prototype.hasBit_ = function (corner, bit) {\n return Boolean(corner & bit); // tslint:disable-line:no-bitwise\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 MDCMenuSurfaceFoundation.prototype.isFinite_ = function (num) {\n return typeof num === 'number' && isFinite(num);\n };\n return MDCMenuSurfaceFoundation;\n}(MDCFoundation));\nexport { MDCMenuSurfaceFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCMenuSurfaceFoundation;\n//# sourceMappingURL=foundation.js.map","/**\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 */\nfunction getTransformPropertyName(globalObj, forceRefresh) {\n if (forceRefresh === void 0) { forceRefresh = false; }\n if (cachedCssTransformPropertyName_ === undefined || forceRefresh) {\n var el = globalObj.document.createElement('div');\n cachedCssTransformPropertyName_ = 'transform' in el.style ? 'transform' : 'webkitTransform';\n }\n return cachedCssTransformPropertyName_;\n}\nexport { getTransformPropertyName };\n//# sourceMappingURL=util.js.map","/**\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 */\nimport * as tslib_1 from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { MDCList } from '@material/list/component';\nimport { MDCListFoundation } from '@material/list/foundation';\nimport { MDCMenuSurface } from '@material/menu-surface/component';\nimport { MDCMenuSurfaceFoundation } from '@material/menu-surface/foundation';\nimport { cssClasses, strings } from './constants';\nimport { MDCMenuFoundation } from './foundation';\nvar MDCMenu = /** @class */ (function (_super) {\n tslib_1.__extends(MDCMenu, _super);\n function MDCMenu() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCMenu.attachTo = function (root) {\n return new MDCMenu(root);\n };\n MDCMenu.prototype.initialize = function (menuSurfaceFactory, listFactory) {\n if (menuSurfaceFactory === void 0) { menuSurfaceFactory = function (el) { return new MDCMenuSurface(el); }; }\n if (listFactory === void 0) { listFactory = function (el) { return new MDCList(el); }; }\n this.menuSurfaceFactory_ = menuSurfaceFactory;\n this.listFactory_ = listFactory;\n };\n MDCMenu.prototype.initialSyncWithDOM = function () {\n var _this = this;\n this.menuSurface_ = this.menuSurfaceFactory_(this.root_);\n var list = this.root_.querySelector(strings.LIST_SELECTOR);\n if (list) {\n this.list_ = this.listFactory_(list);\n this.list_.wrapFocus = true;\n }\n else {\n this.list_ = null;\n }\n this.handleKeydown_ = function (evt) { return _this.foundation_.handleKeydown(evt); };\n this.handleItemAction_ = function (evt) { return _this.foundation_.handleItemAction(_this.items[evt.detail.index]); };\n this.handleMenuSurfaceOpened_ = function () { return _this.foundation_.handleMenuSurfaceOpened(); };\n this.menuSurface_.listen(MDCMenuSurfaceFoundation.strings.OPENED_EVENT, this.handleMenuSurfaceOpened_);\n this.listen('keydown', this.handleKeydown_);\n this.listen(MDCListFoundation.strings.ACTION_EVENT, this.handleItemAction_);\n };\n MDCMenu.prototype.destroy = function () {\n if (this.list_) {\n this.list_.destroy();\n }\n this.menuSurface_.destroy();\n this.menuSurface_.unlisten(MDCMenuSurfaceFoundation.strings.OPENED_EVENT, this.handleMenuSurfaceOpened_);\n this.unlisten('keydown', this.handleKeydown_);\n this.unlisten(MDCListFoundation.strings.ACTION_EVENT, this.handleItemAction_);\n _super.prototype.destroy.call(this);\n };\n Object.defineProperty(MDCMenu.prototype, \"open\", {\n get: function () {\n return this.menuSurface_.open;\n },\n set: function (value) {\n this.menuSurface_.open = value;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenu.prototype, \"wrapFocus\", {\n get: function () {\n return this.list_ ? this.list_.wrapFocus : false;\n },\n set: function (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 () {\n return this.list_ ? this.list_.listElements : [];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenu.prototype, \"quickOpen\", {\n set: function (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 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 MDCMenu.prototype.setAnchorCorner = function (corner) {\n this.menuSurface_.setAnchorCorner(corner);\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 MDCMenu.prototype.getOptionByIndex = function (index) {\n var items = this.items;\n if (index < items.length) {\n return this.items[index];\n }\n else {\n return null;\n }\n };\n MDCMenu.prototype.setFixedPosition = function (isFixed) {\n this.menuSurface_.setFixedPosition(isFixed);\n };\n MDCMenu.prototype.hoistMenuToBody = function () {\n this.menuSurface_.hoistMenuToBody();\n };\n MDCMenu.prototype.setIsHoisted = function (isHoisted) {\n this.menuSurface_.setIsHoisted(isHoisted);\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 MDCMenu.prototype.setAnchorElement = function (element) {\n this.menuSurface_.anchorElement = element;\n };\n MDCMenu.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\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 var adapter = {\n addClassToElementAtIndex: function (index, className) {\n var list = _this.items;\n list[index].classList.add(className);\n },\n removeClassFromElementAtIndex: function (index, className) {\n var list = _this.items;\n list[index].classList.remove(className);\n },\n addAttributeToElementAtIndex: function (index, attr, value) {\n var list = _this.items;\n list[index].setAttribute(attr, value);\n },\n removeAttributeFromElementAtIndex: function (index, attr) {\n var list = _this.items;\n list[index].removeAttribute(attr);\n },\n elementContainsClass: function (element, className) { return element.classList.contains(className); },\n closeSurface: function () { return _this.open = false; },\n getElementIndex: function (element) { return _this.items.indexOf(element); },\n getParentElement: function (element) { return element.parentElement; },\n getSelectedElementIndex: function (selectionGroup) {\n var selectedListItem = selectionGroup.querySelector(\".\" + cssClasses.MENU_SELECTED_LIST_ITEM);\n return selectedListItem ? _this.items.indexOf(selectedListItem) : -1;\n },\n notifySelected: function (evtData) { return _this.emit(strings.SELECTED_EVENT, {\n index: evtData.index,\n item: _this.items[evtData.index],\n }); },\n getMenuItemCount: function () { return _this.items.length; },\n focusItemAtIndex: function (index) { return _this.items[index].focus(); },\n focusListRoot: function () { return _this.root_.querySelector(strings.LIST_SELECTOR).focus(); },\n };\n // tslint:enable:object-literal-sort-keys\n return new MDCMenuFoundation(adapter);\n };\n return MDCMenu;\n}(MDCComponent));\nexport { MDCMenu };\n//# sourceMappingURL=component.js.map","/**\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(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 = {}));\nexport { cssClasses, strings, numbers, DefaultFocusState };\n//# sourceMappingURL=constants.js.map","/**\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 */\nimport * as tslib_1 from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { MDCListFoundation } from '@material/list/foundation';\nimport { MDCMenuSurfaceFoundation } from '@material/menu-surface/foundation';\nimport { cssClasses, DefaultFocusState, numbers, strings } from './constants';\nvar MDCMenuFoundation = /** @class */ (function (_super) {\n tslib_1.__extends(MDCMenuFoundation, _super);\n function MDCMenuFoundation(adapter) {\n var _this = _super.call(this, tslib_1.__assign({}, MDCMenuFoundation.defaultAdapter, adapter)) || this;\n _this.closeAnimationEndTimerId_ = 0;\n _this.defaultFocusState_ = DefaultFocusState.LIST_ROOT;\n return _this;\n }\n Object.defineProperty(MDCMenuFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MDCMenuFoundation, \"numbers\", {\n get: function () {\n return 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 () {\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n return {\n addClassToElementAtIndex: function () { return undefined; },\n removeClassFromElementAtIndex: function () { return undefined; },\n addAttributeToElementAtIndex: function () { return undefined; },\n removeAttributeFromElementAtIndex: function () { return undefined; },\n elementContainsClass: function () { return false; },\n closeSurface: function () { return undefined; },\n getElementIndex: function () { return -1; },\n getParentElement: function () { return null; },\n getSelectedElementIndex: function () { return -1; },\n notifySelected: function () { return undefined; },\n getMenuItemCount: function () { return 0; },\n focusItemAtIndex: function () { return undefined; },\n focusListRoot: function () { return undefined; },\n };\n // tslint:enable:object-literal-sort-keys\n },\n enumerable: true,\n configurable: true\n });\n MDCMenuFoundation.prototype.destroy = function () {\n if (this.closeAnimationEndTimerId_) {\n clearTimeout(this.closeAnimationEndTimerId_);\n }\n this.adapter_.closeSurface();\n };\n MDCMenuFoundation.prototype.handleKeydown = function (evt) {\n var key = evt.key, keyCode = evt.keyCode;\n var isTab = key === 'Tab' || keyCode === 9;\n if (isTab) {\n this.adapter_.closeSurface();\n }\n };\n MDCMenuFoundation.prototype.handleItemAction = function (listItem) {\n var _this = this;\n var index = this.adapter_.getElementIndex(listItem);\n if (index < 0) {\n return;\n }\n this.adapter_.notifySelected({ index: index });\n this.adapter_.closeSurface();\n // Wait for the menu to close before adding/removing classes that affect styles.\n this.closeAnimationEndTimerId_ = setTimeout(function () {\n var selectionGroup = _this.getSelectionGroup_(listItem);\n if (selectionGroup) {\n _this.handleSelectionGroup_(selectionGroup, index);\n }\n }, MDCMenuSurfaceFoundation.numbers.TRANSITION_CLOSE_DURATION);\n };\n MDCMenuFoundation.prototype.handleMenuSurfaceOpened = function () {\n switch (this.defaultFocusState_) {\n case DefaultFocusState.FIRST_ITEM:\n this.adapter_.focusItemAtIndex(0);\n break;\n case DefaultFocusState.LAST_ITEM:\n this.adapter_.focusItemAtIndex(this.adapter_.getMenuItemCount() - 1);\n break;\n case DefaultFocusState.NONE:\n // Do nothing.\n break;\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 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 MDCMenuFoundation.prototype.handleSelectionGroup_ = function (selectionGroup, index) {\n // De-select the previous selection in this group.\n var selectedIndex = this.adapter_.getSelectedElementIndex(selectionGroup);\n if (selectedIndex >= 0) {\n this.adapter_.removeAttributeFromElementAtIndex(selectedIndex, strings.ARIA_SELECTED_ATTR);\n this.adapter_.removeClassFromElementAtIndex(selectedIndex, cssClasses.MENU_SELECTED_LIST_ITEM);\n }\n // Select the new list item in this group.\n this.adapter_.addClassToElementAtIndex(index, cssClasses.MENU_SELECTED_LIST_ITEM);\n this.adapter_.addAttributeToElementAtIndex(index, strings.ARIA_SELECTED_ATTR, 'true');\n };\n /**\n * Returns the parent selection group of an element if one exists.\n */\n MDCMenuFoundation.prototype.getSelectionGroup_ = function (listItem) {\n var parent = this.adapter_.getParentElement(listItem);\n if (!parent) {\n return null;\n }\n var isGroup = this.adapter_.elementContainsClass(parent, cssClasses.MENU_SELECTION_GROUP);\n // Iterate through ancestors until we find the group or get to the list.\n while (!isGroup && parent && !this.adapter_.elementContainsClass(parent, MDCListFoundation.cssClasses.ROOT)) {\n parent = this.adapter_.getParentElement(parent);\n isGroup = parent ? this.adapter_.elementContainsClass(parent, cssClasses.MENU_SELECTION_GROUP) : false;\n }\n if (isGroup) {\n return parent;\n }\n else {\n return null;\n }\n };\n return MDCMenuFoundation;\n}(MDCFoundation));\nexport { MDCMenuFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCMenuFoundation;\n//# sourceMappingURL=foundation.js.map","/**\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 */\nexport { Corner } from '@material/menu-surface/constants'; // for backward compatibility\nexport * from './component';\nexport * from './constants';\nexport * from './foundation';\n//# sourceMappingURL=index.js.map","exports = module.exports = require(\"../../node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".mdc-list {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 1rem;\\n line-height: 1.75rem;\\n font-weight: 400;\\n letter-spacing: 0.00937em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n /* @alternate */\\n line-height: 1.5rem;\\n margin: 0;\\n padding: 8px 0;\\n list-style-type: none;\\n color: rgba(0, 0, 0, 0.87);\\n /* @alternate */\\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\\n .mdc-list:focus {\\n outline: none; }\\n\\n.mdc-list-item__secondary-text {\\n color: rgba(0, 0, 0, 0.54);\\n /* @alternate */\\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)); }\\n\\n.mdc-list-item__graphic {\\n background-color: transparent; }\\n\\n.mdc-list-item__graphic {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-item__meta {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-group__subheader {\\n color: rgba(0, 0, 0, 0.87);\\n /* @alternate */\\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\\n\\n.mdc-list--dense {\\n padding-top: 4px;\\n padding-bottom: 4px;\\n font-size: .812rem; }\\n\\n.mdc-list-item {\\n display: flex;\\n position: relative;\\n align-items: center;\\n justify-content: flex-start;\\n height: 48px;\\n padding: 0 16px;\\n overflow: hidden; }\\n .mdc-list-item:focus {\\n outline: none; }\\n\\n.mdc-list-item--selected,\\n.mdc-list-item--activated {\\n color: #0072d9;\\n /* @alternate */\\n color: var(--mdc-theme-primary, #0072d9); }\\n .mdc-list-item--selected .mdc-list-item__graphic,\\n .mdc-list-item--activated .mdc-list-item__graphic {\\n color: #0072d9;\\n /* @alternate */\\n color: var(--mdc-theme-primary, #0072d9); }\\n\\n.mdc-list-item--disabled {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 32px;\\n width: 24px;\\n height: 24px;\\n flex-shrink: 0;\\n align-items: center;\\n justify-content: center;\\n fill: currentColor; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 32px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list .mdc-list-item__graphic {\\n display: inline-flex; }\\n\\n.mdc-list-item__meta {\\n /* @noflip */\\n margin-left: auto;\\n /* @noflip */\\n margin-right: 0; }\\n .mdc-list-item__meta:not(.material-icons) {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 0.75rem;\\n line-height: 1.25rem;\\n font-weight: 400;\\n letter-spacing: 0.03333em;\\n text-decoration: inherit;\\n text-transform: inherit; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list-item__meta,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list-item__meta {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: auto; }\\n\\n.mdc-list-item__text {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden; }\\n\\n.mdc-list-item__text[for] {\\n pointer-events: none; }\\n\\n.mdc-list-item__primary-text {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n margin-bottom: -20px;\\n display: block; }\\n .mdc-list-item__primary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 32px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list-item__primary-text::after {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: -20px; }\\n .mdc-list--dense .mdc-list-item__primary-text {\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n margin-bottom: -20px; }\\n .mdc-list--dense .mdc-list-item__primary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 24px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list--dense .mdc-list-item__primary-text::after {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: -20px; }\\n\\n.mdc-list-item__secondary-text {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n font-weight: 400;\\n letter-spacing: 0.01786em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n display: block; }\\n .mdc-list-item__secondary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list--dense .mdc-list-item__secondary-text {\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n font-size: inherit; }\\n .mdc-list--dense .mdc-list-item__secondary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n\\n.mdc-list--dense .mdc-list-item {\\n height: 40px; }\\n\\n.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 36px;\\n width: 20px;\\n height: 20px; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--dense .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 36px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list--avatar-list .mdc-list-item {\\n height: 56px; }\\n\\n.mdc-list--avatar-list .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 16px;\\n width: 40px;\\n height: 40px;\\n border-radius: 50%; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--avatar-list .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 16px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list--two-line .mdc-list-item__text {\\n align-self: flex-start; }\\n\\n.mdc-list--two-line .mdc-list-item {\\n height: 72px; }\\n\\n.mdc-list--two-line.mdc-list--dense .mdc-list-item,\\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {\\n height: 60px; }\\n\\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 20px;\\n width: 36px;\\n height: 36px; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 20px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\\n cursor: pointer; }\\n\\na.mdc-list-item {\\n color: inherit;\\n text-decoration: none; }\\n\\n.mdc-list-divider {\\n height: 0;\\n margin: 0;\\n border: none;\\n border-bottom-width: 1px;\\n border-bottom-style: solid; }\\n\\n.mdc-list-divider {\\n border-bottom-color: rgba(0, 0, 0, 0.12); }\\n\\n.mdc-list-divider--padded {\\n margin: 0 16px; }\\n\\n.mdc-list-divider--inset {\\n /* @noflip */\\n margin-left: 72px;\\n /* @noflip */\\n margin-right: 0;\\n width: calc(100% - 72px); }\\n .mdc-list-group[dir=\\\"rtl\\\"] .mdc-list-divider--inset,\\n [dir=\\\"rtl\\\"] .mdc-list-group .mdc-list-divider--inset {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 72px; }\\n\\n.mdc-list-divider--inset.mdc-list-divider--padded {\\n width: calc(100% - 72px - 16px); }\\n\\n.mdc-list-group .mdc-list {\\n padding: 0; }\\n\\n.mdc-list-group__subheader {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 1rem;\\n line-height: 1.75rem;\\n font-weight: 400;\\n letter-spacing: 0.00937em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n margin: 0.75rem 16px; }\\n\\n@keyframes mdc-ripple-fg-radius-in {\\n from {\\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }\\n to {\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }\\n\\n@keyframes mdc-ripple-fg-opacity-in {\\n from {\\n animation-timing-function: linear;\\n opacity: 0; }\\n to {\\n opacity: var(--mdc-ripple-fg-opacity, 0); } }\\n\\n@keyframes mdc-ripple-fg-opacity-out {\\n from {\\n animation-timing-function: linear;\\n opacity: var(--mdc-ripple-fg-opacity, 0); }\\n to {\\n opacity: 0; } }\\n\\n.mdc-ripple-surface--test-edge-var-bug {\\n --mdc-ripple-surface-test-edge-var: 1px solid #000;\\n visibility: hidden; }\\n .mdc-ripple-surface--test-edge-var-bug::before {\\n border: var(--mdc-ripple-surface-test-edge-var); }\\n\\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\\n --mdc-ripple-fg-size: 0;\\n --mdc-ripple-left: 0;\\n --mdc-ripple-top: 0;\\n --mdc-ripple-fg-scale: 1;\\n --mdc-ripple-fg-translate-end: 0;\\n --mdc-ripple-fg-translate-start: 0;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n position: absolute;\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n content: \\\"\\\"; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {\\n transition: opacity 15ms linear, background-color 15ms linear;\\n z-index: 1; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {\\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\\n top: 0;\\n /* @noflip */\\n left: 0;\\n transform: scale(0);\\n transform-origin: center center; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {\\n top: var(--mdc-ripple-top, 0);\\n /* @noflip */\\n left: var(--mdc-ripple-left, 0); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {\\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {\\n animation: mdc-ripple-fg-opacity-out 150ms;\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n top: calc(50% - 100%);\\n /* @noflip */\\n left: calc(50% - 100%);\\n width: 200%;\\n height: 200%; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\\n width: var(--mdc-ripple-fg-size, 100%);\\n height: var(--mdc-ripple-fg-size, 100%); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n background-color: #000000; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {\\n opacity: 0.04; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {\\n opacity: 0.16; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {\\n opacity: 0.08; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.2; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.2; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.2; }\\n\\n:not(.mdc-list--non-interactive) > .mdc-list-item--disabled {\\n --mdc-ripple-fg-size: 0;\\n --mdc-ripple-left: 0;\\n --mdc-ripple-top: 0;\\n --mdc-ripple-fg-scale: 1;\\n --mdc-ripple-fg-translate-end: 0;\\n --mdc-ripple-fg-translate-start: 0;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n position: absolute;\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n content: \\\"\\\"; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before {\\n transition: opacity 15ms linear, background-color 15ms linear;\\n z-index: 1; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::before {\\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\\n top: 0;\\n /* @noflip */\\n left: 0;\\n transform: scale(0);\\n transform-origin: center center; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after {\\n top: var(--mdc-ripple-top, 0);\\n /* @noflip */\\n left: var(--mdc-ripple-left, 0); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after {\\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after {\\n animation: mdc-ripple-fg-opacity-out 150ms;\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n top: calc(50% - 100%);\\n /* @noflip */\\n left: calc(50% - 100%);\\n width: 200%;\\n height: 200%; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\\n width: var(--mdc-ripple-fg-size, 100%);\\n height: var(--mdc-ripple-fg-size, 100%); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n background-color: #000000; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n\\n.mdc-menu-surface {\\n display: none;\\n position: absolute;\\n box-sizing: border-box;\\n max-width: calc(100vw - 32px);\\n max-height: calc(100vh - 32px);\\n margin: 0;\\n padding: 0;\\n transform: scale(1);\\n transform-origin: top left;\\n opacity: 0;\\n overflow: auto;\\n will-change: transform, opacity;\\n z-index: 8;\\n transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);\\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\\n background-color: #ffffff;\\n /* @alternate */\\n background-color: var(--mdc-theme-surface, #ffffff);\\n color: #000000;\\n /* @alternate */\\n color: var(--mdc-theme-on-surface, #000000);\\n border-radius: 4px;\\n /* @noflip */\\n transform-origin-left: top left;\\n /* @noflip */\\n transform-origin-right: top right; }\\n .mdc-menu-surface:focus {\\n outline: none; }\\n .mdc-menu-surface--open {\\n display: inline-block;\\n transform: scale(1);\\n opacity: 1; }\\n .mdc-menu-surface--animating-open {\\n display: inline-block;\\n transform: scale(0.8);\\n opacity: 0; }\\n .mdc-menu-surface--animating-closed {\\n display: inline-block;\\n opacity: 0;\\n transition: opacity 0.075s linear; }\\n [dir=\\\"rtl\\\"] .mdc-menu-surface, .mdc-menu-surface[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n transform-origin-left: top right;\\n /* @noflip */\\n transform-origin-right: top left; }\\n\\n.mdc-menu-surface--anchor {\\n position: relative;\\n overflow: visible; }\\n\\n.mdc-menu-surface--fixed {\\n position: fixed; }\\n\\n.mdc-menu {\\n min-width: 112px; }\\n .mdc-menu .mdc-list-item__meta {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list-item__graphic {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list-divider {\\n margin: 8px 0; }\\n .mdc-menu .mdc-list-item {\\n user-select: none; }\\n .mdc-menu .mdc-list-item--disabled {\\n cursor: auto; }\\n .mdc-menu a.mdc-list-item .mdc-list-item__text,\\n .mdc-menu a.mdc-list-item .mdc-list-item__graphic {\\n pointer-events: none; }\\n\\n.mdc-menu__selection-group {\\n padding: 0;\\n fill: currentColor; }\\n .mdc-menu__selection-group .mdc-list-item {\\n /* @noflip */\\n padding-left: 56px;\\n /* @noflip */\\n padding-right: 16px; }\\n [dir=\\\"rtl\\\"] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n padding-left: 16px;\\n /* @noflip */\\n padding-right: 56px; }\\n .mdc-menu__selection-group .mdc-menu__selection-group-icon {\\n /* @noflip */\\n left: 16px;\\n /* @noflip */\\n right: initial;\\n display: none;\\n position: absolute; }\\n [dir=\\\"rtl\\\"] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n left: initial;\\n /* @noflip */\\n right: 16px; }\\n\\n.mdc-menu-item--selected .mdc-menu__selection-group-icon {\\n display: inline; }\\n\\n:host {\\n display: inline-block; }\\n\", \"\"]);\n\n// exports\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\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\nexport function __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\nexport var __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\nexport function __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\nexport function __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\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __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\nexport function __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\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __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\nexport function __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\nexport function __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\nexport function __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\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __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\nexport function __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\nexport function __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\nexport function __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\nexport function __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\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","\n var result = require(\"!!../../node_modules/_css-loader@1.0.1@css-loader/index.js!../../node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./index.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n ","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar omi_1 = require(\"omi\");\nvar css = require(\"./index.scss\");\nvar menu_1 = require(\"@material/menu\");\n//@ts-ignore\nrequire(\"../theme.ts\");\nvar Menu = /** @class */ (function (_super) {\n __extends(Menu, _super);\n function Menu() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.menu = null;\n return _this;\n }\n Menu.prototype.installed = function () {\n var _this = this;\n var menu = new menu_1.MDCMenu(this.shadowRoot.querySelector('.mdc-menu'));\n menu.open = this.props.show;\n menu.listen('MDCMenu:selected', function (evt) {\n _this.fire('selected', evt.detail);\n });\n this.menu = menu;\n };\n Menu.prototype.toggle = function () {\n console.log(11);\n this.menu.open = !this.menu.open;\n };\n Menu.prototype.open = function () {\n this.menu.open = true;\n };\n Menu.prototype.close = function () {\n this.menu.open = false;\n };\n Menu.prototype.install = function () {\n };\n Menu.prototype.receiveProps = function () {\n this.menu.open = this.props.show;\n };\n Menu.prototype.render = function (props) {\n if (props.anchor) {\n return (omi_1.h(\"div\", { class: 'mdc-menu-surface--anchor' },\n omi_1.h(\"div\", __assign({}, omi_1.extractClass(props, 'mdc-menu mdc-menu-surface'), { tabIndex: -1 }),\n omi_1.h(\"ul\", { class: \"mdc-list\", role: \"menu\", \"aria-hidden\": \"true\", \"aria-orientation\": \"vertical\" }, props.list.map(function (item) { return omi_1.h(\"li\", { class: \"mdc-list-item\", role: \"menuitem\" },\n omi_1.h(\"span\", { class: omi_1.classNames('mdc-list-item__text', {\n 'mdc-list-item--disabled': item.disabled\n }) }, item.text)); })))));\n }\n return (omi_1.h(\"div\", __assign({}, omi_1.extractClass(props, 'mdc-menu mdc-menu-surface'), { tabIndex: -1 }),\n omi_1.h(\"ul\", { class: \"mdc-list\", role: \"menu\", \"aria-hidden\": \"true\", \"aria-orientation\": \"vertical\" }, props.list.map(function (item) { return omi_1.h(\"li\", { class: \"mdc-list-item\", role: \"menuitem\" },\n omi_1.h(\"span\", { class: omi_1.classNames('mdc-list-item__text', {\n 'mdc-list-item--disabled': item.disabled\n }) }, item.text)); }))));\n };\n Menu.css = css;\n Menu.defaultProps = {};\n Menu.propTypes = {\n list: Object,\n show: Boolean,\n anchor: Boolean\n };\n Menu = __decorate([\n omi_1.tag('m-menu')\n ], Menu);\n return Menu;\n}(omi_1.WeElement));\nexports.default = Menu;\n","theme();\ndocument.addEventListener('DOMContentLoaded', function () {\n theme();\n});\nfunction theme() {\n if (document.body && !document.body.style.getPropertyValue('--mdc-theme-primary')) {\n document.body.style.setProperty('--mdc-theme-primary', '#0072d9');\n document.body.style.setProperty('--mdc-theme-secondary', '#2170b8');\n document.body.style.setProperty('--mdc-theme-error', '#f5222d');\n document.body.style.setProperty('--mdc-theme-surface', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-primary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-secondary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-error', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-surface', '#000000');\n document.body.style.setProperty('--mdc-theme-background', '#ffffff');\n document.body.style.setProperty('--mdc-shape-small-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-medium-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-large-component-radius', '0px');\n document.body.style.setProperty('--mdc-typography--font-family', 'Roboto, sans-serif');\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_omi__;"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://MMenu/webpack/universalModuleDefinition","webpack://MMenu/webpack/bootstrap","webpack://MMenu/./src/menu/index.scss","webpack://MMenu/./node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js","webpack://MMenu/./src/menu/index.scss?1cb6","webpack://MMenu/./src/menu/index.tsx","webpack://MMenu/./src/theme.ts","webpack://MMenu/external {\"commonjs\":\"omi\",\"commonjs2\":\"omi\",\"amd\":\"omi\",\"root\":\"Omi\"}"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,2BAA2B,mBAAO,CAAC,oIAAiE;AACpG;;;AAGA;AACA,cAAc,QAAS,cAAc,oCAAoC,uCAAuC,wCAAwC,oBAAoB,yBAAyB,qBAAqB,8BAA8B,6BAA6B,4BAA4B,4CAA4C,cAAc,mBAAmB,0BAA0B,+BAA+B,gGAAgG,EAAE,qBAAqB,oBAAoB,EAAE,oCAAoC,+BAA+B,kGAAkG,EAAE,6BAA6B,kCAAkC,EAAE,6BAA6B,+BAA+B,6FAA6F,EAAE,0BAA0B,+BAA+B,6FAA6F,EAAE,gCAAgC,+BAA+B,gGAAgG,EAAE,sBAAsB,qBAAqB,wBAAwB,uBAAuB,EAAE,oBAAoB,kBAAkB,uBAAuB,wBAAwB,gCAAgC,iBAAiB,oBAAoB,qBAAqB,EAAE,0BAA0B,oBAAoB,EAAE,0DAA0D,mBAAmB,iEAAiE,EAAE,4GAA4G,qBAAqB,qEAAqE,EAAE,8BAA8B,+BAA+B,iGAAiG,EAAE,6BAA6B,oCAAoC,wCAAwC,gBAAgB,iBAAiB,mBAAmB,wBAAwB,4BAA4B,uBAAuB,EAAE,kHAAkH,2CAA2C,yCAAyC,EAAE,uCAAuC,yBAAyB,EAAE,0BAA0B,uCAAuC,qCAAqC,EAAE,+CAA+C,sCAAsC,yCAAyC,0CAA0C,yBAAyB,2BAA2B,uBAAuB,gCAAgC,+BAA+B,8BAA8B,EAAE,4GAA4G,wCAAwC,4CAA4C,EAAE,0BAA0B,4BAA4B,wBAAwB,qBAAqB,EAAE,+BAA+B,yBAAyB,EAAE,kCAAkC,4BAA4B,wBAAwB,qBAAqB,mBAAmB,kBAAkB,4CAA4C,yBAAyB,mBAAmB,EAAE,0CAA0C,4BAA4B,eAAe,mBAAmB,oBAAoB,wBAAwB,EAAE,yCAAyC,4BAA4B,eAAe,mBAAmB,oBAAoB,4BAA4B,EAAE,mDAAmD,qBAAqB,oBAAoB,gDAAgD,2BAA2B,EAAE,6DAA6D,8BAA8B,iBAAiB,qBAAqB,sBAAsB,0BAA0B,EAAE,4DAA4D,8BAA8B,iBAAiB,qBAAqB,sBAAsB,8BAA8B,EAAE,oCAAoC,oCAAoC,uCAAuC,wCAAwC,wBAAwB,yBAAyB,qBAAqB,8BAA8B,6BAA6B,4BAA4B,4BAA4B,wBAAwB,qBAAqB,mBAAmB,kBAAkB,4CAA4C,mBAAmB,EAAE,4CAA4C,4BAA4B,eAAe,mBAAmB,oBAAoB,wBAAwB,EAAE,qDAAqD,qBAAqB,oBAAoB,gDAAgD,yBAAyB,EAAE,+DAA+D,8BAA8B,iBAAiB,qBAAqB,sBAAsB,0BAA0B,EAAE,qCAAqC,iBAAiB,EAAE,8CAA8C,oCAAoC,wCAAwC,gBAAgB,iBAAiB,EAAE,oJAAoJ,2CAA2C,yCAAyC,EAAE,2CAA2C,iBAAiB,EAAE,oDAAoD,oCAAoC,wCAAwC,gBAAgB,iBAAiB,uBAAuB,EAAE,gKAAgK,2CAA2C,yCAAyC,EAAE,8CAA8C,2BAA2B,EAAE,wCAAwC,iBAAiB,EAAE,gHAAgH,iBAAiB,EAAE,oEAAoE,oCAAoC,wCAAwC,gBAAgB,iBAAiB,EAAE,gMAAgM,2CAA2C,yCAAyC,EAAE,qFAAqF,oBAAoB,EAAE,qBAAqB,mBAAmB,0BAA0B,EAAE,uBAAuB,cAAc,cAAc,iBAAiB,6BAA6B,+BAA+B,EAAE,uBAAuB,6CAA6C,EAAE,+BAA+B,mBAAmB,EAAE,8BAA8B,uCAAuC,qCAAqC,6BAA6B,EAAE,sHAAsH,wCAAwC,4CAA4C,EAAE,uDAAuD,oCAAoC,EAAE,+BAA+B,eAAe,EAAE,gCAAgC,oCAAoC,uCAAuC,wCAAwC,oBAAoB,yBAAyB,qBAAqB,8BAA8B,6BAA6B,4BAA4B,yBAAyB,EAAE,wCAAwC,UAAU,8DAA8D,6EAA6E,EAAE,QAAQ,uGAAuG,EAAE,EAAE,yCAAyC,UAAU,wCAAwC,iBAAiB,EAAE,QAAQ,+CAA+C,EAAE,EAAE,0CAA0C,UAAU,wCAAwC,+CAA+C,EAAE,QAAQ,iBAAiB,EAAE,EAAE,4CAA4C,uDAAuD,uBAAuB,EAAE,oDAAoD,sDAAsD,EAAE,qFAAqF,4BAA4B,yBAAyB,wBAAwB,6BAA6B,qCAAqC,uCAAuC,kDAAkD,EAAE,qLAAqL,yBAAyB,yBAAyB,iBAAiB,2BAA2B,oBAAoB,EAAE,6FAA6F,oEAAoE,iBAAiB,EAAE,iHAAiH,sDAAsD,EAAE,gHAAgH,aAAa,iCAAiC,0BAA0B,sCAAsC,EAAE,2HAA2H,oCAAoC,yDAAyD,EAAE,uIAAuI,gGAAgG,EAAE,yIAAyI,iDAAiD,uGAAuG,EAAE,qLAAqL,4BAA4B,gDAAgD,kBAAkB,mBAAmB,EAAE,gHAAgH,6CAA6C,8CAA8C,EAAE,qLAAqL,gCAAgC,EAAE,mGAAmG,oBAAoB,EAAE,8PAA8P,gCAAgC,oBAAoB,EAAE,sHAAsH,uCAAuC,EAAE,6HAA6H,gCAAgC,oBAAoB,EAAE,yGAAyG,oCAAoC,EAAE,wGAAwG,oBAAoB,EAAE,2MAA2M,gCAAgC,EAAE,2CAA2C,+MAA+M,wFAAwF,EAAE,EAAE,8GAA8G,oBAAoB,EAAE,oRAAoR,gCAAgC,oBAAoB,EAAE,iIAAiI,uCAAuC,EAAE,wIAAwI,gCAAgC,oBAAoB,EAAE,oHAAoH,oCAAoC,EAAE,uGAAuG,oBAAoB,EAAE,yMAAyM,gCAAgC,EAAE,2CAA2C,6MAA6M,wFAAwF,EAAE,EAAE,6GAA6G,oBAAoB,EAAE,kRAAkR,gCAAgC,mBAAmB,EAAE,gIAAgI,uCAAuC,EAAE,uIAAuI,gCAAgC,mBAAmB,EAAE,mHAAmH,mCAAmC,EAAE,iEAAiE,4BAA4B,yBAAyB,wBAAwB,6BAA6B,qCAAqC,uCAAuC,kDAAkD,EAAE,6IAA6I,yBAAyB,yBAAyB,iBAAiB,2BAA2B,oBAAoB,EAAE,yEAAyE,oEAAoE,iBAAiB,EAAE,6FAA6F,sDAAsD,EAAE,4FAA4F,aAAa,iCAAiC,0BAA0B,sCAAsC,EAAE,uGAAuG,oCAAoC,yDAAyD,EAAE,mHAAmH,gGAAgG,EAAE,qHAAqH,iDAAiD,uGAAuG,EAAE,6IAA6I,4BAA4B,gDAAgD,kBAAkB,mBAAmB,EAAE,4FAA4F,6CAA6C,8CAA8C,EAAE,6IAA6I,gCAAgC,EAAE,sNAAsN,gCAAgC,oBAAoB,EAAE,uBAAuB,kBAAkB,uBAAuB,2BAA2B,kCAAkC,mCAAmC,cAAc,eAAe,wBAAwB,+BAA+B,eAAe,mBAAmB,oCAAoC,eAAe,iFAAiF,gIAAgI,8BAA8B,4EAA4E,mBAAmB,oEAAoE,uBAAuB,qDAAqD,uDAAuD,EAAE,6BAA6B,oBAAoB,EAAE,6BAA6B,4BAA4B,0BAA0B,iBAAiB,EAAE,uCAAuC,4BAA4B,4BAA4B,iBAAiB,EAAE,yCAAyC,4BAA4B,iBAAiB,wCAAwC,EAAE,qEAAqE,0DAA0D,0DAA0D,EAAE,+BAA+B,uBAAuB,sBAAsB,EAAE,8BAA8B,oBAAoB,EAAE,eAAe,qBAAqB,EAAE,oCAAoC,iCAAiC,EAAE,uCAAuC,iCAAiC,EAAE,yBAAyB,iCAAiC,EAAE,iCAAiC,oBAAoB,EAAE,8BAA8B,wBAAwB,EAAE,wCAAwC,mBAAmB,EAAE,0GAA0G,2BAA2B,EAAE,gCAAgC,eAAe,uBAAuB,EAAE,+CAA+C,4CAA4C,6CAA6C,EAAE,uHAAuH,gDAAgD,iDAAiD,EAAE,gEAAgE,oCAAoC,wCAAwC,oBAAoB,yBAAyB,EAAE,yJAAyJ,2CAA2C,yCAAyC,EAAE,8DAA8D,oBAAoB,EAAE,WAAW,0BAA0B,EAAE,uBAAuB,oBAAoB,eAAe,mBAAmB,EAAE;;AAE17qB;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;;;;;;AC1EA,qBAAqB,mBAAO,CAAC,6ZAA4N;;AAEzP;AACA;AACA,SAAS;AACT;AACA;;;;;;;;;;;;;ACPa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D,YAAY,mBAAO,CAAC,gBAAK;AACzB,UAAU,mBAAO,CAAC,2CAAc;AAChC;AACA,mBAAO,CAAC,mCAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,2DAA2D,eAAe;AACpH,2BAA2B,yFAAyF,kCAAkC,uBAAuB,wBAAwB,iCAAiC,EAAE,4CAA4C;AACpR,iCAAiC;AACjC;AACA,qBAAqB,GAAG,cAAc,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;;;;;ACjEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpBA,iD","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"omi\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"omi\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MMenu\"] = factory(require(\"omi\"));\n\telse\n\t\troot[\"MMenu\"] = factory(root[\"Omi\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_omi__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/menu/index.tsx\");\n","exports = module.exports = require(\"../../node_modules/_css-loader@1.0.1@css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".mdc-list {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 1rem;\\n line-height: 1.75rem;\\n font-weight: 400;\\n letter-spacing: 0.00937em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n /* @alternate */\\n line-height: 1.5rem;\\n margin: 0;\\n padding: 8px 0;\\n list-style-type: none;\\n color: rgba(0, 0, 0, 0.87);\\n /* @alternate */\\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\\n .mdc-list:focus {\\n outline: none; }\\n\\n.mdc-list-item__secondary-text {\\n color: rgba(0, 0, 0, 0.54);\\n /* @alternate */\\n color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)); }\\n\\n.mdc-list-item__graphic {\\n background-color: transparent; }\\n\\n.mdc-list-item__graphic {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-item__meta {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-group__subheader {\\n color: rgba(0, 0, 0, 0.87);\\n /* @alternate */\\n color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)); }\\n\\n.mdc-list--dense {\\n padding-top: 4px;\\n padding-bottom: 4px;\\n font-size: .812rem; }\\n\\n.mdc-list-item {\\n display: flex;\\n position: relative;\\n align-items: center;\\n justify-content: flex-start;\\n height: 48px;\\n padding: 0 16px;\\n overflow: hidden; }\\n .mdc-list-item:focus {\\n outline: none; }\\n\\n.mdc-list-item--selected,\\n.mdc-list-item--activated {\\n color: #0072d9;\\n /* @alternate */\\n color: var(--mdc-theme-primary, #0072d9); }\\n .mdc-list-item--selected .mdc-list-item__graphic,\\n .mdc-list-item--activated .mdc-list-item__graphic {\\n color: #0072d9;\\n /* @alternate */\\n color: var(--mdc-theme-primary, #0072d9); }\\n\\n.mdc-list-item--disabled {\\n color: rgba(0, 0, 0, 0.38);\\n /* @alternate */\\n color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)); }\\n\\n.mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 32px;\\n width: 24px;\\n height: 24px;\\n flex-shrink: 0;\\n align-items: center;\\n justify-content: center;\\n fill: currentColor; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 32px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list .mdc-list-item__graphic {\\n display: inline-flex; }\\n\\n.mdc-list-item__meta {\\n /* @noflip */\\n margin-left: auto;\\n /* @noflip */\\n margin-right: 0; }\\n .mdc-list-item__meta:not(.material-icons) {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 0.75rem;\\n line-height: 1.25rem;\\n font-weight: 400;\\n letter-spacing: 0.03333em;\\n text-decoration: inherit;\\n text-transform: inherit; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list-item__meta,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list-item__meta {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: auto; }\\n\\n.mdc-list-item__text {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden; }\\n\\n.mdc-list-item__text[for] {\\n pointer-events: none; }\\n\\n.mdc-list-item__primary-text {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n margin-bottom: -20px;\\n display: block; }\\n .mdc-list-item__primary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 32px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list-item__primary-text::after {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: -20px; }\\n .mdc-list--dense .mdc-list-item__primary-text {\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n margin-bottom: -20px; }\\n .mdc-list--dense .mdc-list-item__primary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 24px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list--dense .mdc-list-item__primary-text::after {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: -20px; }\\n\\n.mdc-list-item__secondary-text {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n font-weight: 400;\\n letter-spacing: 0.01786em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n display: block; }\\n .mdc-list-item__secondary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n .mdc-list--dense .mdc-list-item__secondary-text {\\n display: block;\\n margin-top: 0;\\n /* @alternate */\\n line-height: normal;\\n font-size: inherit; }\\n .mdc-list--dense .mdc-list-item__secondary-text::before {\\n display: inline-block;\\n width: 0;\\n height: 20px;\\n content: \\\"\\\";\\n vertical-align: 0; }\\n\\n.mdc-list--dense .mdc-list-item {\\n height: 40px; }\\n\\n.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 36px;\\n width: 20px;\\n height: 20px; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--dense .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 36px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list--avatar-list .mdc-list-item {\\n height: 56px; }\\n\\n.mdc-list--avatar-list .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 16px;\\n width: 40px;\\n height: 40px;\\n border-radius: 50%; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--avatar-list .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 16px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n.mdc-list--two-line .mdc-list-item__text {\\n align-self: flex-start; }\\n\\n.mdc-list--two-line .mdc-list-item {\\n height: 72px; }\\n\\n.mdc-list--two-line.mdc-list--dense .mdc-list-item,\\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {\\n height: 60px; }\\n\\n.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 20px;\\n width: 36px;\\n height: 36px; }\\n .mdc-list-item[dir=\\\"rtl\\\"] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic,\\n [dir=\\\"rtl\\\"] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\\n /* @noflip */\\n margin-left: 20px;\\n /* @noflip */\\n margin-right: 0; }\\n\\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\\n cursor: pointer; }\\n\\na.mdc-list-item {\\n color: inherit;\\n text-decoration: none; }\\n\\n.mdc-list-divider {\\n height: 0;\\n margin: 0;\\n border: none;\\n border-bottom-width: 1px;\\n border-bottom-style: solid; }\\n\\n.mdc-list-divider {\\n border-bottom-color: rgba(0, 0, 0, 0.12); }\\n\\n.mdc-list-divider--padded {\\n margin: 0 16px; }\\n\\n.mdc-list-divider--inset {\\n /* @noflip */\\n margin-left: 72px;\\n /* @noflip */\\n margin-right: 0;\\n width: calc(100% - 72px); }\\n .mdc-list-group[dir=\\\"rtl\\\"] .mdc-list-divider--inset,\\n [dir=\\\"rtl\\\"] .mdc-list-group .mdc-list-divider--inset {\\n /* @noflip */\\n margin-left: 0;\\n /* @noflip */\\n margin-right: 72px; }\\n\\n.mdc-list-divider--inset.mdc-list-divider--padded {\\n width: calc(100% - 72px - 16px); }\\n\\n.mdc-list-group .mdc-list {\\n padding: 0; }\\n\\n.mdc-list-group__subheader {\\n font-family: Roboto, sans-serif;\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n font-size: 1rem;\\n line-height: 1.75rem;\\n font-weight: 400;\\n letter-spacing: 0.00937em;\\n text-decoration: inherit;\\n text-transform: inherit;\\n margin: 0.75rem 16px; }\\n\\n@keyframes mdc-ripple-fg-radius-in {\\n from {\\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1); }\\n to {\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); } }\\n\\n@keyframes mdc-ripple-fg-opacity-in {\\n from {\\n animation-timing-function: linear;\\n opacity: 0; }\\n to {\\n opacity: var(--mdc-ripple-fg-opacity, 0); } }\\n\\n@keyframes mdc-ripple-fg-opacity-out {\\n from {\\n animation-timing-function: linear;\\n opacity: var(--mdc-ripple-fg-opacity, 0); }\\n to {\\n opacity: 0; } }\\n\\n.mdc-ripple-surface--test-edge-var-bug {\\n --mdc-ripple-surface-test-edge-var: 1px solid #000;\\n visibility: hidden; }\\n .mdc-ripple-surface--test-edge-var-bug::before {\\n border: var(--mdc-ripple-surface-test-edge-var); }\\n\\n:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\\n --mdc-ripple-fg-size: 0;\\n --mdc-ripple-left: 0;\\n --mdc-ripple-top: 0;\\n --mdc-ripple-fg-scale: 1;\\n --mdc-ripple-fg-translate-end: 0;\\n --mdc-ripple-fg-translate-start: 0;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n position: absolute;\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n content: \\\"\\\"; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {\\n transition: opacity 15ms linear, background-color 15ms linear;\\n z-index: 1; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {\\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\\n top: 0;\\n /* @noflip */\\n left: 0;\\n transform: scale(0);\\n transform-origin: center center; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {\\n top: var(--mdc-ripple-top, 0);\\n /* @noflip */\\n left: var(--mdc-ripple-left, 0); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {\\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {\\n animation: mdc-ripple-fg-opacity-out 150ms;\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n top: calc(50% - 100%);\\n /* @noflip */\\n left: calc(50% - 100%);\\n width: 200%;\\n height: 200%; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {\\n width: var(--mdc-ripple-fg-size, 100%);\\n height: var(--mdc-ripple-fg-size, 100%); }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {\\n background-color: #000000; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {\\n opacity: 0.04; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {\\n opacity: 0.16; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.24; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {\\n opacity: 0.08; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\\n background-color: #0072d9; }\\n @supports not (-ms-ime-align: auto) {\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {\\n /* @alternate */\\n background-color: var(--mdc-theme-primary, #0072d9); } }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {\\n opacity: 0.12; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.2; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {\\n transition: opacity 150ms linear; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {\\n transition-duration: 75ms;\\n opacity: 0.2; }\\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {\\n --mdc-ripple-fg-opacity: 0.2; }\\n\\n:not(.mdc-list--non-interactive) > .mdc-list-item--disabled {\\n --mdc-ripple-fg-size: 0;\\n --mdc-ripple-left: 0;\\n --mdc-ripple-top: 0;\\n --mdc-ripple-fg-scale: 1;\\n --mdc-ripple-fg-translate-end: 0;\\n --mdc-ripple-fg-translate-start: 0;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n position: absolute;\\n border-radius: 50%;\\n opacity: 0;\\n pointer-events: none;\\n content: \\\"\\\"; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before {\\n transition: opacity 15ms linear, background-color 15ms linear;\\n z-index: 1; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::before {\\n transform: scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\\n top: 0;\\n /* @noflip */\\n left: 0;\\n transform: scale(0);\\n transform-origin: center center; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after {\\n top: var(--mdc-ripple-top, 0);\\n /* @noflip */\\n left: var(--mdc-ripple-left, 0); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after {\\n animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after {\\n animation: mdc-ripple-fg-opacity-out 150ms;\\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1)); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n top: calc(50% - 100%);\\n /* @noflip */\\n left: calc(50% - 100%);\\n width: 200%;\\n height: 200%; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {\\n width: var(--mdc-ripple-fg-size, 100%);\\n height: var(--mdc-ripple-fg-size, 100%); }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {\\n background-color: #000000; }\\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before {\\n transition-duration: 75ms;\\n opacity: 0.12; }\\n\\n.mdc-menu-surface {\\n display: none;\\n position: absolute;\\n box-sizing: border-box;\\n max-width: calc(100vw - 32px);\\n max-height: calc(100vh - 32px);\\n margin: 0;\\n padding: 0;\\n transform: scale(1);\\n transform-origin: top left;\\n opacity: 0;\\n overflow: auto;\\n will-change: transform, opacity;\\n z-index: 8;\\n transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);\\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\\n background-color: #ffffff;\\n /* @alternate */\\n background-color: var(--mdc-theme-surface, #ffffff);\\n color: #000000;\\n /* @alternate */\\n color: var(--mdc-theme-on-surface, #000000);\\n border-radius: 4px;\\n /* @noflip */\\n transform-origin-left: top left;\\n /* @noflip */\\n transform-origin-right: top right; }\\n .mdc-menu-surface:focus {\\n outline: none; }\\n .mdc-menu-surface--open {\\n display: inline-block;\\n transform: scale(1);\\n opacity: 1; }\\n .mdc-menu-surface--animating-open {\\n display: inline-block;\\n transform: scale(0.8);\\n opacity: 0; }\\n .mdc-menu-surface--animating-closed {\\n display: inline-block;\\n opacity: 0;\\n transition: opacity 0.075s linear; }\\n [dir=\\\"rtl\\\"] .mdc-menu-surface, .mdc-menu-surface[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n transform-origin-left: top right;\\n /* @noflip */\\n transform-origin-right: top left; }\\n\\n.mdc-menu-surface--anchor {\\n position: relative;\\n overflow: visible; }\\n\\n.mdc-menu-surface--fixed {\\n position: fixed; }\\n\\n.mdc-menu {\\n min-width: 112px; }\\n .mdc-menu .mdc-list-item__meta {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list-item__graphic {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list {\\n color: rgba(0, 0, 0, 0.87); }\\n .mdc-menu .mdc-list-divider {\\n margin: 8px 0; }\\n .mdc-menu .mdc-list-item {\\n user-select: none; }\\n .mdc-menu .mdc-list-item--disabled {\\n cursor: auto; }\\n .mdc-menu a.mdc-list-item .mdc-list-item__text,\\n .mdc-menu a.mdc-list-item .mdc-list-item__graphic {\\n pointer-events: none; }\\n\\n.mdc-menu__selection-group {\\n padding: 0;\\n fill: currentColor; }\\n .mdc-menu__selection-group .mdc-list-item {\\n /* @noflip */\\n padding-left: 56px;\\n /* @noflip */\\n padding-right: 16px; }\\n [dir=\\\"rtl\\\"] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n padding-left: 16px;\\n /* @noflip */\\n padding-right: 56px; }\\n .mdc-menu__selection-group .mdc-menu__selection-group-icon {\\n /* @noflip */\\n left: 16px;\\n /* @noflip */\\n right: initial;\\n display: none;\\n position: absolute; }\\n [dir=\\\"rtl\\\"] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=\\\"rtl\\\"] {\\n /* @noflip */\\n left: initial;\\n /* @noflip */\\n right: 16px; }\\n\\n.mdc-menu-item--selected .mdc-menu__selection-group-icon {\\n display: inline; }\\n\\n:host {\\n display: inline-block; }\\n\\n.mdc-menu-surface {\\n position: unset;\\n opacity: 1;\\n display: block; }\\n\", \"\"]);\n\n// exports\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","\n var result = require(\"!!../../node_modules/_css-loader@1.0.1@css-loader/index.js!../../node_modules/_resolve-url-loader@3.1.0@resolve-url-loader/index.js!../../node_modules/_sass-loader@7.1.0@sass-loader/lib/loader.js??ref--4-3!./index.scss\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n ","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar omi_1 = require(\"omi\");\nvar css = require(\"./index.scss\");\n//@ts-ignore\nrequire(\"../theme.ts\");\nvar Menu = /** @class */ (function (_super) {\n __extends(Menu, _super);\n function Menu() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.clickHandler = function (item) {\n if (!item.disabled) {\n _this.fire('selected', item);\n }\n };\n return _this;\n }\n Menu.prototype.render = function (props) {\n var _this = this;\n return (omi_1.h(\"div\", __assign({}, omi_1.extractClass(props, 'mdc-menu mdc-menu-surface'), { tabIndex: -1 }),\n omi_1.h(\"ul\", { class: \"mdc-list\", role: \"menu\", \"aria-hidden\": \"true\", \"aria-orientation\": \"vertical\" }, props.list.map(function (item) { return omi_1.h(\"li\", { onClick: function (_) { return _this.clickHandler(item); }, class: \"mdc-list-item\", role: \"menuitem\" },\n omi_1.h(\"span\", { class: omi_1.classNames('mdc-list-item__text', {\n 'mdc-list-item--disabled': item.disabled\n }) }, item.text)); }))));\n };\n Menu.css = css;\n Menu.defaultProps = {};\n Menu.propTypes = {\n list: Object\n };\n Menu = __decorate([\n omi_1.tag('m-menu')\n ], Menu);\n return Menu;\n}(omi_1.WeElement));\nexports.default = Menu;\n","theme();\ndocument.addEventListener('DOMContentLoaded', function () {\n theme();\n});\nfunction theme() {\n if (document.body && !document.body.style.getPropertyValue('--mdc-theme-primary')) {\n document.body.style.setProperty('--mdc-theme-primary', '#0072d9');\n document.body.style.setProperty('--mdc-theme-secondary', '#2170b8');\n document.body.style.setProperty('--mdc-theme-error', '#f5222d');\n document.body.style.setProperty('--mdc-theme-surface', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-primary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-secondary', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-error', '#ffffff');\n document.body.style.setProperty('--mdc-theme-on-surface', '#000000');\n document.body.style.setProperty('--mdc-theme-background', '#ffffff');\n document.body.style.setProperty('--mdc-shape-small-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-medium-component-radius', '4px');\n document.body.style.setProperty('--mdc-shape-large-component-radius', '0px');\n document.body.style.setProperty('--mdc-typography--font-family', 'Roboto, sans-serif');\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_omi__;"],"sourceRoot":""} \ No newline at end of file diff --git a/packages/omim/src/menu/index.scss b/packages/omim/src/menu/index.scss index 827917c10..8cc3fde99 100644 --- a/packages/omim/src/menu/index.scss +++ b/packages/omim/src/menu/index.scss @@ -5,4 +5,10 @@ :host { display: inline-block; +} + +.mdc-menu-surface{ + position: unset; + opacity: 1; + display: block; } \ No newline at end of file diff --git a/packages/omim/src/menu/index.tsx b/packages/omim/src/menu/index.tsx index 290210eca..bfc1f2f2a 100644 --- a/packages/omim/src/menu/index.tsx +++ b/packages/omim/src/menu/index.tsx @@ -1,16 +1,11 @@ import { tag, WeElement, h, extractClass, classNames } from 'omi' import * as css from './index.scss' -import { MDCMenu } from '@material/menu'; -// @ts-ignore -import { extract, htmlToVdom } from '../util.ts' //@ts-ignore import '../theme.ts' interface Props { - show?: boolean, - list: object, - anchor: boolean + list: object } interface Data { @@ -27,66 +22,20 @@ export default class Menu extends WeElement{ } static propTypes = { - list: Object, - show: Boolean, - anchor: Boolean + list: Object } - menu: MDCMenu = null - - installed() { - const menu = new MDCMenu(this.shadowRoot.querySelector('.mdc-menu')) - menu.open = this.props.show - - menu.listen('MDCMenu:selected', (evt: CustomEvent) => { - this.fire('selected', evt.detail) - }); - this.menu = menu - } - - toggle() { - console.log(11) - this.menu.open = !this.menu.open - } - - open() { - this.menu.open = true - } - - close() { - this.menu.open = false - } - - install() { - - } - - receiveProps() { - this.menu.open = this.props.show + clickHandler = (item)=>{ + if(!item.disabled){ + this.fire('selected', item) + } } render(props) { - if (props.anchor) { - return ( -
-
- -
-
- - ) - } return (