{"version":3,"file":"npm.material.js","mappings":"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","sources":["webpack://npmjs/./node_modules/@material/animation/util.js","webpack://npmjs/./node_modules/@material/base/component.js","webpack://npmjs/./node_modules/@material/base/foundation.js","webpack://npmjs/./node_modules/@material/checkbox/constants.js","webpack://npmjs/./node_modules/@material/checkbox/foundation.js","webpack://npmjs/./node_modules/@material/checkbox/component.js","webpack://npmjs/./node_modules/@material/linear-progress/constants.js","webpack://npmjs/./node_modules/@material/linear-progress/foundation.js","webpack://npmjs/./node_modules/@material/linear-progress/component.js","webpack://npmjs/./node_modules/@material/data-table/constants.js","webpack://npmjs/./node_modules/@material/data-table/foundation.js","webpack://npmjs/./node_modules/@material/data-table/component.js","webpack://npmjs/./node_modules/@material/dialog/foundation.js","webpack://npmjs/./node_modules/@material/animation/animationframe.js","webpack://npmjs/./node_modules/@material/dialog/constants.js","webpack://npmjs/./node_modules/@material/dialog/component.js","webpack://npmjs/./node_modules/@material/dialog/util.js","webpack://npmjs/./node_modules/@material/dom/events.js","webpack://npmjs/./node_modules/@material/dom/focus-trap.js","webpack://npmjs/./node_modules/@material/dom/keyboard.js","webpack://npmjs/./node_modules/@material/dom/ponyfill.js","webpack://npmjs/./node_modules/@material/drawer/constants.js","webpack://npmjs/./node_modules/@material/drawer/dismissible/foundation.js","webpack://npmjs/./node_modules/@material/drawer/modal/foundation.js","webpack://npmjs/./node_modules/@material/drawer/component.js","webpack://npmjs/./node_modules/@material/drawer/util.js","webpack://npmjs/./node_modules/@material/floating-label/component.js","webpack://npmjs/./node_modules/@material/floating-label/constants.js","webpack://npmjs/./node_modules/@material/floating-label/foundation.js","webpack://npmjs/./node_modules/@material/form-field/constants.js","webpack://npmjs/./node_modules/@material/form-field/foundation.js","webpack://npmjs/./node_modules/@material/form-field/component.js","webpack://npmjs/./node_modules/@material/line-ripple/constants.js","webpack://npmjs/./node_modules/@material/line-ripple/foundation.js","webpack://npmjs/./node_modules/@material/line-ripple/component.js","webpack://npmjs/./node_modules/@material/list/component.js","webpack://npmjs/./node_modules/@material/list/constants.js","webpack://npmjs/./node_modules/@material/list/events.js","webpack://npmjs/./node_modules/@material/list/typeahead.js","webpack://npmjs/./node_modules/@material/list/foundation.js","webpack://npmjs/./node_modules/@material/menu-surface/component.js","webpack://npmjs/./node_modules/@material/menu-surface/constants.js","webpack://npmjs/./node_modules/@material/menu-surface/foundation.js","webpack://npmjs/./node_modules/@material/menu/foundation.js","webpack://npmjs/./node_modules/@material/menu/component.js","webpack://npmjs/./node_modules/@material/menu/constants.js","webpack://npmjs/./node_modules/@material/notched-outline/constants.js","webpack://npmjs/./node_modules/@material/notched-outline/foundation.js","webpack://npmjs/./node_modules/@material/notched-outline/component.js","webpack://npmjs/./node_modules/@material/radio/constants.js","webpack://npmjs/./node_modules/@material/radio/foundation.js","webpack://npmjs/./node_modules/@material/radio/component.js","webpack://npmjs/./node_modules/@material/ripple/component.js","webpack://npmjs/./node_modules/@material/ripple/constants.js","webpack://npmjs/./node_modules/@material/ripple/foundation.js","webpack://npmjs/./node_modules/@material/ripple/util.js","webpack://npmjs/./node_modules/@material/select/constants.js","webpack://npmjs/./node_modules/@material/select/foundation.js","webpack://npmjs/./node_modules/@material/select/helper-text/constants.js","webpack://npmjs/./node_modules/@material/select/helper-text/foundation.js","webpack://npmjs/./node_modules/@material/select/helper-text/component.js","webpack://npmjs/./node_modules/@material/select/icon/constants.js","webpack://npmjs/./node_modules/@material/select/icon/foundation.js","webpack://npmjs/./node_modules/@material/select/icon/component.js","webpack://npmjs/./node_modules/@material/select/component.js","webpack://npmjs/./node_modules/@material/snackbar/constants.js","webpack://npmjs/./node_modules/@material/snackbar/foundation.js","webpack://npmjs/./node_modules/@material/snackbar/util.js","webpack://npmjs/./node_modules/@material/snackbar/component.js","webpack://npmjs/./node_modules/@material/tab-scroller/constants.js","webpack://npmjs/./node_modules/@material/tab-scroller/rtl-scroller.js","webpack://npmjs/./node_modules/@material/tab-scroller/rtl-default-scroller.js","webpack://npmjs/./node_modules/@material/tab-scroller/rtl-negative-scroller.js","webpack://npmjs/./node_modules/@material/tab-scroller/rtl-reverse-scroller.js","webpack://npmjs/./node_modules/@material/tab-scroller/foundation.js","webpack://npmjs/./node_modules/@material/tab-scroller/util.js","webpack://npmjs/./node_modules/@material/tab-scroller/component.js","webpack://npmjs/./node_modules/@material/tab-indicator/constants.js","webpack://npmjs/./node_modules/@material/tab-indicator/foundation.js","webpack://npmjs/./node_modules/@material/tab-indicator/fading-foundation.js","webpack://npmjs/./node_modules/@material/tab-indicator/sliding-foundation.js","webpack://npmjs/./node_modules/@material/tab-indicator/component.js","webpack://npmjs/./node_modules/@material/tab/constants.js","webpack://npmjs/./node_modules/@material/tab/foundation.js","webpack://npmjs/./node_modules/@material/tab/component.js","webpack://npmjs/./node_modules/@material/tab-bar/constants.js","webpack://npmjs/./node_modules/@material/tab-bar/foundation.js","webpack://npmjs/./node_modules/@material/tab-bar/component.js","webpack://npmjs/./node_modules/@material/textfield/character-counter/constants.js","webpack://npmjs/./node_modules/@material/textfield/character-counter/foundation.js","webpack://npmjs/./node_modules/@material/textfield/character-counter/component.js","webpack://npmjs/./node_modules/@material/textfield/constants.js","webpack://npmjs/./node_modules/@material/textfield/foundation.js","webpack://npmjs/./node_modules/@material/textfield/helper-text/constants.js","webpack://npmjs/./node_modules/@material/textfield/helper-text/foundation.js","webpack://npmjs/./node_modules/@material/textfield/helper-text/component.js","webpack://npmjs/./node_modules/@material/textfield/icon/constants.js","webpack://npmjs/./node_modules/@material/textfield/icon/foundation.js","webpack://npmjs/./node_modules/@material/textfield/icon/component.js","webpack://npmjs/./node_modules/@material/textfield/component.js","webpack://npmjs/./node_modules/@material/top-app-bar/constants.js","webpack://npmjs/./node_modules/@material/top-app-bar/foundation.js","webpack://npmjs/./node_modules/@material/top-app-bar/standard/foundation.js","webpack://npmjs/./node_modules/@material/top-app-bar/fixed/foundation.js","webpack://npmjs/./node_modules/@material/top-app-bar/short/foundation.js","webpack://npmjs/./node_modules/@material/top-app-bar/component.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nvar cssPropertyNameMap = {\r\n animation: {\r\n prefixed: '-webkit-animation',\r\n standard: 'animation',\r\n },\r\n transform: {\r\n prefixed: '-webkit-transform',\r\n standard: 'transform',\r\n },\r\n transition: {\r\n prefixed: '-webkit-transition',\r\n standard: 'transition',\r\n },\r\n};\r\nvar jsEventTypeMap = {\r\n animationend: {\r\n cssProperty: 'animation',\r\n prefixed: 'webkitAnimationEnd',\r\n standard: 'animationend',\r\n },\r\n animationiteration: {\r\n cssProperty: 'animation',\r\n prefixed: 'webkitAnimationIteration',\r\n standard: 'animationiteration',\r\n },\r\n animationstart: {\r\n cssProperty: 'animation',\r\n prefixed: 'webkitAnimationStart',\r\n standard: 'animationstart',\r\n },\r\n transitionend: {\r\n cssProperty: 'transition',\r\n prefixed: 'webkitTransitionEnd',\r\n standard: 'transitionend',\r\n },\r\n};\r\nfunction isWindow(windowObj) {\r\n return Boolean(windowObj.document) && typeof windowObj.document.createElement === 'function';\r\n}\r\nexport function getCorrectPropertyName(windowObj, cssProperty) {\r\n if (isWindow(windowObj) && cssProperty in cssPropertyNameMap) {\r\n var el = windowObj.document.createElement('div');\r\n var _a = cssPropertyNameMap[cssProperty], standard = _a.standard, prefixed = _a.prefixed;\r\n var isStandard = standard in el.style;\r\n return isStandard ? standard : prefixed;\r\n }\r\n return cssProperty;\r\n}\r\nexport function getCorrectEventName(windowObj, eventType) {\r\n if (isWindow(windowObj) && eventType in jsEventTypeMap) {\r\n var el = windowObj.document.createElement('div');\r\n var _a = jsEventTypeMap[eventType], standard = _a.standard, prefixed = _a.prefixed, cssProperty = _a.cssProperty;\r\n var isStandard = cssProperty in el.style;\r\n return isStandard ? standard : prefixed;\r\n }\r\n return eventType;\r\n}\r\n//# sourceMappingURL=util.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __read, __spreadArray } from \"tslib\";\r\nimport { MDCFoundation } from './foundation';\r\nvar MDCComponent = /** @class */ (function () {\r\n function MDCComponent(root, foundation) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n this.root = root;\r\n this.initialize.apply(this, __spreadArray([], __read(args)));\r\n // Note that we initialize foundation here and not within the constructor's\r\n // default param so that this.root is defined and can be used within the\r\n // foundation class.\r\n this.foundation =\r\n foundation === undefined ? this.getDefaultFoundation() : foundation;\r\n this.foundation.init();\r\n this.initialSyncWithDOM();\r\n }\r\n MDCComponent.attachTo = function (root) {\r\n // Subclasses which extend MDCBase should provide an attachTo() method that takes a root element and\r\n // returns an instantiated component with its root set to that element. Also note that in the cases of\r\n // subclasses, an explicit foundation class will not have to be passed in; it will simply be initialized\r\n // from getDefaultFoundation().\r\n return new MDCComponent(root, new MDCFoundation({}));\r\n };\r\n /* istanbul ignore next: method param only exists for typing purposes; it does not need to be unit tested */\r\n MDCComponent.prototype.initialize = function () {\r\n var _args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n _args[_i] = arguments[_i];\r\n }\r\n // Subclasses can override this to do any additional setup work that would be considered part of a\r\n // \"constructor\". Essentially, it is a hook into the parent constructor before the foundation is\r\n // initialized. Any additional arguments besides root and foundation will be passed in here.\r\n };\r\n MDCComponent.prototype.getDefaultFoundation = function () {\r\n // Subclasses must override this method to return a properly configured foundation class for the\r\n // component.\r\n throw new Error('Subclasses must override getDefaultFoundation to return a properly configured ' +\r\n 'foundation class');\r\n };\r\n MDCComponent.prototype.initialSyncWithDOM = function () {\r\n // Subclasses should override this method if they need to perform work to synchronize with a host DOM\r\n // object. An example of this would be a form control wrapper that needs to synchronize its internal state\r\n // to some property or attribute of the host DOM. Please note: this is *not* the place to perform DOM\r\n // reads/writes that would cause layout / paint, as this is called synchronously from within the constructor.\r\n };\r\n MDCComponent.prototype.destroy = function () {\r\n // Subclasses may implement this method to release any resources / deregister any listeners they have\r\n // attached. An example of this might be deregistering a resize event from the window object.\r\n this.foundation.destroy();\r\n };\r\n MDCComponent.prototype.listen = function (evtType, handler, options) {\r\n this.root.addEventListener(evtType, handler, options);\r\n };\r\n MDCComponent.prototype.unlisten = function (evtType, handler, options) {\r\n this.root.removeEventListener(evtType, handler, options);\r\n };\r\n /**\r\n * Fires a cross-browser-compatible custom event from the component root of the given type, with the given data.\r\n */\r\n MDCComponent.prototype.emit = function (evtType, evtData, shouldBubble) {\r\n if (shouldBubble === void 0) { shouldBubble = false; }\r\n var evt;\r\n if (typeof CustomEvent === 'function') {\r\n evt = new CustomEvent(evtType, {\r\n bubbles: shouldBubble,\r\n detail: evtData,\r\n });\r\n }\r\n else {\r\n evt = document.createEvent('CustomEvent');\r\n evt.initCustomEvent(evtType, shouldBubble, false, evtData);\r\n }\r\n this.root.dispatchEvent(evt);\r\n };\r\n return MDCComponent;\r\n}());\r\nexport { MDCComponent };\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCComponent;\r\n//# sourceMappingURL=component.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nvar MDCFoundation = /** @class */ (function () {\r\n function MDCFoundation(adapter) {\r\n if (adapter === void 0) { adapter = {}; }\r\n this.adapter = adapter;\r\n }\r\n Object.defineProperty(MDCFoundation, \"cssClasses\", {\r\n get: function () {\r\n // Classes extending MDCFoundation should implement this method to return an object which exports every\r\n // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'}\r\n return {};\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCFoundation, \"strings\", {\r\n get: function () {\r\n // Classes extending MDCFoundation should implement this method to return an object which exports all\r\n // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'}\r\n return {};\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCFoundation, \"numbers\", {\r\n get: function () {\r\n // Classes extending MDCFoundation should implement this method to return an object which exports all\r\n // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350}\r\n return {};\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCFoundation, \"defaultAdapter\", {\r\n get: function () {\r\n // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient\r\n // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter\r\n // validation.\r\n return {};\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCFoundation.prototype.init = function () {\r\n // Subclasses should override this method to perform initialization routines (registering events, etc.)\r\n };\r\n MDCFoundation.prototype.destroy = function () {\r\n // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)\r\n };\r\n return MDCFoundation;\r\n}());\r\nexport { MDCFoundation };\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCFoundation;\r\n//# sourceMappingURL=foundation.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nexport var cssClasses = {\r\n ANIM_CHECKED_INDETERMINATE: 'mdc-checkbox--anim-checked-indeterminate',\r\n ANIM_CHECKED_UNCHECKED: 'mdc-checkbox--anim-checked-unchecked',\r\n ANIM_INDETERMINATE_CHECKED: 'mdc-checkbox--anim-indeterminate-checked',\r\n ANIM_INDETERMINATE_UNCHECKED: 'mdc-checkbox--anim-indeterminate-unchecked',\r\n ANIM_UNCHECKED_CHECKED: 'mdc-checkbox--anim-unchecked-checked',\r\n ANIM_UNCHECKED_INDETERMINATE: 'mdc-checkbox--anim-unchecked-indeterminate',\r\n BACKGROUND: 'mdc-checkbox__background',\r\n CHECKED: 'mdc-checkbox--checked',\r\n CHECKMARK: 'mdc-checkbox__checkmark',\r\n CHECKMARK_PATH: 'mdc-checkbox__checkmark-path',\r\n DISABLED: 'mdc-checkbox--disabled',\r\n INDETERMINATE: 'mdc-checkbox--indeterminate',\r\n MIXEDMARK: 'mdc-checkbox__mixedmark',\r\n NATIVE_CONTROL: 'mdc-checkbox__native-control',\r\n ROOT: 'mdc-checkbox',\r\n SELECTED: 'mdc-checkbox--selected',\r\n UPGRADED: 'mdc-checkbox--upgraded',\r\n};\r\nexport var strings = {\r\n ARIA_CHECKED_ATTR: 'aria-checked',\r\n ARIA_CHECKED_INDETERMINATE_VALUE: 'mixed',\r\n DATA_INDETERMINATE_ATTR: 'data-indeterminate',\r\n NATIVE_CONTROL_SELECTOR: '.mdc-checkbox__native-control',\r\n TRANSITION_STATE_CHECKED: 'checked',\r\n TRANSITION_STATE_INDETERMINATE: 'indeterminate',\r\n TRANSITION_STATE_INIT: 'init',\r\n TRANSITION_STATE_UNCHECKED: 'unchecked',\r\n};\r\nexport var numbers = {\r\n ANIM_END_LATCH_MS: 250,\r\n};\r\n//# sourceMappingURL=constants.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { cssClasses, numbers, strings } from './constants';\r\nvar MDCCheckboxFoundation = /** @class */ (function (_super) {\r\n __extends(MDCCheckboxFoundation, _super);\r\n function MDCCheckboxFoundation(adapter) {\r\n var _this = _super.call(this, __assign(__assign({}, MDCCheckboxFoundation.defaultAdapter), adapter)) || this;\r\n _this.currentCheckState = strings.TRANSITION_STATE_INIT;\r\n _this.currentAnimationClass = '';\r\n _this.animEndLatchTimer = 0;\r\n _this.enableAnimationEndHandler = false;\r\n return _this;\r\n }\r\n Object.defineProperty(MDCCheckboxFoundation, \"cssClasses\", {\r\n get: function () {\r\n return cssClasses;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCCheckboxFoundation, \"strings\", {\r\n get: function () {\r\n return strings;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCCheckboxFoundation, \"numbers\", {\r\n get: function () {\r\n return numbers;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCCheckboxFoundation, \"defaultAdapter\", {\r\n get: function () {\r\n return {\r\n addClass: function () { return undefined; },\r\n forceLayout: function () { return undefined; },\r\n hasNativeControl: function () { return false; },\r\n isAttachedToDOM: function () { return false; },\r\n isChecked: function () { return false; },\r\n isIndeterminate: function () { return false; },\r\n removeClass: function () { return undefined; },\r\n removeNativeControlAttr: function () { return undefined; },\r\n setNativeControlAttr: function () { return undefined; },\r\n setNativeControlDisabled: function () { return undefined; },\r\n };\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCCheckboxFoundation.prototype.init = function () {\r\n this.currentCheckState = this.determineCheckState();\r\n this.updateAriaChecked();\r\n this.adapter.addClass(cssClasses.UPGRADED);\r\n };\r\n MDCCheckboxFoundation.prototype.destroy = function () {\r\n clearTimeout(this.animEndLatchTimer);\r\n };\r\n MDCCheckboxFoundation.prototype.setDisabled = function (disabled) {\r\n this.adapter.setNativeControlDisabled(disabled);\r\n if (disabled) {\r\n this.adapter.addClass(cssClasses.DISABLED);\r\n }\r\n else {\r\n this.adapter.removeClass(cssClasses.DISABLED);\r\n }\r\n };\r\n /**\r\n * Handles the animationend event for the checkbox\r\n */\r\n MDCCheckboxFoundation.prototype.handleAnimationEnd = function () {\r\n var _this = this;\r\n if (!this.enableAnimationEndHandler) {\r\n return;\r\n }\r\n clearTimeout(this.animEndLatchTimer);\r\n this.animEndLatchTimer = setTimeout(function () {\r\n _this.adapter.removeClass(_this.currentAnimationClass);\r\n _this.enableAnimationEndHandler = false;\r\n }, numbers.ANIM_END_LATCH_MS);\r\n };\r\n /**\r\n * Handles the change event for the checkbox\r\n */\r\n MDCCheckboxFoundation.prototype.handleChange = function () {\r\n this.transitionCheckState();\r\n };\r\n MDCCheckboxFoundation.prototype.transitionCheckState = function () {\r\n if (!this.adapter.hasNativeControl()) {\r\n return;\r\n }\r\n var oldState = this.currentCheckState;\r\n var newState = this.determineCheckState();\r\n if (oldState === newState) {\r\n return;\r\n }\r\n this.updateAriaChecked();\r\n var TRANSITION_STATE_UNCHECKED = strings.TRANSITION_STATE_UNCHECKED;\r\n var SELECTED = cssClasses.SELECTED;\r\n if (newState === TRANSITION_STATE_UNCHECKED) {\r\n this.adapter.removeClass(SELECTED);\r\n }\r\n else {\r\n this.adapter.addClass(SELECTED);\r\n }\r\n // Check to ensure that there isn't a previously existing animation class, in case for example\r\n // the user interacted with the checkbox before the animation was finished.\r\n if (this.currentAnimationClass.length > 0) {\r\n clearTimeout(this.animEndLatchTimer);\r\n this.adapter.forceLayout();\r\n this.adapter.removeClass(this.currentAnimationClass);\r\n }\r\n this.currentAnimationClass =\r\n this.getTransitionAnimationClass(oldState, newState);\r\n this.currentCheckState = newState;\r\n // Check for parentNode so that animations are only run when the element is attached\r\n // to the DOM.\r\n if (this.adapter.isAttachedToDOM() &&\r\n this.currentAnimationClass.length > 0) {\r\n this.adapter.addClass(this.currentAnimationClass);\r\n this.enableAnimationEndHandler = true;\r\n }\r\n };\r\n MDCCheckboxFoundation.prototype.determineCheckState = function () {\r\n var TRANSITION_STATE_INDETERMINATE = strings.TRANSITION_STATE_INDETERMINATE, TRANSITION_STATE_CHECKED = strings.TRANSITION_STATE_CHECKED, TRANSITION_STATE_UNCHECKED = strings.TRANSITION_STATE_UNCHECKED;\r\n if (this.adapter.isIndeterminate()) {\r\n return TRANSITION_STATE_INDETERMINATE;\r\n }\r\n return this.adapter.isChecked() ? TRANSITION_STATE_CHECKED :\r\n TRANSITION_STATE_UNCHECKED;\r\n };\r\n MDCCheckboxFoundation.prototype.getTransitionAnimationClass = function (oldState, newState) {\r\n var TRANSITION_STATE_INIT = strings.TRANSITION_STATE_INIT, TRANSITION_STATE_CHECKED = strings.TRANSITION_STATE_CHECKED, TRANSITION_STATE_UNCHECKED = strings.TRANSITION_STATE_UNCHECKED;\r\n var _a = MDCCheckboxFoundation.cssClasses, ANIM_UNCHECKED_CHECKED = _a.ANIM_UNCHECKED_CHECKED, ANIM_UNCHECKED_INDETERMINATE = _a.ANIM_UNCHECKED_INDETERMINATE, ANIM_CHECKED_UNCHECKED = _a.ANIM_CHECKED_UNCHECKED, ANIM_CHECKED_INDETERMINATE = _a.ANIM_CHECKED_INDETERMINATE, ANIM_INDETERMINATE_CHECKED = _a.ANIM_INDETERMINATE_CHECKED, ANIM_INDETERMINATE_UNCHECKED = _a.ANIM_INDETERMINATE_UNCHECKED;\r\n switch (oldState) {\r\n case TRANSITION_STATE_INIT:\r\n if (newState === TRANSITION_STATE_UNCHECKED) {\r\n return '';\r\n }\r\n return newState === TRANSITION_STATE_CHECKED ? ANIM_INDETERMINATE_CHECKED : ANIM_INDETERMINATE_UNCHECKED;\r\n case TRANSITION_STATE_UNCHECKED:\r\n return newState === TRANSITION_STATE_CHECKED ? ANIM_UNCHECKED_CHECKED : ANIM_UNCHECKED_INDETERMINATE;\r\n case TRANSITION_STATE_CHECKED:\r\n return newState === TRANSITION_STATE_UNCHECKED ? ANIM_CHECKED_UNCHECKED : ANIM_CHECKED_INDETERMINATE;\r\n default: // TRANSITION_STATE_INDETERMINATE\r\n return newState === TRANSITION_STATE_CHECKED ? ANIM_INDETERMINATE_CHECKED : ANIM_INDETERMINATE_UNCHECKED;\r\n }\r\n };\r\n MDCCheckboxFoundation.prototype.updateAriaChecked = function () {\r\n // Ensure aria-checked is set to mixed if checkbox is in indeterminate state.\r\n if (this.adapter.isIndeterminate()) {\r\n this.adapter.setNativeControlAttr(strings.ARIA_CHECKED_ATTR, strings.ARIA_CHECKED_INDETERMINATE_VALUE);\r\n }\r\n else {\r\n // The on/off state does not need to keep track of aria-checked, since\r\n // the screenreader uses the checked property on the checkbox element.\r\n this.adapter.removeNativeControlAttr(strings.ARIA_CHECKED_ATTR);\r\n }\r\n };\r\n return MDCCheckboxFoundation;\r\n}(MDCFoundation));\r\nexport { MDCCheckboxFoundation };\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCCheckboxFoundation;\r\n//# sourceMappingURL=foundation.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __assign, __extends, __values } from \"tslib\";\r\nimport { getCorrectEventName } from '@material/animation/util';\r\nimport { MDCComponent } from '@material/base/component';\r\nimport { applyPassive } from '@material/dom/events';\r\nimport { matches } from '@material/dom/ponyfill';\r\nimport { MDCRipple } from '@material/ripple/component';\r\nimport { MDCRippleFoundation } from '@material/ripple/foundation';\r\nimport { strings } from './constants';\r\nimport { MDCCheckboxFoundation } from './foundation';\r\nvar CB_PROTO_PROPS = ['checked', 'indeterminate'];\r\nvar MDCCheckbox = /** @class */ (function (_super) {\r\n __extends(MDCCheckbox, _super);\r\n function MDCCheckbox() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.rippleSurface = _this.createRipple();\r\n return _this;\r\n }\r\n MDCCheckbox.attachTo = function (root) {\r\n return new MDCCheckbox(root);\r\n };\r\n Object.defineProperty(MDCCheckbox.prototype, \"ripple\", {\r\n get: function () {\r\n return this.rippleSurface;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCCheckbox.prototype, \"checked\", {\r\n get: function () {\r\n return this.getNativeControl().checked;\r\n },\r\n set: function (checked) {\r\n this.getNativeControl().checked = checked;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCCheckbox.prototype, \"indeterminate\", {\r\n get: function () {\r\n return this.getNativeControl().indeterminate;\r\n },\r\n set: function (indeterminate) {\r\n this.getNativeControl().indeterminate = indeterminate;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCCheckbox.prototype, \"disabled\", {\r\n get: function () {\r\n return this.getNativeControl().disabled;\r\n },\r\n set: function (disabled) {\r\n this.foundation.setDisabled(disabled);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCCheckbox.prototype, \"value\", {\r\n get: function () {\r\n return this.getNativeControl().value;\r\n },\r\n set: function (value) {\r\n this.getNativeControl().value = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCCheckbox.prototype.initialize = function () {\r\n var DATA_INDETERMINATE_ATTR = strings.DATA_INDETERMINATE_ATTR;\r\n this.getNativeControl().indeterminate =\r\n this.getNativeControl().getAttribute(DATA_INDETERMINATE_ATTR) ===\r\n 'true';\r\n this.getNativeControl().removeAttribute(DATA_INDETERMINATE_ATTR);\r\n };\r\n MDCCheckbox.prototype.initialSyncWithDOM = function () {\r\n var _this = this;\r\n this.handleChange = function () {\r\n _this.foundation.handleChange();\r\n };\r\n this.handleAnimationEnd = function () {\r\n _this.foundation.handleAnimationEnd();\r\n };\r\n this.getNativeControl().addEventListener('change', this.handleChange);\r\n this.listen(getCorrectEventName(window, 'animationend'), this.handleAnimationEnd);\r\n this.installPropertyChangeHooks();\r\n };\r\n MDCCheckbox.prototype.destroy = function () {\r\n this.rippleSurface.destroy();\r\n this.getNativeControl().removeEventListener('change', this.handleChange);\r\n this.unlisten(getCorrectEventName(window, 'animationend'), this.handleAnimationEnd);\r\n this.uninstallPropertyChangeHooks();\r\n _super.prototype.destroy.call(this);\r\n };\r\n MDCCheckbox.prototype.getDefaultFoundation = function () {\r\n var _this = this;\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n var adapter = {\r\n addClass: function (className) { return _this.root.classList.add(className); },\r\n forceLayout: function () { return _this.root.offsetWidth; },\r\n hasNativeControl: function () { return !!_this.getNativeControl(); },\r\n isAttachedToDOM: function () { return Boolean(_this.root.parentNode); },\r\n isChecked: function () { return _this.checked; },\r\n isIndeterminate: function () { return _this.indeterminate; },\r\n removeClass: function (className) {\r\n _this.root.classList.remove(className);\r\n },\r\n removeNativeControlAttr: function (attr) {\r\n _this.getNativeControl().removeAttribute(attr);\r\n },\r\n setNativeControlAttr: function (attr, value) {\r\n _this.getNativeControl().setAttribute(attr, value);\r\n },\r\n setNativeControlDisabled: function (disabled) {\r\n _this.getNativeControl().disabled = disabled;\r\n },\r\n };\r\n return new MDCCheckboxFoundation(adapter);\r\n };\r\n MDCCheckbox.prototype.createRipple = function () {\r\n var _this = this;\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n var adapter = __assign(__assign({}, MDCRipple.createAdapter(this)), { deregisterInteractionHandler: function (evtType, handler) {\r\n _this.getNativeControl().removeEventListener(evtType, handler, applyPassive());\r\n }, isSurfaceActive: function () { return matches(_this.getNativeControl(), ':active'); }, isUnbounded: function () { return true; }, registerInteractionHandler: function (evtType, handler) {\r\n _this.getNativeControl().addEventListener(evtType, handler, applyPassive());\r\n } });\r\n return new MDCRipple(this.root, new MDCRippleFoundation(adapter));\r\n };\r\n MDCCheckbox.prototype.installPropertyChangeHooks = function () {\r\n var e_1, _a;\r\n var _this = this;\r\n var nativeCb = this.getNativeControl();\r\n var cbProto = Object.getPrototypeOf(nativeCb);\r\n var _loop_1 = function (controlState) {\r\n var desc = Object.getOwnPropertyDescriptor(cbProto, controlState);\r\n // We have to check for this descriptor, since some browsers (Safari) don't support its return.\r\n // See: https://bugs.webkit.org/show_bug.cgi?id=49739\r\n if (!validDescriptor(desc)) {\r\n return { value: void 0 };\r\n }\r\n // Type cast is needed for compatibility with Closure Compiler.\r\n var nativeGetter = desc.get;\r\n var nativeCbDesc = {\r\n configurable: desc.configurable,\r\n enumerable: desc.enumerable,\r\n get: nativeGetter,\r\n set: function (state) {\r\n desc.set.call(nativeCb, state);\r\n _this.foundation.handleChange();\r\n },\r\n };\r\n Object.defineProperty(nativeCb, controlState, nativeCbDesc);\r\n };\r\n try {\r\n for (var CB_PROTO_PROPS_1 = __values(CB_PROTO_PROPS), CB_PROTO_PROPS_1_1 = CB_PROTO_PROPS_1.next(); !CB_PROTO_PROPS_1_1.done; CB_PROTO_PROPS_1_1 = CB_PROTO_PROPS_1.next()) {\r\n var controlState = CB_PROTO_PROPS_1_1.value;\r\n var state_1 = _loop_1(controlState);\r\n if (typeof state_1 === \"object\")\r\n return state_1.value;\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (CB_PROTO_PROPS_1_1 && !CB_PROTO_PROPS_1_1.done && (_a = CB_PROTO_PROPS_1.return)) _a.call(CB_PROTO_PROPS_1);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n };\r\n MDCCheckbox.prototype.uninstallPropertyChangeHooks = function () {\r\n var e_2, _a;\r\n var nativeCb = this.getNativeControl();\r\n var cbProto = Object.getPrototypeOf(nativeCb);\r\n try {\r\n for (var CB_PROTO_PROPS_2 = __values(CB_PROTO_PROPS), CB_PROTO_PROPS_2_1 = CB_PROTO_PROPS_2.next(); !CB_PROTO_PROPS_2_1.done; CB_PROTO_PROPS_2_1 = CB_PROTO_PROPS_2.next()) {\r\n var controlState = CB_PROTO_PROPS_2_1.value;\r\n var desc = Object.getOwnPropertyDescriptor(cbProto, controlState);\r\n if (!validDescriptor(desc)) {\r\n return;\r\n }\r\n Object.defineProperty(nativeCb, controlState, desc);\r\n }\r\n }\r\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\r\n finally {\r\n try {\r\n if (CB_PROTO_PROPS_2_1 && !CB_PROTO_PROPS_2_1.done && (_a = CB_PROTO_PROPS_2.return)) _a.call(CB_PROTO_PROPS_2);\r\n }\r\n finally { if (e_2) throw e_2.error; }\r\n }\r\n };\r\n MDCCheckbox.prototype.getNativeControl = function () {\r\n var NATIVE_CONTROL_SELECTOR = strings.NATIVE_CONTROL_SELECTOR;\r\n var el = this.root.querySelector(NATIVE_CONTROL_SELECTOR);\r\n if (!el) {\r\n throw new Error(\"Checkbox component requires a \" + NATIVE_CONTROL_SELECTOR + \" element\");\r\n }\r\n return el;\r\n };\r\n return MDCCheckbox;\r\n}(MDCComponent));\r\nexport { MDCCheckbox };\r\nfunction validDescriptor(inputPropDesc) {\r\n return !!inputPropDesc && typeof inputPropDesc.set === 'function';\r\n}\r\n//# sourceMappingURL=component.js.map","/**\r\n * @license\r\n * Copyright 2017 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nexport var cssClasses = {\r\n CLOSED_CLASS: 'mdc-linear-progress--closed',\r\n CLOSED_ANIMATION_OFF_CLASS: 'mdc-linear-progress--closed-animation-off',\r\n INDETERMINATE_CLASS: 'mdc-linear-progress--indeterminate',\r\n REVERSED_CLASS: 'mdc-linear-progress--reversed',\r\n ANIMATION_READY_CLASS: 'mdc-linear-progress--animation-ready',\r\n};\r\nexport var strings = {\r\n ARIA_HIDDEN: 'aria-hidden',\r\n ARIA_VALUEMAX: 'aria-valuemax',\r\n ARIA_VALUEMIN: 'aria-valuemin',\r\n ARIA_VALUENOW: 'aria-valuenow',\r\n BUFFER_BAR_SELECTOR: '.mdc-linear-progress__buffer-bar',\r\n FLEX_BASIS: 'flex-basis',\r\n PRIMARY_BAR_SELECTOR: '.mdc-linear-progress__primary-bar',\r\n};\r\n// these are percentages pulled from keyframes.scss\r\nexport var animationDimensionPercentages = {\r\n PRIMARY_HALF: .8367142,\r\n PRIMARY_FULL: 2.00611057,\r\n SECONDARY_QUARTER: .37651913,\r\n SECONDARY_HALF: .84386165,\r\n SECONDARY_FULL: 1.60277782,\r\n};\r\n//# sourceMappingURL=constants.js.map","/**\r\n * @license\r\n * Copyright 2017 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __assign, __extends, __values } from \"tslib\";\r\nimport { getCorrectPropertyName } from '@material/animation/util';\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { animationDimensionPercentages as percents, cssClasses, strings } from './constants';\r\nvar MDCLinearProgressFoundation = /** @class */ (function (_super) {\r\n __extends(MDCLinearProgressFoundation, _super);\r\n function MDCLinearProgressFoundation(adapter) {\r\n var _this = _super.call(this, __assign(__assign({}, MDCLinearProgressFoundation.defaultAdapter), adapter)) || this;\r\n _this.observer = null;\r\n return _this;\r\n }\r\n Object.defineProperty(MDCLinearProgressFoundation, \"cssClasses\", {\r\n get: function () {\r\n return cssClasses;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCLinearProgressFoundation, \"strings\", {\r\n get: function () {\r\n return strings;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCLinearProgressFoundation, \"defaultAdapter\", {\r\n get: function () {\r\n return {\r\n addClass: function () { return undefined; },\r\n attachResizeObserver: function () { return null; },\r\n forceLayout: function () { return undefined; },\r\n getWidth: function () { return 0; },\r\n hasClass: function () { return false; },\r\n setBufferBarStyle: function () { return null; },\r\n setPrimaryBarStyle: function () { return null; },\r\n setStyle: function () { return undefined; },\r\n removeAttribute: function () { return undefined; },\r\n removeClass: function () { return undefined; },\r\n setAttribute: function () { return undefined; },\r\n };\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCLinearProgressFoundation.prototype.init = function () {\r\n var _this = this;\r\n this.determinate = !this.adapter.hasClass(cssClasses.INDETERMINATE_CLASS);\r\n this.adapter.addClass(cssClasses.ANIMATION_READY_CLASS);\r\n this.progress = 0;\r\n this.buffer = 1;\r\n this.observer = this.adapter.attachResizeObserver(function (entries) {\r\n var e_1, _a;\r\n if (_this.determinate) {\r\n return;\r\n }\r\n try {\r\n for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {\r\n var entry = entries_1_1.value;\r\n if (entry.contentRect) {\r\n _this.calculateAndSetDimensions(entry.contentRect.width);\r\n }\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n });\r\n if (!this.determinate && this.observer) {\r\n this.calculateAndSetDimensions(this.adapter.getWidth());\r\n }\r\n };\r\n MDCLinearProgressFoundation.prototype.setDeterminate = function (isDeterminate) {\r\n this.determinate = isDeterminate;\r\n if (this.determinate) {\r\n this.adapter.removeClass(cssClasses.INDETERMINATE_CLASS);\r\n this.adapter.setAttribute(strings.ARIA_VALUENOW, this.progress.toString());\r\n this.adapter.setAttribute(strings.ARIA_VALUEMAX, '1');\r\n this.adapter.setAttribute(strings.ARIA_VALUEMIN, '0');\r\n this.setPrimaryBarProgress(this.progress);\r\n this.setBufferBarProgress(this.buffer);\r\n return;\r\n }\r\n if (this.observer) {\r\n this.calculateAndSetDimensions(this.adapter.getWidth());\r\n }\r\n this.adapter.addClass(cssClasses.INDETERMINATE_CLASS);\r\n this.adapter.removeAttribute(strings.ARIA_VALUENOW);\r\n this.adapter.removeAttribute(strings.ARIA_VALUEMAX);\r\n this.adapter.removeAttribute(strings.ARIA_VALUEMIN);\r\n this.setPrimaryBarProgress(1);\r\n this.setBufferBarProgress(1);\r\n };\r\n MDCLinearProgressFoundation.prototype.isDeterminate = function () {\r\n return this.determinate;\r\n };\r\n MDCLinearProgressFoundation.prototype.setProgress = function (value) {\r\n this.progress = value;\r\n if (this.determinate) {\r\n this.setPrimaryBarProgress(value);\r\n this.adapter.setAttribute(strings.ARIA_VALUENOW, value.toString());\r\n }\r\n };\r\n MDCLinearProgressFoundation.prototype.getProgress = function () {\r\n return this.progress;\r\n };\r\n MDCLinearProgressFoundation.prototype.setBuffer = function (value) {\r\n this.buffer = value;\r\n if (this.determinate) {\r\n this.setBufferBarProgress(value);\r\n }\r\n };\r\n MDCLinearProgressFoundation.prototype.getBuffer = function () {\r\n return this.buffer;\r\n };\r\n MDCLinearProgressFoundation.prototype.open = function () {\r\n this.adapter.removeClass(cssClasses.CLOSED_CLASS);\r\n this.adapter.removeClass(cssClasses.CLOSED_ANIMATION_OFF_CLASS);\r\n this.adapter.removeAttribute(strings.ARIA_HIDDEN);\r\n };\r\n MDCLinearProgressFoundation.prototype.close = function () {\r\n this.adapter.addClass(cssClasses.CLOSED_CLASS);\r\n this.adapter.setAttribute(strings.ARIA_HIDDEN, 'true');\r\n };\r\n MDCLinearProgressFoundation.prototype.isClosed = function () {\r\n return this.adapter.hasClass(cssClasses.CLOSED_CLASS);\r\n };\r\n /**\r\n * Handles the transitionend event emitted after `close()` is called and the\r\n * opacity fades out. This is so that animations are removed only after the\r\n * progress indicator is completely hidden.\r\n */\r\n MDCLinearProgressFoundation.prototype.handleTransitionEnd = function () {\r\n if (this.adapter.hasClass(cssClasses.CLOSED_CLASS)) {\r\n this.adapter.addClass(cssClasses.CLOSED_ANIMATION_OFF_CLASS);\r\n }\r\n };\r\n MDCLinearProgressFoundation.prototype.destroy = function () {\r\n _super.prototype.destroy.call(this);\r\n if (this.observer) {\r\n this.observer.disconnect();\r\n }\r\n };\r\n MDCLinearProgressFoundation.prototype.restartAnimation = function () {\r\n this.adapter.removeClass(cssClasses.ANIMATION_READY_CLASS);\r\n this.adapter.forceLayout();\r\n this.adapter.addClass(cssClasses.ANIMATION_READY_CLASS);\r\n };\r\n MDCLinearProgressFoundation.prototype.setPrimaryBarProgress = function (progressValue) {\r\n var value = \"scaleX(\" + progressValue + \")\";\r\n // Accessing `window` without a `typeof` check will throw on Node\r\n // environments.\r\n var transformProp = typeof window !== 'undefined' ?\r\n getCorrectPropertyName(window, 'transform') :\r\n 'transform';\r\n this.adapter.setPrimaryBarStyle(transformProp, value);\r\n };\r\n MDCLinearProgressFoundation.prototype.setBufferBarProgress = function (progressValue) {\r\n var value = progressValue * 100 + \"%\";\r\n this.adapter.setBufferBarStyle(strings.FLEX_BASIS, value);\r\n };\r\n MDCLinearProgressFoundation.prototype.calculateAndSetDimensions = function (width) {\r\n var primaryHalf = width * percents.PRIMARY_HALF;\r\n var primaryFull = width * percents.PRIMARY_FULL;\r\n var secondaryQuarter = width * percents.SECONDARY_QUARTER;\r\n var secondaryHalf = width * percents.SECONDARY_HALF;\r\n var secondaryFull = width * percents.SECONDARY_FULL;\r\n this.adapter.setStyle('--mdc-linear-progress-primary-half', primaryHalf + \"px\");\r\n this.adapter.setStyle('--mdc-linear-progress-primary-half-neg', -primaryHalf + \"px\");\r\n this.adapter.setStyle('--mdc-linear-progress-primary-full', primaryFull + \"px\");\r\n this.adapter.setStyle('--mdc-linear-progress-primary-full-neg', -primaryFull + \"px\");\r\n this.adapter.setStyle('--mdc-linear-progress-secondary-quarter', secondaryQuarter + \"px\");\r\n this.adapter.setStyle('--mdc-linear-progress-secondary-quarter-neg', -secondaryQuarter + \"px\");\r\n this.adapter.setStyle('--mdc-linear-progress-secondary-half', secondaryHalf + \"px\");\r\n this.adapter.setStyle('--mdc-linear-progress-secondary-half-neg', -secondaryHalf + \"px\");\r\n this.adapter.setStyle('--mdc-linear-progress-secondary-full', secondaryFull + \"px\");\r\n this.adapter.setStyle('--mdc-linear-progress-secondary-full-neg', -secondaryFull + \"px\");\r\n // need to restart animation for custom props to apply to keyframes\r\n this.restartAnimation();\r\n };\r\n return MDCLinearProgressFoundation;\r\n}(MDCFoundation));\r\nexport { MDCLinearProgressFoundation };\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCLinearProgressFoundation;\r\n//# sourceMappingURL=foundation.js.map","/**\r\n * @license\r\n * Copyright 2017 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __extends } from \"tslib\";\r\nimport { MDCComponent } from '@material/base/component';\r\nimport { MDCLinearProgressFoundation } from './foundation';\r\nvar MDCLinearProgress = /** @class */ (function (_super) {\r\n __extends(MDCLinearProgress, _super);\r\n function MDCLinearProgress() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MDCLinearProgress.attachTo = function (root) {\r\n return new MDCLinearProgress(root);\r\n };\r\n Object.defineProperty(MDCLinearProgress.prototype, \"determinate\", {\r\n set: function (value) {\r\n this.foundation.setDeterminate(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCLinearProgress.prototype, \"progress\", {\r\n set: function (value) {\r\n this.foundation.setProgress(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCLinearProgress.prototype, \"buffer\", {\r\n set: function (value) {\r\n this.foundation.setBuffer(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCLinearProgress.prototype.open = function () {\r\n this.foundation.open();\r\n };\r\n MDCLinearProgress.prototype.close = function () {\r\n this.foundation.close();\r\n };\r\n MDCLinearProgress.prototype.initialSyncWithDOM = function () {\r\n var _this = this;\r\n this.root.addEventListener('transitionend', function () {\r\n _this.foundation.handleTransitionEnd();\r\n });\r\n };\r\n MDCLinearProgress.prototype.getDefaultFoundation = function () {\r\n var _this = this;\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take\r\n // a Partial. To ensure we don't accidentally omit any\r\n // methods, we need a separate, strongly typed adapter variable.\r\n var adapter = {\r\n addClass: function (className) {\r\n _this.root.classList.add(className);\r\n },\r\n forceLayout: function () {\r\n _this.root.getBoundingClientRect();\r\n },\r\n setBufferBarStyle: function (styleProperty, value) {\r\n var bufferBar = _this.root.querySelector(MDCLinearProgressFoundation.strings.BUFFER_BAR_SELECTOR);\r\n if (bufferBar) {\r\n bufferBar.style.setProperty(styleProperty, value);\r\n }\r\n },\r\n setPrimaryBarStyle: function (styleProperty, value) {\r\n var primaryBar = _this.root.querySelector(MDCLinearProgressFoundation.strings.PRIMARY_BAR_SELECTOR);\r\n if (primaryBar) {\r\n primaryBar.style.setProperty(styleProperty, value);\r\n }\r\n },\r\n hasClass: function (className) { return _this.root.classList.contains(className); },\r\n removeAttribute: function (attributeName) {\r\n _this.root.removeAttribute(attributeName);\r\n },\r\n removeClass: function (className) {\r\n _this.root.classList.remove(className);\r\n },\r\n setAttribute: function (attributeName, value) {\r\n _this.root.setAttribute(attributeName, value);\r\n },\r\n setStyle: function (name, value) {\r\n _this.root.style.setProperty(name, value);\r\n },\r\n attachResizeObserver: function (callback) {\r\n var RO = window.ResizeObserver;\r\n if (RO) {\r\n var ro = new RO(callback);\r\n ro.observe(_this.root);\r\n return ro;\r\n }\r\n return null;\r\n },\r\n getWidth: function () { return _this.root.offsetWidth; },\r\n };\r\n return new MDCLinearProgressFoundation(adapter);\r\n };\r\n return MDCLinearProgress;\r\n}(MDCComponent));\r\nexport { MDCLinearProgress };\r\n//# sourceMappingURL=component.js.map","/**\r\n * @license\r\n * Copyright 2019 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n/**\r\n * CSS class names used in component.\r\n */\r\nexport var cssClasses = {\r\n CELL: 'mdc-data-table__cell',\r\n CELL_NUMERIC: 'mdc-data-table__cell--numeric',\r\n CONTENT: 'mdc-data-table__content',\r\n HEADER_CELL: 'mdc-data-table__header-cell',\r\n HEADER_CELL_LABEL: 'mdc-data-table__header-cell-label',\r\n HEADER_CELL_SORTED: 'mdc-data-table__header-cell--sorted',\r\n HEADER_CELL_SORTED_DESCENDING: 'mdc-data-table__header-cell--sorted-descending',\r\n HEADER_CELL_WITH_SORT: 'mdc-data-table__header-cell--with-sort',\r\n HEADER_CELL_WRAPPER: 'mdc-data-table__header-cell-wrapper',\r\n HEADER_ROW: 'mdc-data-table__header-row',\r\n HEADER_ROW_CHECKBOX: 'mdc-data-table__header-row-checkbox',\r\n IN_PROGRESS: 'mdc-data-table--in-progress',\r\n LINEAR_PROGRESS: 'mdc-data-table__linear-progress',\r\n PAGINATION_ROWS_PER_PAGE_LABEL: 'mdc-data-table__pagination-rows-per-page-label',\r\n PAGINATION_ROWS_PER_PAGE_SELECT: 'mdc-data-table__pagination-rows-per-page-select',\r\n PROGRESS_INDICATOR: 'mdc-data-table__progress-indicator',\r\n ROOT: 'mdc-data-table',\r\n ROW: 'mdc-data-table__row',\r\n ROW_CHECKBOX: 'mdc-data-table__row-checkbox',\r\n ROW_SELECTED: 'mdc-data-table__row--selected',\r\n SORT_ICON_BUTTON: 'mdc-data-table__sort-icon-button',\r\n SORT_STATUS_LABEL: 'mdc-data-table__sort-status-label',\r\n TABLE_CONTAINER: 'mdc-data-table__table-container',\r\n};\r\n/**\r\n * DOM attributes used in component.\r\n */\r\nexport var attributes = {\r\n ARIA_SELECTED: 'aria-selected',\r\n ARIA_SORT: 'aria-sort',\r\n};\r\n/**\r\n * List of data attributes used in component.\r\n */\r\nexport var dataAttributes = {\r\n COLUMN_ID: 'data-column-id',\r\n ROW_ID: 'data-row-id',\r\n};\r\n/**\r\n * CSS selectors used in component.\r\n */\r\nexport var selectors = {\r\n CONTENT: \".\" + cssClasses.CONTENT,\r\n HEADER_CELL: \".\" + cssClasses.HEADER_CELL,\r\n HEADER_CELL_WITH_SORT: \".\" + cssClasses.HEADER_CELL_WITH_SORT,\r\n HEADER_ROW: \".\" + cssClasses.HEADER_ROW,\r\n HEADER_ROW_CHECKBOX: \".\" + cssClasses.HEADER_ROW_CHECKBOX,\r\n PROGRESS_INDICATOR: \".\" + cssClasses.PROGRESS_INDICATOR,\r\n ROW: \".\" + cssClasses.ROW,\r\n ROW_CHECKBOX: \".\" + cssClasses.ROW_CHECKBOX,\r\n ROW_SELECTED: \".\" + cssClasses.ROW_SELECTED,\r\n SORT_ICON_BUTTON: \".\" + cssClasses.SORT_ICON_BUTTON,\r\n SORT_STATUS_LABEL: \".\" + cssClasses.SORT_STATUS_LABEL,\r\n};\r\n/**\r\n * Messages used in component.\r\n */\r\nexport var messages = {\r\n SORTED_IN_DESCENDING: 'Sorted in descending order',\r\n SORTED_IN_ASCENDING: 'Sorted in ascending order',\r\n};\r\n/**\r\n * Attributes and selectors used in component.\r\n * @deprecated Use `attributes`, `dataAttributes` and `selectors` instead.\r\n */\r\nexport var strings = {\r\n ARIA_SELECTED: attributes.ARIA_SELECTED,\r\n ARIA_SORT: attributes.ARIA_SORT,\r\n DATA_ROW_ID_ATTR: dataAttributes.ROW_ID,\r\n HEADER_ROW_CHECKBOX_SELECTOR: selectors.HEADER_ROW_CHECKBOX,\r\n ROW_CHECKBOX_SELECTOR: selectors.ROW_CHECKBOX,\r\n ROW_SELECTED_SELECTOR: selectors.ROW_SELECTED,\r\n ROW_SELECTOR: selectors.ROW,\r\n};\r\n/**\r\n * Sort values defined by ARIA.\r\n * See https://www.w3.org/WAI/PF/aria/states_and_properties#aria-sort\r\n */\r\nexport var SortValue;\r\n(function (SortValue) {\r\n // Items are sorted in ascending order by this column.\r\n SortValue[\"ASCENDING\"] = \"ascending\";\r\n // Items are sorted in descending order by this column.\r\n SortValue[\"DESCENDING\"] = \"descending\";\r\n // There is no defined sort applied to the column.\r\n SortValue[\"NONE\"] = \"none\";\r\n // A sort algorithm other than ascending or descending has been applied.\r\n SortValue[\"OTHER\"] = \"other\";\r\n})(SortValue || (SortValue = {}));\r\n/**\r\n * Event names used in component.\r\n */\r\nexport var events = {\r\n ROW_CLICK: 'MDCDataTable:rowClick',\r\n ROW_SELECTION_CHANGED: 'MDCDataTable:rowSelectionChanged',\r\n SELECTED_ALL: 'MDCDataTable:selectedAll',\r\n SORTED: 'MDCDataTable:sorted',\r\n UNSELECTED_ALL: 'MDCDataTable:unselectedAll',\r\n};\r\n//# sourceMappingURL=constants.js.map","/**\r\n * @license\r\n * Copyright 2019 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __assign, __awaiter, __extends, __generator } from \"tslib\";\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { cssClasses, SortValue, strings } from './constants';\r\n/**\r\n * The Foundation of data table component containing pure business logic, any\r\n * logic requiring DOM manipulation are delegated to adapter methods.\r\n */\r\nvar MDCDataTableFoundation = /** @class */ (function (_super) {\r\n __extends(MDCDataTableFoundation, _super);\r\n function MDCDataTableFoundation(adapter) {\r\n return _super.call(this, __assign(__assign({}, MDCDataTableFoundation.defaultAdapter), adapter)) || this;\r\n }\r\n Object.defineProperty(MDCDataTableFoundation, \"defaultAdapter\", {\r\n get: function () {\r\n return {\r\n addClass: function () { return undefined; },\r\n addClassAtRowIndex: function () { return undefined; },\r\n getAttributeByHeaderCellIndex: function () { return ''; },\r\n getHeaderCellCount: function () { return 0; },\r\n getHeaderCellElements: function () { return []; },\r\n getRowCount: function () { return 0; },\r\n getRowElements: function () { return []; },\r\n getRowIdAtIndex: function () { return ''; },\r\n getRowIndexByChildElement: function () { return 0; },\r\n getSelectedRowCount: function () { return 0; },\r\n getTableContainerHeight: function () { return 0; },\r\n getTableHeaderHeight: function () { return 0; },\r\n isCheckboxAtRowIndexChecked: function () { return false; },\r\n isHeaderRowCheckboxChecked: function () { return false; },\r\n isRowsSelectable: function () { return false; },\r\n notifyRowSelectionChanged: function () { return undefined; },\r\n notifySelectedAll: function () { return undefined; },\r\n notifySortAction: function () { return undefined; },\r\n notifyUnselectedAll: function () { return undefined; },\r\n notifyRowClick: function () { return undefined; },\r\n registerHeaderRowCheckbox: function () { return undefined; },\r\n registerRowCheckboxes: function () { return undefined; },\r\n removeClass: function () { return undefined; },\r\n removeClassAtRowIndex: function () { return undefined; },\r\n removeClassNameByHeaderCellIndex: function () { return undefined; },\r\n setAttributeAtRowIndex: function () { return undefined; },\r\n setAttributeByHeaderCellIndex: function () { return undefined; },\r\n setClassNameByHeaderCellIndex: function () { return undefined; },\r\n setHeaderRowCheckboxChecked: function () { return undefined; },\r\n setHeaderRowCheckboxIndeterminate: function () { return undefined; },\r\n setProgressIndicatorStyles: function () { return undefined; },\r\n setRowCheckboxCheckedAtIndex: function () { return undefined; },\r\n setSortStatusLabelByHeaderCellIndex: function () { return undefined; },\r\n };\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Re-initializes header row checkbox and row checkboxes when selectable rows\r\n * are added or removed from table. Use this if registering checkbox is\r\n * synchronous.\r\n */\r\n MDCDataTableFoundation.prototype.layout = function () {\r\n if (this.adapter.isRowsSelectable()) {\r\n this.adapter.registerHeaderRowCheckbox();\r\n this.adapter.registerRowCheckboxes();\r\n this.setHeaderRowCheckboxState();\r\n }\r\n };\r\n /**\r\n * Re-initializes header row checkbox and row checkboxes when selectable rows\r\n * are added or removed from table. Use this if registering checkbox is\r\n * asynchronous.\r\n */\r\n MDCDataTableFoundation.prototype.layoutAsync = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this.adapter.isRowsSelectable()) return [3 /*break*/, 3];\r\n return [4 /*yield*/, this.adapter.registerHeaderRowCheckbox()];\r\n case 1:\r\n _a.sent();\r\n return [4 /*yield*/, this.adapter.registerRowCheckboxes()];\r\n case 2:\r\n _a.sent();\r\n this.setHeaderRowCheckboxState();\r\n _a.label = 3;\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * @return Returns array of row elements.\r\n */\r\n MDCDataTableFoundation.prototype.getRows = function () {\r\n return this.adapter.getRowElements();\r\n };\r\n /**\r\n * @return Array of header cell elements.\r\n */\r\n MDCDataTableFoundation.prototype.getHeaderCells = function () {\r\n return this.adapter.getHeaderCellElements();\r\n };\r\n /**\r\n * Sets selected row ids. Overwrites previously selected rows.\r\n * @param rowIds Array of row ids that needs to be selected.\r\n */\r\n MDCDataTableFoundation.prototype.setSelectedRowIds = function (rowIds) {\r\n for (var rowIndex = 0; rowIndex < this.adapter.getRowCount(); rowIndex++) {\r\n var rowId = this.adapter.getRowIdAtIndex(rowIndex);\r\n var isSelected = false;\r\n if (rowId && rowIds.indexOf(rowId) >= 0) {\r\n isSelected = true;\r\n }\r\n this.adapter.setRowCheckboxCheckedAtIndex(rowIndex, isSelected);\r\n this.selectRowAtIndex(rowIndex, isSelected);\r\n }\r\n this.setHeaderRowCheckboxState();\r\n };\r\n /**\r\n * @return Returns array of all row ids.\r\n */\r\n MDCDataTableFoundation.prototype.getRowIds = function () {\r\n var rowIds = [];\r\n for (var rowIndex = 0; rowIndex < this.adapter.getRowCount(); rowIndex++) {\r\n rowIds.push(this.adapter.getRowIdAtIndex(rowIndex));\r\n }\r\n return rowIds;\r\n };\r\n /**\r\n * @return Returns array of selected row ids.\r\n */\r\n MDCDataTableFoundation.prototype.getSelectedRowIds = function () {\r\n var selectedRowIds = [];\r\n for (var rowIndex = 0; rowIndex < this.adapter.getRowCount(); rowIndex++) {\r\n if (this.adapter.isCheckboxAtRowIndexChecked(rowIndex)) {\r\n selectedRowIds.push(this.adapter.getRowIdAtIndex(rowIndex));\r\n }\r\n }\r\n return selectedRowIds;\r\n };\r\n /**\r\n * Handles header row checkbox change event.\r\n */\r\n MDCDataTableFoundation.prototype.handleHeaderRowCheckboxChange = function () {\r\n var isHeaderChecked = this.adapter.isHeaderRowCheckboxChecked();\r\n for (var rowIndex = 0; rowIndex < this.adapter.getRowCount(); rowIndex++) {\r\n this.adapter.setRowCheckboxCheckedAtIndex(rowIndex, isHeaderChecked);\r\n this.selectRowAtIndex(rowIndex, isHeaderChecked);\r\n }\r\n if (isHeaderChecked) {\r\n this.adapter.notifySelectedAll();\r\n }\r\n else {\r\n this.adapter.notifyUnselectedAll();\r\n }\r\n };\r\n /**\r\n * Handles change event originated from row checkboxes.\r\n */\r\n MDCDataTableFoundation.prototype.handleRowCheckboxChange = function (event) {\r\n var rowIndex = this.adapter.getRowIndexByChildElement(event.target);\r\n if (rowIndex === -1) {\r\n return;\r\n }\r\n var selected = this.adapter.isCheckboxAtRowIndexChecked(rowIndex);\r\n this.selectRowAtIndex(rowIndex, selected);\r\n this.setHeaderRowCheckboxState();\r\n var rowId = this.adapter.getRowIdAtIndex(rowIndex);\r\n this.adapter.notifyRowSelectionChanged({ rowId: rowId, rowIndex: rowIndex, selected: selected });\r\n };\r\n /**\r\n * Handles sort action on sortable header cell.\r\n */\r\n MDCDataTableFoundation.prototype.handleSortAction = function (eventData) {\r\n var columnId = eventData.columnId, columnIndex = eventData.columnIndex, headerCell = eventData.headerCell;\r\n // Reset sort attributes / classes on other header cells.\r\n for (var index = 0; index < this.adapter.getHeaderCellCount(); index++) {\r\n if (index === columnIndex) {\r\n continue;\r\n }\r\n this.adapter.removeClassNameByHeaderCellIndex(index, cssClasses.HEADER_CELL_SORTED);\r\n this.adapter.removeClassNameByHeaderCellIndex(index, cssClasses.HEADER_CELL_SORTED_DESCENDING);\r\n this.adapter.setAttributeByHeaderCellIndex(index, strings.ARIA_SORT, SortValue.NONE);\r\n this.adapter.setSortStatusLabelByHeaderCellIndex(index, SortValue.NONE);\r\n }\r\n // Set appropriate sort attributes / classes on target header cell.\r\n this.adapter.setClassNameByHeaderCellIndex(columnIndex, cssClasses.HEADER_CELL_SORTED);\r\n var currentSortValue = this.adapter.getAttributeByHeaderCellIndex(columnIndex, strings.ARIA_SORT);\r\n var sortValue = SortValue.NONE;\r\n // Set to descending if sorted on ascending order.\r\n if (currentSortValue === SortValue.ASCENDING) {\r\n this.adapter.setClassNameByHeaderCellIndex(columnIndex, cssClasses.HEADER_CELL_SORTED_DESCENDING);\r\n this.adapter.setAttributeByHeaderCellIndex(columnIndex, strings.ARIA_SORT, SortValue.DESCENDING);\r\n sortValue = SortValue.DESCENDING;\r\n // Set to ascending if sorted on descending order.\r\n }\r\n else if (currentSortValue === SortValue.DESCENDING) {\r\n this.adapter.removeClassNameByHeaderCellIndex(columnIndex, cssClasses.HEADER_CELL_SORTED_DESCENDING);\r\n this.adapter.setAttributeByHeaderCellIndex(columnIndex, strings.ARIA_SORT, SortValue.ASCENDING);\r\n sortValue = SortValue.ASCENDING;\r\n }\r\n else {\r\n // Set to ascending by default when not sorted.\r\n this.adapter.setAttributeByHeaderCellIndex(columnIndex, strings.ARIA_SORT, SortValue.ASCENDING);\r\n sortValue = SortValue.ASCENDING;\r\n }\r\n this.adapter.setSortStatusLabelByHeaderCellIndex(columnIndex, sortValue);\r\n this.adapter.notifySortAction({\r\n columnId: columnId,\r\n columnIndex: columnIndex,\r\n headerCell: headerCell,\r\n sortValue: sortValue,\r\n });\r\n };\r\n /**\r\n * Handles data table row click event.\r\n */\r\n MDCDataTableFoundation.prototype.handleRowClick = function (_a) {\r\n var rowId = _a.rowId, row = _a.row;\r\n this.adapter.notifyRowClick({\r\n rowId: rowId,\r\n row: row,\r\n });\r\n };\r\n /**\r\n * Shows progress indicator blocking only the table body content when in\r\n * loading state.\r\n */\r\n MDCDataTableFoundation.prototype.showProgress = function () {\r\n var tableHeaderHeight = this.adapter.getTableHeaderHeight();\r\n // Calculate the height of table content (Not scroll content) excluding\r\n // header row height.\r\n var height = this.adapter.getTableContainerHeight() - tableHeaderHeight;\r\n var top = tableHeaderHeight;\r\n this.adapter.setProgressIndicatorStyles({\r\n height: height + \"px\",\r\n top: top + \"px\",\r\n });\r\n this.adapter.addClass(cssClasses.IN_PROGRESS);\r\n };\r\n /**\r\n * Hides progress indicator when data table is finished loading.\r\n */\r\n MDCDataTableFoundation.prototype.hideProgress = function () {\r\n this.adapter.removeClass(cssClasses.IN_PROGRESS);\r\n };\r\n /**\r\n * Updates header row checkbox state based on number of rows selected.\r\n */\r\n MDCDataTableFoundation.prototype.setHeaderRowCheckboxState = function () {\r\n if (this.adapter.getSelectedRowCount() === 0) {\r\n this.adapter.setHeaderRowCheckboxChecked(false);\r\n this.adapter.setHeaderRowCheckboxIndeterminate(false);\r\n }\r\n else if (this.adapter.getSelectedRowCount() === this.adapter.getRowCount()) {\r\n this.adapter.setHeaderRowCheckboxChecked(true);\r\n this.adapter.setHeaderRowCheckboxIndeterminate(false);\r\n }\r\n else {\r\n this.adapter.setHeaderRowCheckboxIndeterminate(true);\r\n this.adapter.setHeaderRowCheckboxChecked(false);\r\n }\r\n };\r\n /**\r\n * Sets the attributes of row element based on selection state.\r\n */\r\n MDCDataTableFoundation.prototype.selectRowAtIndex = function (rowIndex, selected) {\r\n if (selected) {\r\n this.adapter.addClassAtRowIndex(rowIndex, cssClasses.ROW_SELECTED);\r\n this.adapter.setAttributeAtRowIndex(rowIndex, strings.ARIA_SELECTED, 'true');\r\n }\r\n else {\r\n this.adapter.removeClassAtRowIndex(rowIndex, cssClasses.ROW_SELECTED);\r\n this.adapter.setAttributeAtRowIndex(rowIndex, strings.ARIA_SELECTED, 'false');\r\n }\r\n };\r\n return MDCDataTableFoundation;\r\n}(MDCFoundation));\r\nexport { MDCDataTableFoundation };\r\n//# sourceMappingURL=foundation.js.map","/**\r\n * @license\r\n * Copyright 2019 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __extends, __values } from \"tslib\";\r\nimport { MDCComponent } from '@material/base/component';\r\nimport { MDCCheckbox } from '@material/checkbox/component';\r\nimport { closest } from '@material/dom/ponyfill';\r\nimport { MDCLinearProgress } from '@material/linear-progress/component';\r\nimport { cssClasses, dataAttributes, events, messages, selectors, SortValue } from './constants';\r\nimport { MDCDataTableFoundation } from './foundation';\r\n/**\r\n * Implementation of `MDCDataTableFoundation`\r\n */\r\nvar MDCDataTable = /** @class */ (function (_super) {\r\n __extends(MDCDataTable, _super);\r\n function MDCDataTable() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MDCDataTable.attachTo = function (root) {\r\n return new MDCDataTable(root);\r\n };\r\n MDCDataTable.prototype.initialize = function (checkboxFactory) {\r\n if (checkboxFactory === void 0) { checkboxFactory = function (el) { return new MDCCheckbox(el); }; }\r\n this.checkboxFactory = checkboxFactory;\r\n };\r\n MDCDataTable.prototype.initialSyncWithDOM = function () {\r\n var _this = this;\r\n this.headerRow =\r\n this.root.querySelector(\".\" + cssClasses.HEADER_ROW);\r\n this.handleHeaderRowCheckboxChange = function () {\r\n _this.foundation.handleHeaderRowCheckboxChange();\r\n };\r\n this.headerRow.addEventListener('change', this.handleHeaderRowCheckboxChange);\r\n this.headerRowClickListener = function (event) {\r\n _this.handleHeaderRowClick(event);\r\n };\r\n this.headerRow.addEventListener('click', this.headerRowClickListener);\r\n this.content =\r\n this.root.querySelector(\".\" + cssClasses.CONTENT);\r\n this.handleContentClick = function (event) {\r\n var dataRowEl = closest(event.target, selectors.ROW);\r\n if (!dataRowEl)\r\n return;\r\n _this.foundation.handleRowClick({\r\n rowId: _this.getRowIdByRowElement(dataRowEl),\r\n row: dataRowEl,\r\n });\r\n };\r\n this.content.addEventListener('click', this.handleContentClick);\r\n this.handleRowCheckboxChange = function (event) {\r\n _this.foundation.handleRowCheckboxChange(event);\r\n };\r\n this.content.addEventListener('change', this.handleRowCheckboxChange);\r\n this.layout();\r\n };\r\n /**\r\n * Re-initializes header row checkbox and row checkboxes when selectable rows\r\n * are added or removed from table.\r\n */\r\n MDCDataTable.prototype.layout = function () {\r\n this.foundation.layout();\r\n };\r\n /**\r\n * @return Returns array of header row cell elements.\r\n */\r\n MDCDataTable.prototype.getHeaderCells = function () {\r\n return [].slice.call(this.root.querySelectorAll(selectors.HEADER_CELL));\r\n };\r\n /**\r\n * @return Returns array of row elements.\r\n */\r\n MDCDataTable.prototype.getRows = function () {\r\n return this.foundation.getRows();\r\n };\r\n /**\r\n * @return Returns array of selected row ids.\r\n */\r\n MDCDataTable.prototype.getSelectedRowIds = function () {\r\n return this.foundation.getSelectedRowIds();\r\n };\r\n /**\r\n * Sets selected row ids. Overwrites previously selected rows.\r\n * @param rowIds Array of row ids that needs to be selected.\r\n */\r\n MDCDataTable.prototype.setSelectedRowIds = function (rowIds) {\r\n this.foundation.setSelectedRowIds(rowIds);\r\n };\r\n /**\r\n * Shows progress indicator when data table is in loading state.\r\n */\r\n MDCDataTable.prototype.showProgress = function () {\r\n this.getLinearProgress().open();\r\n this.foundation.showProgress();\r\n };\r\n /**\r\n * Hides progress indicator after data table is finished loading.\r\n */\r\n MDCDataTable.prototype.hideProgress = function () {\r\n this.foundation.hideProgress();\r\n this.getLinearProgress().close();\r\n };\r\n MDCDataTable.prototype.destroy = function () {\r\n var e_1, _a;\r\n if (this.handleHeaderRowCheckboxChange) {\r\n this.headerRow.removeEventListener('change', this.handleHeaderRowCheckboxChange);\r\n }\r\n if (this.headerRowClickListener) {\r\n this.headerRow.removeEventListener('click', this.headerRowClickListener);\r\n }\r\n if (this.handleRowCheckboxChange) {\r\n this.content.removeEventListener('change', this.handleRowCheckboxChange);\r\n }\r\n if (this.headerRowCheckbox) {\r\n this.headerRowCheckbox.destroy();\r\n }\r\n if (this.rowCheckboxList) {\r\n try {\r\n for (var _b = __values(this.rowCheckboxList), _c = _b.next(); !_c.done; _c = _b.next()) {\r\n var checkbox = _c.value;\r\n checkbox.destroy();\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n }\r\n if (this.handleContentClick) {\r\n this.content.removeEventListener('click', this.handleContentClick);\r\n }\r\n };\r\n MDCDataTable.prototype.getDefaultFoundation = function () {\r\n var _this = this;\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take\r\n // a Partial. To ensure we don't accidentally omit any\r\n // methods, we need a separate, strongly typed adapter variable.\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n var adapter = {\r\n addClass: function (className) {\r\n _this.root.classList.add(className);\r\n },\r\n removeClass: function (className) {\r\n _this.root.classList.remove(className);\r\n },\r\n getHeaderCellElements: function () { return _this.getHeaderCells(); },\r\n getHeaderCellCount: function () { return _this.getHeaderCells().length; },\r\n getAttributeByHeaderCellIndex: function (index, attribute) {\r\n return _this.getHeaderCells()[index].getAttribute(attribute);\r\n },\r\n setAttributeByHeaderCellIndex: function (index, attribute, value) {\r\n _this.getHeaderCells()[index].setAttribute(attribute, value);\r\n },\r\n setClassNameByHeaderCellIndex: function (index, className) {\r\n _this.getHeaderCells()[index].classList.add(className);\r\n },\r\n removeClassNameByHeaderCellIndex: function (index, className) {\r\n _this.getHeaderCells()[index].classList.remove(className);\r\n },\r\n notifySortAction: function (data) {\r\n _this.emit(events.SORTED, data, /** shouldBubble */ true);\r\n },\r\n getTableContainerHeight: function () {\r\n var tableContainer = _this.root.querySelector(\".\" + cssClasses.TABLE_CONTAINER);\r\n if (!tableContainer) {\r\n throw new Error('MDCDataTable: Table container element not found.');\r\n }\r\n return tableContainer.getBoundingClientRect().height;\r\n },\r\n getTableHeaderHeight: function () {\r\n var tableHeader = _this.root.querySelector(selectors.HEADER_ROW);\r\n if (!tableHeader) {\r\n throw new Error('MDCDataTable: Table header element not found.');\r\n }\r\n return tableHeader.getBoundingClientRect().height;\r\n },\r\n setProgressIndicatorStyles: function (styles) {\r\n var progressIndicator = _this.root.querySelector(selectors.PROGRESS_INDICATOR);\r\n if (!progressIndicator) {\r\n throw new Error('MDCDataTable: Progress indicator element not found.');\r\n }\r\n progressIndicator.style.setProperty('height', styles.height);\r\n progressIndicator.style.setProperty('top', styles.top);\r\n },\r\n addClassAtRowIndex: function (rowIndex, className) {\r\n _this.getRows()[rowIndex].classList.add(className);\r\n },\r\n getRowCount: function () { return _this.getRows().length; },\r\n getRowElements: function () { return [].slice.call(_this.root.querySelectorAll(selectors.ROW)); },\r\n getRowIdAtIndex: function (rowIndex) {\r\n return _this.getRows()[rowIndex].getAttribute(dataAttributes.ROW_ID);\r\n },\r\n getRowIndexByChildElement: function (el) {\r\n return _this.getRows().indexOf(closest(el, selectors.ROW));\r\n },\r\n getSelectedRowCount: function () {\r\n return _this.root.querySelectorAll(selectors.ROW_SELECTED).length;\r\n },\r\n isCheckboxAtRowIndexChecked: function (rowIndex) {\r\n return _this.rowCheckboxList[rowIndex].checked;\r\n },\r\n isHeaderRowCheckboxChecked: function () { return _this.headerRowCheckbox.checked; },\r\n isRowsSelectable: function () {\r\n return !!_this.root.querySelector(selectors.ROW_CHECKBOX) ||\r\n !!_this.root.querySelector(selectors.HEADER_ROW_CHECKBOX);\r\n },\r\n notifyRowSelectionChanged: function (data) {\r\n _this.emit(events.ROW_SELECTION_CHANGED, {\r\n row: _this.getRowByIndex(data.rowIndex),\r\n rowId: _this.getRowIdByIndex(data.rowIndex),\r\n rowIndex: data.rowIndex,\r\n selected: data.selected,\r\n }, \r\n /** shouldBubble */ true);\r\n },\r\n notifySelectedAll: function () {\r\n _this.emit(events.SELECTED_ALL, {}, /** shouldBubble */ true);\r\n },\r\n notifyUnselectedAll: function () {\r\n _this.emit(events.UNSELECTED_ALL, {}, /** shouldBubble */ true);\r\n },\r\n notifyRowClick: function (data) {\r\n _this.emit(events.ROW_CLICK, data, /** shouldBubble */ true);\r\n },\r\n registerHeaderRowCheckbox: function () {\r\n if (_this.headerRowCheckbox) {\r\n _this.headerRowCheckbox.destroy();\r\n }\r\n var checkboxEl = _this.root.querySelector(selectors.HEADER_ROW_CHECKBOX);\r\n _this.headerRowCheckbox = _this.checkboxFactory(checkboxEl);\r\n },\r\n registerRowCheckboxes: function () {\r\n if (_this.rowCheckboxList) {\r\n _this.rowCheckboxList.forEach(function (checkbox) {\r\n checkbox.destroy();\r\n });\r\n }\r\n _this.rowCheckboxList = [];\r\n _this.getRows().forEach(function (rowEl) {\r\n var checkbox = _this.checkboxFactory(rowEl.querySelector(selectors.ROW_CHECKBOX));\r\n _this.rowCheckboxList.push(checkbox);\r\n });\r\n },\r\n removeClassAtRowIndex: function (rowIndex, className) {\r\n _this.getRows()[rowIndex].classList.remove(className);\r\n },\r\n setAttributeAtRowIndex: function (rowIndex, attr, value) {\r\n _this.getRows()[rowIndex].setAttribute(attr, value);\r\n },\r\n setHeaderRowCheckboxChecked: function (checked) {\r\n _this.headerRowCheckbox.checked = checked;\r\n },\r\n setHeaderRowCheckboxIndeterminate: function (indeterminate) {\r\n _this.headerRowCheckbox.indeterminate = indeterminate;\r\n },\r\n setRowCheckboxCheckedAtIndex: function (rowIndex, checked) {\r\n _this.rowCheckboxList[rowIndex].checked = checked;\r\n },\r\n setSortStatusLabelByHeaderCellIndex: function (columnIndex, sortValue) {\r\n var headerCell = _this.getHeaderCells()[columnIndex];\r\n var sortStatusLabel = headerCell.querySelector(selectors.SORT_STATUS_LABEL);\r\n if (!sortStatusLabel)\r\n return;\r\n sortStatusLabel.textContent =\r\n _this.getSortStatusMessageBySortValue(sortValue);\r\n },\r\n };\r\n return new MDCDataTableFoundation(adapter);\r\n };\r\n MDCDataTable.prototype.getRowByIndex = function (index) {\r\n return this.getRows()[index];\r\n };\r\n MDCDataTable.prototype.getRowIdByIndex = function (index) {\r\n return this.getRowByIndex(index).getAttribute(dataAttributes.ROW_ID);\r\n };\r\n MDCDataTable.prototype.handleHeaderRowClick = function (event) {\r\n var headerCell = closest(event.target, selectors.HEADER_CELL_WITH_SORT);\r\n if (!headerCell) {\r\n return;\r\n }\r\n var columnId = headerCell.getAttribute(dataAttributes.COLUMN_ID);\r\n var columnIndex = this.getHeaderCells().indexOf(headerCell);\r\n if (columnIndex === -1) {\r\n return;\r\n }\r\n this.foundation.handleSortAction({ columnId: columnId, columnIndex: columnIndex, headerCell: headerCell });\r\n };\r\n MDCDataTable.prototype.getSortStatusMessageBySortValue = function (sortValue) {\r\n switch (sortValue) {\r\n case SortValue.ASCENDING:\r\n return messages.SORTED_IN_ASCENDING;\r\n case SortValue.DESCENDING:\r\n return messages.SORTED_IN_DESCENDING;\r\n default:\r\n return '';\r\n }\r\n };\r\n MDCDataTable.prototype.getLinearProgressElement = function () {\r\n var el = this.root.querySelector(\".\" + cssClasses.LINEAR_PROGRESS);\r\n if (!el) {\r\n throw new Error('MDCDataTable: linear progress element is not found.');\r\n }\r\n return el;\r\n };\r\n MDCDataTable.prototype.getLinearProgress = function () {\r\n if (!this.linearProgress) {\r\n var el = this.getLinearProgressElement();\r\n this.linearProgress = new MDCLinearProgress(el);\r\n }\r\n return this.linearProgress;\r\n };\r\n MDCDataTable.prototype.getRowIdByRowElement = function (rowElement) {\r\n return rowElement.getAttribute(dataAttributes.ROW_ID);\r\n };\r\n return MDCDataTable;\r\n}(MDCComponent));\r\nexport { MDCDataTable };\r\n//# sourceMappingURL=component.js.map","/**\r\n * @license\r\n * Copyright 2017 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { AnimationFrame } from '@material/animation/animationframe';\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { cssClasses, numbers, strings } from './constants';\r\nvar AnimationKeys;\r\n(function (AnimationKeys) {\r\n AnimationKeys[\"POLL_SCROLL_POS\"] = \"poll_scroll_position\";\r\n AnimationKeys[\"POLL_LAYOUT_CHANGE\"] = \"poll_layout_change\";\r\n})(AnimationKeys || (AnimationKeys = {}));\r\nvar MDCDialogFoundation = /** @class */ (function (_super) {\r\n __extends(MDCDialogFoundation, _super);\r\n function MDCDialogFoundation(adapter) {\r\n var _this = _super.call(this, __assign(__assign({}, MDCDialogFoundation.defaultAdapter), adapter)) || this;\r\n _this.dialogOpen = false;\r\n _this.isFullscreen = false;\r\n _this.animationFrame = 0;\r\n _this.animationTimer = 0;\r\n _this.escapeKeyAction = strings.CLOSE_ACTION;\r\n _this.scrimClickAction = strings.CLOSE_ACTION;\r\n _this.autoStackButtons = true;\r\n _this.areButtonsStacked = false;\r\n _this.suppressDefaultPressSelector = strings.SUPPRESS_DEFAULT_PRESS_SELECTOR;\r\n _this.animFrame = new AnimationFrame();\r\n _this.contentScrollHandler = function () {\r\n _this.handleScrollEvent();\r\n };\r\n _this.windowResizeHandler = function () {\r\n _this.layout();\r\n };\r\n _this.windowOrientationChangeHandler = function () {\r\n _this.layout();\r\n };\r\n return _this;\r\n }\r\n Object.defineProperty(MDCDialogFoundation, \"cssClasses\", {\r\n get: function () {\r\n return cssClasses;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCDialogFoundation, \"strings\", {\r\n get: function () {\r\n return strings;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCDialogFoundation, \"numbers\", {\r\n get: function () {\r\n return numbers;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCDialogFoundation, \"defaultAdapter\", {\r\n get: function () {\r\n return {\r\n addBodyClass: function () { return undefined; },\r\n addClass: function () { return undefined; },\r\n areButtonsStacked: function () { return false; },\r\n clickDefaultButton: function () { return undefined; },\r\n eventTargetMatches: function () { return false; },\r\n getActionFromEvent: function () { return ''; },\r\n getInitialFocusEl: function () { return null; },\r\n hasClass: function () { return false; },\r\n isContentScrollable: function () { return false; },\r\n notifyClosed: function () { return undefined; },\r\n notifyClosing: function () { return undefined; },\r\n notifyOpened: function () { return undefined; },\r\n notifyOpening: function () { return undefined; },\r\n releaseFocus: function () { return undefined; },\r\n removeBodyClass: function () { return undefined; },\r\n removeClass: function () { return undefined; },\r\n reverseButtons: function () { return undefined; },\r\n trapFocus: function () { return undefined; },\r\n registerContentEventHandler: function () { return undefined; },\r\n deregisterContentEventHandler: function () { return undefined; },\r\n isScrollableContentAtTop: function () { return false; },\r\n isScrollableContentAtBottom: function () { return false; },\r\n registerWindowEventHandler: function () { return undefined; },\r\n deregisterWindowEventHandler: function () { return undefined; },\r\n };\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCDialogFoundation.prototype.init = function () {\r\n if (this.adapter.hasClass(cssClasses.STACKED)) {\r\n this.setAutoStackButtons(false);\r\n }\r\n this.isFullscreen = this.adapter.hasClass(cssClasses.FULLSCREEN);\r\n };\r\n MDCDialogFoundation.prototype.destroy = function () {\r\n if (this.animationTimer) {\r\n clearTimeout(this.animationTimer);\r\n this.handleAnimationTimerEnd();\r\n }\r\n if (this.isFullscreen) {\r\n this.adapter.deregisterContentEventHandler('scroll', this.contentScrollHandler);\r\n }\r\n this.animFrame.cancelAll();\r\n this.adapter.deregisterWindowEventHandler('resize', this.windowResizeHandler);\r\n this.adapter.deregisterWindowEventHandler('orientationchange', this.windowOrientationChangeHandler);\r\n };\r\n MDCDialogFoundation.prototype.open = function (dialogOptions) {\r\n var _this = this;\r\n this.dialogOpen = true;\r\n this.adapter.notifyOpening();\r\n this.adapter.addClass(cssClasses.OPENING);\r\n if (this.isFullscreen) {\r\n // A scroll event listener is registered even if the dialog is not\r\n // scrollable on open, since the window resize event, or orientation\r\n // change may make the dialog scrollable after it is opened.\r\n this.adapter.registerContentEventHandler('scroll', this.contentScrollHandler);\r\n }\r\n if (dialogOptions && dialogOptions.isAboveFullscreenDialog) {\r\n this.adapter.addClass(cssClasses.SCRIM_HIDDEN);\r\n }\r\n this.adapter.registerWindowEventHandler('resize', this.windowResizeHandler);\r\n this.adapter.registerWindowEventHandler('orientationchange', this.windowOrientationChangeHandler);\r\n // Wait a frame once display is no longer \"none\", to establish basis for\r\n // animation\r\n this.runNextAnimationFrame(function () {\r\n _this.adapter.addClass(cssClasses.OPEN);\r\n _this.adapter.addBodyClass(cssClasses.SCROLL_LOCK);\r\n _this.layout();\r\n _this.animationTimer = setTimeout(function () {\r\n _this.handleAnimationTimerEnd();\r\n _this.adapter.trapFocus(_this.adapter.getInitialFocusEl());\r\n _this.adapter.notifyOpened();\r\n }, numbers.DIALOG_ANIMATION_OPEN_TIME_MS);\r\n });\r\n };\r\n MDCDialogFoundation.prototype.close = function (action) {\r\n var _this = this;\r\n if (action === void 0) { action = ''; }\r\n if (!this.dialogOpen) {\r\n // Avoid redundant close calls (and events), e.g. from keydown on elements\r\n // that inherently emit click\r\n return;\r\n }\r\n this.dialogOpen = false;\r\n this.adapter.notifyClosing(action);\r\n this.adapter.addClass(cssClasses.CLOSING);\r\n this.adapter.removeClass(cssClasses.OPEN);\r\n this.adapter.removeBodyClass(cssClasses.SCROLL_LOCK);\r\n if (this.isFullscreen) {\r\n this.adapter.deregisterContentEventHandler('scroll', this.contentScrollHandler);\r\n }\r\n this.adapter.deregisterWindowEventHandler('resize', this.windowResizeHandler);\r\n this.adapter.deregisterWindowEventHandler('orientationchange', this.windowOrientationChangeHandler);\r\n cancelAnimationFrame(this.animationFrame);\r\n this.animationFrame = 0;\r\n clearTimeout(this.animationTimer);\r\n this.animationTimer = setTimeout(function () {\r\n _this.adapter.releaseFocus();\r\n _this.handleAnimationTimerEnd();\r\n _this.adapter.notifyClosed(action);\r\n }, numbers.DIALOG_ANIMATION_CLOSE_TIME_MS);\r\n };\r\n /**\r\n * Used only in instances of showing a secondary dialog over a full-screen\r\n * dialog. Shows the \"surface scrim\" displayed over the full-screen dialog.\r\n */\r\n MDCDialogFoundation.prototype.showSurfaceScrim = function () {\r\n var _this = this;\r\n this.adapter.addClass(cssClasses.SURFACE_SCRIM_SHOWING);\r\n this.runNextAnimationFrame(function () {\r\n _this.adapter.addClass(cssClasses.SURFACE_SCRIM_SHOWN);\r\n });\r\n };\r\n /**\r\n * Used only in instances of showing a secondary dialog over a full-screen\r\n * dialog. Hides the \"surface scrim\" displayed over the full-screen dialog.\r\n */\r\n MDCDialogFoundation.prototype.hideSurfaceScrim = function () {\r\n this.adapter.removeClass(cssClasses.SURFACE_SCRIM_SHOWN);\r\n this.adapter.addClass(cssClasses.SURFACE_SCRIM_HIDING);\r\n };\r\n /**\r\n * Handles `transitionend` event triggered when surface scrim animation is\r\n * finished.\r\n */\r\n MDCDialogFoundation.prototype.handleSurfaceScrimTransitionEnd = function () {\r\n this.adapter.removeClass(cssClasses.SURFACE_SCRIM_HIDING);\r\n this.adapter.removeClass(cssClasses.SURFACE_SCRIM_SHOWING);\r\n };\r\n MDCDialogFoundation.prototype.isOpen = function () {\r\n return this.dialogOpen;\r\n };\r\n MDCDialogFoundation.prototype.getEscapeKeyAction = function () {\r\n return this.escapeKeyAction;\r\n };\r\n MDCDialogFoundation.prototype.setEscapeKeyAction = function (action) {\r\n this.escapeKeyAction = action;\r\n };\r\n MDCDialogFoundation.prototype.getScrimClickAction = function () {\r\n return this.scrimClickAction;\r\n };\r\n MDCDialogFoundation.prototype.setScrimClickAction = function (action) {\r\n this.scrimClickAction = action;\r\n };\r\n MDCDialogFoundation.prototype.getAutoStackButtons = function () {\r\n return this.autoStackButtons;\r\n };\r\n MDCDialogFoundation.prototype.setAutoStackButtons = function (autoStack) {\r\n this.autoStackButtons = autoStack;\r\n };\r\n MDCDialogFoundation.prototype.getSuppressDefaultPressSelector = function () {\r\n return this.suppressDefaultPressSelector;\r\n };\r\n MDCDialogFoundation.prototype.setSuppressDefaultPressSelector = function (selector) {\r\n this.suppressDefaultPressSelector = selector;\r\n };\r\n MDCDialogFoundation.prototype.layout = function () {\r\n var _this = this;\r\n this.animFrame.request(AnimationKeys.POLL_LAYOUT_CHANGE, function () {\r\n _this.layoutInternal();\r\n });\r\n };\r\n /** Handles click on the dialog root element. */\r\n MDCDialogFoundation.prototype.handleClick = function (evt) {\r\n var isScrim = this.adapter.eventTargetMatches(evt.target, strings.SCRIM_SELECTOR);\r\n // Check for scrim click first since it doesn't require querying ancestors.\r\n if (isScrim && this.scrimClickAction !== '') {\r\n this.close(this.scrimClickAction);\r\n }\r\n else {\r\n var action = this.adapter.getActionFromEvent(evt);\r\n if (action) {\r\n this.close(action);\r\n }\r\n }\r\n };\r\n /** Handles keydown on the dialog root element. */\r\n MDCDialogFoundation.prototype.handleKeydown = function (evt) {\r\n var isEnter = evt.key === 'Enter' || evt.keyCode === 13;\r\n if (!isEnter) {\r\n return;\r\n }\r\n var action = this.adapter.getActionFromEvent(evt);\r\n if (action) {\r\n // Action button callback is handled in `handleClick`,\r\n // since space/enter keydowns on buttons trigger click events.\r\n return;\r\n }\r\n // `composedPath` is used here, when available, to account for use cases\r\n // where a target meant to suppress the default press behaviour\r\n // may exist in a shadow root.\r\n // For example, a textarea inside a web component:\r\n // \r\n // \r\n // #shadow-root (open)\r\n // \r\n // #shadow-root (open)\r\n // \r\n // \r\n // \r\n // \r\n var target = evt.composedPath ? evt.composedPath()[0] : evt.target;\r\n var isDefault = this.suppressDefaultPressSelector ?\r\n !this.adapter.eventTargetMatches(target, this.suppressDefaultPressSelector) :\r\n true;\r\n if (isEnter && isDefault) {\r\n this.adapter.clickDefaultButton();\r\n }\r\n };\r\n /** Handles keydown on the document. */\r\n MDCDialogFoundation.prototype.handleDocumentKeydown = function (evt) {\r\n var isEscape = evt.key === 'Escape' || evt.keyCode === 27;\r\n if (isEscape && this.escapeKeyAction !== '') {\r\n this.close(this.escapeKeyAction);\r\n }\r\n };\r\n /**\r\n * Handles scroll event on the dialog's content element -- showing a scroll\r\n * divider on the header or footer based on the scroll position. This handler\r\n * should only be registered on full-screen dialogs with scrollable content.\r\n */\r\n MDCDialogFoundation.prototype.handleScrollEvent = function () {\r\n var _this = this;\r\n // Since scroll events can fire at a high rate, we throttle these events by\r\n // using requestAnimationFrame.\r\n this.animFrame.request(AnimationKeys.POLL_SCROLL_POS, function () {\r\n _this.toggleScrollDividerHeader();\r\n _this.toggleScrollDividerFooter();\r\n });\r\n };\r\n MDCDialogFoundation.prototype.layoutInternal = function () {\r\n if (this.autoStackButtons) {\r\n this.detectStackedButtons();\r\n }\r\n this.toggleScrollableClasses();\r\n };\r\n MDCDialogFoundation.prototype.handleAnimationTimerEnd = function () {\r\n this.animationTimer = 0;\r\n this.adapter.removeClass(cssClasses.OPENING);\r\n this.adapter.removeClass(cssClasses.CLOSING);\r\n };\r\n /**\r\n * Runs the given logic on the next animation frame, using setTimeout to\r\n * factor in Firefox reflow behavior.\r\n */\r\n MDCDialogFoundation.prototype.runNextAnimationFrame = function (callback) {\r\n var _this = this;\r\n cancelAnimationFrame(this.animationFrame);\r\n this.animationFrame = requestAnimationFrame(function () {\r\n _this.animationFrame = 0;\r\n clearTimeout(_this.animationTimer);\r\n _this.animationTimer = setTimeout(callback, 0);\r\n });\r\n };\r\n MDCDialogFoundation.prototype.detectStackedButtons = function () {\r\n // Remove the class first to let us measure the buttons' natural positions.\r\n this.adapter.removeClass(cssClasses.STACKED);\r\n var areButtonsStacked = this.adapter.areButtonsStacked();\r\n if (areButtonsStacked) {\r\n this.adapter.addClass(cssClasses.STACKED);\r\n }\r\n if (areButtonsStacked !== this.areButtonsStacked) {\r\n this.adapter.reverseButtons();\r\n this.areButtonsStacked = areButtonsStacked;\r\n }\r\n };\r\n MDCDialogFoundation.prototype.toggleScrollableClasses = function () {\r\n // Remove the class first to let us measure the natural height of the\r\n // content.\r\n this.adapter.removeClass(cssClasses.SCROLLABLE);\r\n if (this.adapter.isContentScrollable()) {\r\n this.adapter.addClass(cssClasses.SCROLLABLE);\r\n if (this.isFullscreen) {\r\n // If dialog is full-screen and scrollable, check if a scroll divider\r\n // should be shown.\r\n this.toggleScrollDividerHeader();\r\n this.toggleScrollDividerFooter();\r\n }\r\n }\r\n };\r\n MDCDialogFoundation.prototype.toggleScrollDividerHeader = function () {\r\n if (!this.adapter.isScrollableContentAtTop()) {\r\n this.adapter.addClass(cssClasses.SCROLL_DIVIDER_HEADER);\r\n }\r\n else if (this.adapter.hasClass(cssClasses.SCROLL_DIVIDER_HEADER)) {\r\n this.adapter.removeClass(cssClasses.SCROLL_DIVIDER_HEADER);\r\n }\r\n };\r\n MDCDialogFoundation.prototype.toggleScrollDividerFooter = function () {\r\n if (!this.adapter.isScrollableContentAtBottom()) {\r\n this.adapter.addClass(cssClasses.SCROLL_DIVIDER_FOOTER);\r\n }\r\n else if (this.adapter.hasClass(cssClasses.SCROLL_DIVIDER_FOOTER)) {\r\n this.adapter.removeClass(cssClasses.SCROLL_DIVIDER_FOOTER);\r\n }\r\n };\r\n return MDCDialogFoundation;\r\n}(MDCFoundation));\r\nexport { MDCDialogFoundation };\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCDialogFoundation;\r\n//# sourceMappingURL=foundation.js.map","/**\r\n * @license\r\n * Copyright 2020 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n/**\r\n * AnimationFrame provides a user-friendly abstraction around requesting\r\n * and canceling animation frames.\r\n */\r\nvar AnimationFrame = /** @class */ (function () {\r\n function AnimationFrame() {\r\n this.rafIDs = new Map();\r\n }\r\n /**\r\n * Requests an animation frame. Cancels any existing frame with the same key.\r\n * @param {string} key The key for this callback.\r\n * @param {FrameRequestCallback} callback The callback to be executed.\r\n */\r\n AnimationFrame.prototype.request = function (key, callback) {\r\n var _this = this;\r\n this.cancel(key);\r\n var frameID = requestAnimationFrame(function (frame) {\r\n _this.rafIDs.delete(key);\r\n // Callback must come *after* the key is deleted so that nested calls to\r\n // request with the same key are not deleted.\r\n callback(frame);\r\n });\r\n this.rafIDs.set(key, frameID);\r\n };\r\n /**\r\n * Cancels a queued callback with the given key.\r\n * @param {string} key The key for this callback.\r\n */\r\n AnimationFrame.prototype.cancel = function (key) {\r\n var rafID = this.rafIDs.get(key);\r\n if (rafID) {\r\n cancelAnimationFrame(rafID);\r\n this.rafIDs.delete(key);\r\n }\r\n };\r\n /**\r\n * Cancels all queued callback.\r\n */\r\n AnimationFrame.prototype.cancelAll = function () {\r\n var _this = this;\r\n // Need to use forEach because it's the only iteration method supported\r\n // by IE11. Suppress the underscore because we don't need it.\r\n // tslint:disable-next-line:enforce-name-casing\r\n this.rafIDs.forEach(function (_, key) {\r\n _this.cancel(key);\r\n });\r\n };\r\n /**\r\n * Returns the queue of unexecuted callback keys.\r\n */\r\n AnimationFrame.prototype.getQueue = function () {\r\n var queue = [];\r\n // Need to use forEach because it's the only iteration method supported\r\n // by IE11. Suppress the underscore because we don't need it.\r\n // tslint:disable-next-line:enforce-name-casing\r\n this.rafIDs.forEach(function (_, key) {\r\n queue.push(key);\r\n });\r\n return queue;\r\n };\r\n return AnimationFrame;\r\n}());\r\nexport { AnimationFrame };\r\n//# sourceMappingURL=animationframe.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nexport var cssClasses = {\r\n CLOSING: 'mdc-dialog--closing',\r\n OPEN: 'mdc-dialog--open',\r\n OPENING: 'mdc-dialog--opening',\r\n SCROLLABLE: 'mdc-dialog--scrollable',\r\n SCROLL_LOCK: 'mdc-dialog-scroll-lock',\r\n STACKED: 'mdc-dialog--stacked',\r\n FULLSCREEN: 'mdc-dialog--fullscreen',\r\n // Class for showing a scroll divider on full-screen dialog header element.\r\n // Should only be displayed on scrollable content, when the dialog content is\r\n // scrolled \"underneath\" the header.\r\n SCROLL_DIVIDER_HEADER: 'mdc-dialog-scroll-divider-header',\r\n // Class for showing a scroll divider on a full-screen dialog footer element.\r\n // Should only be displayed on scrolalble content, when the dialog content is\r\n // obscured \"underneath\" the footer.\r\n SCROLL_DIVIDER_FOOTER: 'mdc-dialog-scroll-divider-footer',\r\n // The \"surface scrim\" is a scrim covering only the surface of a dialog. This\r\n // is used in situations where a confirmation dialog is shown over an already\r\n // opened full-screen dialog. On larger screen-sizes, the full-screen dialog\r\n // is sized as a modal and so in these situations we display a \"surface scrim\"\r\n // to prevent a \"double scrim\" (where the scrim from the secondary\r\n // confirmation dialog would overlap with the scrim from the full-screen\r\n // dialog).\r\n SURFACE_SCRIM_SHOWN: 'mdc-dialog__surface-scrim--shown',\r\n // \"Showing\" animating class for the surface-scrim.\r\n SURFACE_SCRIM_SHOWING: 'mdc-dialog__surface-scrim--showing',\r\n // \"Hiding\" animating class for the surface-scrim.\r\n SURFACE_SCRIM_HIDING: 'mdc-dialog__surface-scrim--hiding',\r\n // Class to hide a dialog's scrim (used in conjunction with a surface-scrim).\r\n // Note that we only hide the original scrim rather than removing it entirely\r\n // to prevent interactions with the content behind this scrim, and to capture\r\n // scrim clicks.\r\n SCRIM_HIDDEN: 'mdc-dialog__scrim--hidden',\r\n};\r\nexport var strings = {\r\n ACTION_ATTRIBUTE: 'data-mdc-dialog-action',\r\n BUTTON_DEFAULT_ATTRIBUTE: 'data-mdc-dialog-button-default',\r\n BUTTON_SELECTOR: '.mdc-dialog__button',\r\n CLOSED_EVENT: 'MDCDialog:closed',\r\n CLOSE_ACTION: 'close',\r\n CLOSING_EVENT: 'MDCDialog:closing',\r\n CONTAINER_SELECTOR: '.mdc-dialog__container',\r\n CONTENT_SELECTOR: '.mdc-dialog__content',\r\n DESTROY_ACTION: 'destroy',\r\n INITIAL_FOCUS_ATTRIBUTE: 'data-mdc-dialog-initial-focus',\r\n OPENED_EVENT: 'MDCDialog:opened',\r\n OPENING_EVENT: 'MDCDialog:opening',\r\n SCRIM_SELECTOR: '.mdc-dialog__scrim',\r\n SUPPRESS_DEFAULT_PRESS_SELECTOR: [\r\n 'textarea',\r\n '.mdc-menu .mdc-list-item',\r\n '.mdc-menu .mdc-deprecated-list-item',\r\n ].join(', '),\r\n SURFACE_SELECTOR: '.mdc-dialog__surface',\r\n};\r\nexport var numbers = {\r\n DIALOG_ANIMATION_CLOSE_TIME_MS: 75,\r\n DIALOG_ANIMATION_OPEN_TIME_MS: 150,\r\n};\r\n//# sourceMappingURL=constants.js.map","/**\r\n * @license\r\n * Copyright 2017 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __extends, __values } from \"tslib\";\r\nimport { MDCComponent } from '@material/base/component';\r\nimport { FocusTrap } from '@material/dom/focus-trap';\r\nimport { closest, matches } from '@material/dom/ponyfill';\r\nimport { MDCRipple } from '@material/ripple/component';\r\nimport { MDCDialogFoundation } from './foundation';\r\nimport * as util from './util';\r\nvar strings = MDCDialogFoundation.strings;\r\nvar MDCDialog = /** @class */ (function (_super) {\r\n __extends(MDCDialog, _super);\r\n function MDCDialog() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(MDCDialog.prototype, \"isOpen\", {\r\n get: function () {\r\n return this.foundation.isOpen();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCDialog.prototype, \"escapeKeyAction\", {\r\n get: function () {\r\n return this.foundation.getEscapeKeyAction();\r\n },\r\n set: function (action) {\r\n this.foundation.setEscapeKeyAction(action);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCDialog.prototype, \"scrimClickAction\", {\r\n get: function () {\r\n return this.foundation.getScrimClickAction();\r\n },\r\n set: function (action) {\r\n this.foundation.setScrimClickAction(action);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCDialog.prototype, \"autoStackButtons\", {\r\n get: function () {\r\n return this.foundation.getAutoStackButtons();\r\n },\r\n set: function (autoStack) {\r\n this.foundation.setAutoStackButtons(autoStack);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCDialog.attachTo = function (root) {\r\n return new MDCDialog(root);\r\n };\r\n MDCDialog.prototype.initialize = function (focusTrapFactory) {\r\n var e_1, _a;\r\n if (focusTrapFactory === void 0) { focusTrapFactory = function (el, focusOptions) {\r\n return new FocusTrap(el, focusOptions);\r\n }; }\r\n var container = this.root.querySelector(strings.CONTAINER_SELECTOR);\r\n if (!container) {\r\n throw new Error(\"Dialog component requires a \" + strings.CONTAINER_SELECTOR + \" container element\");\r\n }\r\n this.container = container;\r\n this.content =\r\n this.root.querySelector(strings.CONTENT_SELECTOR);\r\n this.buttons = [].slice.call(this.root.querySelectorAll(strings.BUTTON_SELECTOR));\r\n this.defaultButton = this.root.querySelector(\"[\" + strings.BUTTON_DEFAULT_ATTRIBUTE + \"]\");\r\n this.focusTrapFactory = focusTrapFactory;\r\n this.buttonRipples = [];\r\n try {\r\n for (var _b = __values(this.buttons), _c = _b.next(); !_c.done; _c = _b.next()) {\r\n var buttonEl = _c.value;\r\n this.buttonRipples.push(new MDCRipple(buttonEl));\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n };\r\n MDCDialog.prototype.initialSyncWithDOM = function () {\r\n var _this = this;\r\n this.focusTrap = util.createFocusTrapInstance(this.container, this.focusTrapFactory, this.getInitialFocusEl() || undefined);\r\n this.handleClick = this.foundation.handleClick.bind(this.foundation);\r\n this.handleKeydown = this.foundation.handleKeydown.bind(this.foundation);\r\n this.handleDocumentKeydown =\r\n this.foundation.handleDocumentKeydown.bind(this.foundation);\r\n // this.handleLayout = this.layout.bind(this);\r\n this.handleOpening = function () {\r\n document.addEventListener('keydown', _this.handleDocumentKeydown);\r\n };\r\n this.handleClosing = function () {\r\n document.removeEventListener('keydown', _this.handleDocumentKeydown);\r\n };\r\n this.listen('click', this.handleClick);\r\n this.listen('keydown', this.handleKeydown);\r\n this.listen(strings.OPENING_EVENT, this.handleOpening);\r\n this.listen(strings.CLOSING_EVENT, this.handleClosing);\r\n };\r\n MDCDialog.prototype.destroy = function () {\r\n this.unlisten('click', this.handleClick);\r\n this.unlisten('keydown', this.handleKeydown);\r\n this.unlisten(strings.OPENING_EVENT, this.handleOpening);\r\n this.unlisten(strings.CLOSING_EVENT, this.handleClosing);\r\n this.handleClosing();\r\n this.buttonRipples.forEach(function (ripple) {\r\n ripple.destroy();\r\n });\r\n _super.prototype.destroy.call(this);\r\n };\r\n MDCDialog.prototype.layout = function () {\r\n this.foundation.layout();\r\n };\r\n MDCDialog.prototype.open = function () {\r\n this.foundation.open();\r\n };\r\n MDCDialog.prototype.close = function (action) {\r\n if (action === void 0) { action = ''; }\r\n this.foundation.close(action);\r\n };\r\n MDCDialog.prototype.getDefaultFoundation = function () {\r\n var _this = this;\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n var adapter = {\r\n addBodyClass: function (className) { return document.body.classList.add(className); },\r\n addClass: function (className) { return _this.root.classList.add(className); },\r\n areButtonsStacked: function () { return util.areTopsMisaligned(_this.buttons); },\r\n clickDefaultButton: function () {\r\n if (_this.defaultButton && !_this.defaultButton.disabled) {\r\n _this.defaultButton.click();\r\n }\r\n },\r\n eventTargetMatches: function (target, selector) {\r\n return target ? matches(target, selector) : false;\r\n },\r\n getActionFromEvent: function (evt) {\r\n if (!evt.target) {\r\n return '';\r\n }\r\n var element = closest(evt.target, \"[\" + strings.ACTION_ATTRIBUTE + \"]\");\r\n return element && element.getAttribute(strings.ACTION_ATTRIBUTE);\r\n },\r\n getInitialFocusEl: function () { return _this.getInitialFocusEl(); },\r\n hasClass: function (className) { return _this.root.classList.contains(className); },\r\n isContentScrollable: function () { return util.isScrollable(_this.content); },\r\n notifyClosed: function (action) { return _this.emit(strings.CLOSED_EVENT, action ? { action: action } : {}); },\r\n notifyClosing: function (action) { return _this.emit(strings.CLOSING_EVENT, action ? { action: action } : {}); },\r\n notifyOpened: function () { return _this.emit(strings.OPENED_EVENT, {}); },\r\n notifyOpening: function () { return _this.emit(strings.OPENING_EVENT, {}); },\r\n releaseFocus: function () {\r\n _this.focusTrap.releaseFocus();\r\n },\r\n removeBodyClass: function (className) { return document.body.classList.remove(className); },\r\n removeClass: function (className) { return _this.root.classList.remove(className); },\r\n reverseButtons: function () {\r\n _this.buttons.reverse();\r\n _this.buttons.forEach(function (button) {\r\n button.parentElement.appendChild(button);\r\n });\r\n },\r\n trapFocus: function () {\r\n _this.focusTrap.trapFocus();\r\n },\r\n registerContentEventHandler: function (evt, handler) {\r\n if (_this.content instanceof HTMLElement) {\r\n _this.content.addEventListener(evt, handler);\r\n }\r\n },\r\n deregisterContentEventHandler: function (evt, handler) {\r\n if (_this.content instanceof HTMLElement) {\r\n _this.content.removeEventListener(evt, handler);\r\n }\r\n },\r\n isScrollableContentAtTop: function () {\r\n return util.isScrollAtTop(_this.content);\r\n },\r\n isScrollableContentAtBottom: function () {\r\n return util.isScrollAtBottom(_this.content);\r\n },\r\n registerWindowEventHandler: function (evt, handler) {\r\n window.addEventListener(evt, handler);\r\n },\r\n deregisterWindowEventHandler: function (evt, handler) {\r\n window.removeEventListener(evt, handler);\r\n },\r\n };\r\n return new MDCDialogFoundation(adapter);\r\n };\r\n MDCDialog.prototype.getInitialFocusEl = function () {\r\n return this.root.querySelector(\"[\" + strings.INITIAL_FOCUS_ATTRIBUTE + \"]\");\r\n };\r\n return MDCDialog;\r\n}(MDCComponent));\r\nexport { MDCDialog };\r\n//# sourceMappingURL=component.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nexport function createFocusTrapInstance(surfaceEl, focusTrapFactory, initialFocusEl) {\r\n return focusTrapFactory(surfaceEl, { initialFocusEl: initialFocusEl });\r\n}\r\nexport function isScrollable(el) {\r\n return el ? el.scrollHeight > el.offsetHeight : false;\r\n}\r\n/**\r\n * For scrollable content, returns true if the content has not been scrolled\r\n * (that is, the scroll content is as the \"top\"). This is used in full-screen\r\n * dialogs, where the scroll divider is expected only to appear once the\r\n * content has been scrolled \"underneath\" the header bar.\r\n */\r\nexport function isScrollAtTop(el) {\r\n return el ? el.scrollTop === 0 : false;\r\n}\r\n/**\r\n * For scrollable content, returns true if the content has been scrolled all the\r\n * way to the bottom. This is used in full-screen dialogs, where the footer\r\n * scroll divider is expected only to appear when the content is \"cut-off\" by\r\n * the footer bar.\r\n */\r\nexport function isScrollAtBottom(el) {\r\n return el ? Math.ceil(el.scrollHeight - el.scrollTop) === el.clientHeight :\r\n false;\r\n}\r\nexport function areTopsMisaligned(els) {\r\n var tops = new Set();\r\n [].forEach.call(els, function (el) { return tops.add(el.offsetTop); });\r\n return tops.size > 1;\r\n}\r\n//# sourceMappingURL=util.js.map","/**\r\n * @license\r\n * Copyright 2019 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n/**\r\n * Determine whether the current browser supports passive event listeners, and\r\n * if so, use them.\r\n */\r\nexport function applyPassive(globalObj) {\r\n if (globalObj === void 0) { globalObj = window; }\r\n return supportsPassiveOption(globalObj) ?\r\n { passive: true } :\r\n false;\r\n}\r\nfunction supportsPassiveOption(globalObj) {\r\n if (globalObj === void 0) { globalObj = window; }\r\n // See\r\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\r\n var passiveSupported = false;\r\n try {\r\n var options = {\r\n // This function will be called when the browser\r\n // attempts to access the passive property.\r\n get passive() {\r\n passiveSupported = true;\r\n return false;\r\n }\r\n };\r\n var handler = function () { };\r\n globalObj.document.addEventListener('test', handler, options);\r\n globalObj.document.removeEventListener('test', handler, options);\r\n }\r\n catch (err) {\r\n passiveSupported = false;\r\n }\r\n return passiveSupported;\r\n}\r\n//# sourceMappingURL=events.js.map","/**\r\n * @license\r\n * Copyright 2020 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nvar FOCUS_SENTINEL_CLASS = 'mdc-dom-focus-sentinel';\r\n/**\r\n * Utility to trap focus in a given root element, e.g. for modal components such\r\n * as dialogs. The root should have at least one focusable child element,\r\n * for setting initial focus when trapping focus.\r\n * Also tracks the previously focused element, and restores focus to that\r\n * element when releasing focus.\r\n */\r\nvar FocusTrap = /** @class */ (function () {\r\n function FocusTrap(root, options) {\r\n if (options === void 0) { options = {}; }\r\n this.root = root;\r\n this.options = options;\r\n // Previously focused element before trapping focus.\r\n this.elFocusedBeforeTrapFocus = null;\r\n }\r\n /**\r\n * Traps focus in `root`. Also focuses on either `initialFocusEl` if set;\r\n * otherwises sets initial focus to the first focusable child element.\r\n */\r\n FocusTrap.prototype.trapFocus = function () {\r\n var focusableEls = this.getFocusableElements(this.root);\r\n if (focusableEls.length === 0) {\r\n throw new Error('FocusTrap: Element must have at least one focusable child.');\r\n }\r\n this.elFocusedBeforeTrapFocus =\r\n document.activeElement instanceof HTMLElement ? document.activeElement :\r\n null;\r\n this.wrapTabFocus(this.root);\r\n if (!this.options.skipInitialFocus) {\r\n this.focusInitialElement(focusableEls, this.options.initialFocusEl);\r\n }\r\n };\r\n /**\r\n * Releases focus from `root`. Also restores focus to the previously focused\r\n * element.\r\n */\r\n FocusTrap.prototype.releaseFocus = function () {\r\n [].slice.call(this.root.querySelectorAll(\".\" + FOCUS_SENTINEL_CLASS))\r\n .forEach(function (sentinelEl) {\r\n sentinelEl.parentElement.removeChild(sentinelEl);\r\n });\r\n if (!this.options.skipRestoreFocus && this.elFocusedBeforeTrapFocus) {\r\n this.elFocusedBeforeTrapFocus.focus();\r\n }\r\n };\r\n /**\r\n * Wraps tab focus within `el` by adding two hidden sentinel divs which are\r\n * used to mark the beginning and the end of the tabbable region. When\r\n * focused, these sentinel elements redirect focus to the first/last\r\n * children elements of the tabbable region, ensuring that focus is trapped\r\n * within that region.\r\n */\r\n FocusTrap.prototype.wrapTabFocus = function (el) {\r\n var _this = this;\r\n var sentinelStart = this.createSentinel();\r\n var sentinelEnd = this.createSentinel();\r\n sentinelStart.addEventListener('focus', function () {\r\n var focusableEls = _this.getFocusableElements(el);\r\n if (focusableEls.length > 0) {\r\n focusableEls[focusableEls.length - 1].focus();\r\n }\r\n });\r\n sentinelEnd.addEventListener('focus', function () {\r\n var focusableEls = _this.getFocusableElements(el);\r\n if (focusableEls.length > 0) {\r\n focusableEls[0].focus();\r\n }\r\n });\r\n el.insertBefore(sentinelStart, el.children[0]);\r\n el.appendChild(sentinelEnd);\r\n };\r\n /**\r\n * Focuses on `initialFocusEl` if defined and a child of the root element.\r\n * Otherwise, focuses on the first focusable child element of the root.\r\n */\r\n FocusTrap.prototype.focusInitialElement = function (focusableEls, initialFocusEl) {\r\n var focusIndex = 0;\r\n if (initialFocusEl) {\r\n focusIndex = Math.max(focusableEls.indexOf(initialFocusEl), 0);\r\n }\r\n focusableEls[focusIndex].focus();\r\n };\r\n FocusTrap.prototype.getFocusableElements = function (root) {\r\n var focusableEls = [].slice.call(root.querySelectorAll('[autofocus], [tabindex], a, input, textarea, select, button'));\r\n return focusableEls.filter(function (el) {\r\n var isDisabledOrHidden = el.getAttribute('aria-disabled') === 'true' ||\r\n el.getAttribute('disabled') != null ||\r\n el.getAttribute('hidden') != null ||\r\n el.getAttribute('aria-hidden') === 'true';\r\n var isTabbableAndVisible = el.tabIndex >= 0 &&\r\n el.getBoundingClientRect().width > 0 &&\r\n !el.classList.contains(FOCUS_SENTINEL_CLASS) && !isDisabledOrHidden;\r\n var isProgrammaticallyHidden = false;\r\n if (isTabbableAndVisible) {\r\n var style = getComputedStyle(el);\r\n isProgrammaticallyHidden =\r\n style.display === 'none' || style.visibility === 'hidden';\r\n }\r\n return isTabbableAndVisible && !isProgrammaticallyHidden;\r\n });\r\n };\r\n FocusTrap.prototype.createSentinel = function () {\r\n var sentinel = document.createElement('div');\r\n sentinel.setAttribute('tabindex', '0');\r\n // Don't announce in screen readers.\r\n sentinel.setAttribute('aria-hidden', 'true');\r\n sentinel.classList.add(FOCUS_SENTINEL_CLASS);\r\n return sentinel;\r\n };\r\n return FocusTrap;\r\n}());\r\nexport { FocusTrap };\r\n//# sourceMappingURL=focus-trap.js.map","/**\r\n * @license\r\n * Copyright 2020 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n/**\r\n * KEY provides normalized string values for keys.\r\n */\r\nexport var KEY = {\r\n UNKNOWN: 'Unknown',\r\n BACKSPACE: 'Backspace',\r\n ENTER: 'Enter',\r\n SPACEBAR: 'Spacebar',\r\n PAGE_UP: 'PageUp',\r\n PAGE_DOWN: 'PageDown',\r\n END: 'End',\r\n HOME: 'Home',\r\n ARROW_LEFT: 'ArrowLeft',\r\n ARROW_UP: 'ArrowUp',\r\n ARROW_RIGHT: 'ArrowRight',\r\n ARROW_DOWN: 'ArrowDown',\r\n DELETE: 'Delete',\r\n ESCAPE: 'Escape',\r\n TAB: 'Tab',\r\n};\r\nvar normalizedKeys = new Set();\r\n// IE11 has no support for new Map with iterable so we need to initialize this\r\n// by hand.\r\nnormalizedKeys.add(KEY.BACKSPACE);\r\nnormalizedKeys.add(KEY.ENTER);\r\nnormalizedKeys.add(KEY.SPACEBAR);\r\nnormalizedKeys.add(KEY.PAGE_UP);\r\nnormalizedKeys.add(KEY.PAGE_DOWN);\r\nnormalizedKeys.add(KEY.END);\r\nnormalizedKeys.add(KEY.HOME);\r\nnormalizedKeys.add(KEY.ARROW_LEFT);\r\nnormalizedKeys.add(KEY.ARROW_UP);\r\nnormalizedKeys.add(KEY.ARROW_RIGHT);\r\nnormalizedKeys.add(KEY.ARROW_DOWN);\r\nnormalizedKeys.add(KEY.DELETE);\r\nnormalizedKeys.add(KEY.ESCAPE);\r\nnormalizedKeys.add(KEY.TAB);\r\nvar KEY_CODE = {\r\n BACKSPACE: 8,\r\n ENTER: 13,\r\n SPACEBAR: 32,\r\n PAGE_UP: 33,\r\n PAGE_DOWN: 34,\r\n END: 35,\r\n HOME: 36,\r\n ARROW_LEFT: 37,\r\n ARROW_UP: 38,\r\n ARROW_RIGHT: 39,\r\n ARROW_DOWN: 40,\r\n DELETE: 46,\r\n ESCAPE: 27,\r\n TAB: 9,\r\n};\r\nvar mappedKeyCodes = new Map();\r\n// IE11 has no support for new Map with iterable so we need to initialize this\r\n// by hand.\r\nmappedKeyCodes.set(KEY_CODE.BACKSPACE, KEY.BACKSPACE);\r\nmappedKeyCodes.set(KEY_CODE.ENTER, KEY.ENTER);\r\nmappedKeyCodes.set(KEY_CODE.SPACEBAR, KEY.SPACEBAR);\r\nmappedKeyCodes.set(KEY_CODE.PAGE_UP, KEY.PAGE_UP);\r\nmappedKeyCodes.set(KEY_CODE.PAGE_DOWN, KEY.PAGE_DOWN);\r\nmappedKeyCodes.set(KEY_CODE.END, KEY.END);\r\nmappedKeyCodes.set(KEY_CODE.HOME, KEY.HOME);\r\nmappedKeyCodes.set(KEY_CODE.ARROW_LEFT, KEY.ARROW_LEFT);\r\nmappedKeyCodes.set(KEY_CODE.ARROW_UP, KEY.ARROW_UP);\r\nmappedKeyCodes.set(KEY_CODE.ARROW_RIGHT, KEY.ARROW_RIGHT);\r\nmappedKeyCodes.set(KEY_CODE.ARROW_DOWN, KEY.ARROW_DOWN);\r\nmappedKeyCodes.set(KEY_CODE.DELETE, KEY.DELETE);\r\nmappedKeyCodes.set(KEY_CODE.ESCAPE, KEY.ESCAPE);\r\nmappedKeyCodes.set(KEY_CODE.TAB, KEY.TAB);\r\nvar navigationKeys = new Set();\r\n// IE11 has no support for new Set with iterable so we need to initialize this\r\n// by hand.\r\nnavigationKeys.add(KEY.PAGE_UP);\r\nnavigationKeys.add(KEY.PAGE_DOWN);\r\nnavigationKeys.add(KEY.END);\r\nnavigationKeys.add(KEY.HOME);\r\nnavigationKeys.add(KEY.ARROW_LEFT);\r\nnavigationKeys.add(KEY.ARROW_UP);\r\nnavigationKeys.add(KEY.ARROW_RIGHT);\r\nnavigationKeys.add(KEY.ARROW_DOWN);\r\n/**\r\n * normalizeKey returns the normalized string for a navigational action.\r\n */\r\nexport function normalizeKey(evt) {\r\n var key = evt.key;\r\n // If the event already has a normalized key, return it\r\n if (normalizedKeys.has(key)) {\r\n return key;\r\n }\r\n // tslint:disable-next-line:deprecation\r\n var mappedKey = mappedKeyCodes.get(evt.keyCode);\r\n if (mappedKey) {\r\n return mappedKey;\r\n }\r\n return KEY.UNKNOWN;\r\n}\r\n/**\r\n * isNavigationEvent returns whether the event is a navigation event\r\n */\r\nexport function isNavigationEvent(evt) {\r\n return navigationKeys.has(normalizeKey(evt));\r\n}\r\n//# sourceMappingURL=keyboard.js.map","/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\n/**\r\n * @fileoverview A \"ponyfill\" is a polyfill that doesn't modify the global prototype chain.\r\n * This makes ponyfills safer than traditional polyfills, especially for libraries like MDC.\r\n */\r\nexport function closest(element, selector) {\r\n if (element.closest) {\r\n return element.closest(selector);\r\n }\r\n var el = element;\r\n while (el) {\r\n if (matches(el, selector)) {\r\n return el;\r\n }\r\n el = el.parentElement;\r\n }\r\n return null;\r\n}\r\nexport function matches(element, selector) {\r\n var nativeMatches = element.matches\r\n || element.webkitMatchesSelector\r\n || element.msMatchesSelector;\r\n return nativeMatches.call(element, selector);\r\n}\r\n/**\r\n * Used to compute the estimated scroll width of elements. When an element is\r\n * hidden due to display: none; being applied to a parent element, the width is\r\n * returned as 0. However, the element will have a true width once no longer\r\n * inside a display: none context. This method computes an estimated width when\r\n * the element is hidden or returns the true width when the element is visble.\r\n * @param {Element} element the element whose width to estimate\r\n */\r\nexport function estimateScrollWidth(element) {\r\n // Check the offsetParent. If the element inherits display: none from any\r\n // parent, the offsetParent property will be null (see\r\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent).\r\n // This check ensures we only clone the node when necessary.\r\n var htmlEl = element;\r\n if (htmlEl.offsetParent !== null) {\r\n return htmlEl.scrollWidth;\r\n }\r\n var clone = htmlEl.cloneNode(true);\r\n clone.style.setProperty('position', 'absolute');\r\n clone.style.setProperty('transform', 'translate(-9999px, -9999px)');\r\n document.documentElement.appendChild(clone);\r\n var scrollWidth = clone.scrollWidth;\r\n document.documentElement.removeChild(clone);\r\n return scrollWidth;\r\n}\r\n//# sourceMappingURL=ponyfill.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nvar cssClasses = {\r\n ANIMATE: 'mdc-drawer--animate',\r\n CLOSING: 'mdc-drawer--closing',\r\n DISMISSIBLE: 'mdc-drawer--dismissible',\r\n MODAL: 'mdc-drawer--modal',\r\n OPEN: 'mdc-drawer--open',\r\n OPENING: 'mdc-drawer--opening',\r\n ROOT: 'mdc-drawer',\r\n};\r\nvar strings = {\r\n APP_CONTENT_SELECTOR: '.mdc-drawer-app-content',\r\n CLOSE_EVENT: 'MDCDrawer:closed',\r\n OPEN_EVENT: 'MDCDrawer:opened',\r\n SCRIM_SELECTOR: '.mdc-drawer-scrim',\r\n LIST_SELECTOR: '.mdc-list,.mdc-deprecated-list',\r\n LIST_ITEM_ACTIVATED_SELECTOR: '.mdc-list-item--activated,.mdc-deprecated-list-item--activated',\r\n};\r\nexport { cssClasses, strings };\r\n//# sourceMappingURL=constants.js.map","/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { cssClasses, strings } from '../constants';\r\nvar MDCDismissibleDrawerFoundation = /** @class */ (function (_super) {\r\n __extends(MDCDismissibleDrawerFoundation, _super);\r\n function MDCDismissibleDrawerFoundation(adapter) {\r\n var _this = _super.call(this, __assign(__assign({}, MDCDismissibleDrawerFoundation.defaultAdapter), adapter)) || this;\r\n _this.animationFrame = 0;\r\n _this.animationTimer = 0;\r\n return _this;\r\n }\r\n Object.defineProperty(MDCDismissibleDrawerFoundation, \"strings\", {\r\n get: function () {\r\n return strings;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCDismissibleDrawerFoundation, \"cssClasses\", {\r\n get: function () {\r\n return cssClasses;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCDismissibleDrawerFoundation, \"defaultAdapter\", {\r\n get: function () {\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n return {\r\n addClass: function () { return undefined; },\r\n removeClass: function () { return undefined; },\r\n hasClass: function () { return false; },\r\n elementHasClass: function () { return false; },\r\n notifyClose: function () { return undefined; },\r\n notifyOpen: function () { return undefined; },\r\n saveFocus: function () { return undefined; },\r\n restoreFocus: function () { return undefined; },\r\n focusActiveNavigationItem: function () { return undefined; },\r\n trapFocus: function () { return undefined; },\r\n releaseFocus: function () { return undefined; },\r\n };\r\n // tslint:enable:object-literal-sort-keys\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCDismissibleDrawerFoundation.prototype.destroy = function () {\r\n if (this.animationFrame) {\r\n cancelAnimationFrame(this.animationFrame);\r\n }\r\n if (this.animationTimer) {\r\n clearTimeout(this.animationTimer);\r\n }\r\n };\r\n /**\r\n * Opens the drawer from the closed state.\r\n */\r\n MDCDismissibleDrawerFoundation.prototype.open = function () {\r\n var _this = this;\r\n if (this.isOpen() || this.isOpening() || this.isClosing()) {\r\n return;\r\n }\r\n this.adapter.addClass(cssClasses.OPEN);\r\n this.adapter.addClass(cssClasses.ANIMATE);\r\n // Wait a frame once display is no longer \"none\", to establish basis for animation\r\n this.runNextAnimationFrame(function () {\r\n _this.adapter.addClass(cssClasses.OPENING);\r\n });\r\n this.adapter.saveFocus();\r\n };\r\n /**\r\n * Closes the drawer from the open state.\r\n */\r\n MDCDismissibleDrawerFoundation.prototype.close = function () {\r\n if (!this.isOpen() || this.isOpening() || this.isClosing()) {\r\n return;\r\n }\r\n this.adapter.addClass(cssClasses.CLOSING);\r\n };\r\n /**\r\n * Returns true if the drawer is in the open position.\r\n * @return true if drawer is in open state.\r\n */\r\n MDCDismissibleDrawerFoundation.prototype.isOpen = function () {\r\n return this.adapter.hasClass(cssClasses.OPEN);\r\n };\r\n /**\r\n * Returns true if the drawer is animating open.\r\n * @return true if drawer is animating open.\r\n */\r\n MDCDismissibleDrawerFoundation.prototype.isOpening = function () {\r\n return this.adapter.hasClass(cssClasses.OPENING) ||\r\n this.adapter.hasClass(cssClasses.ANIMATE);\r\n };\r\n /**\r\n * Returns true if the drawer is animating closed.\r\n * @return true if drawer is animating closed.\r\n */\r\n MDCDismissibleDrawerFoundation.prototype.isClosing = function () {\r\n return this.adapter.hasClass(cssClasses.CLOSING);\r\n };\r\n /**\r\n * Keydown handler to close drawer when key is escape.\r\n */\r\n MDCDismissibleDrawerFoundation.prototype.handleKeydown = function (evt) {\r\n var keyCode = evt.keyCode, key = evt.key;\r\n var isEscape = key === 'Escape' || keyCode === 27;\r\n if (isEscape) {\r\n this.close();\r\n }\r\n };\r\n /**\r\n * Handles the `transitionend` event when the drawer finishes opening/closing.\r\n */\r\n MDCDismissibleDrawerFoundation.prototype.handleTransitionEnd = function (evt) {\r\n var OPENING = cssClasses.OPENING, CLOSING = cssClasses.CLOSING, OPEN = cssClasses.OPEN, ANIMATE = cssClasses.ANIMATE, ROOT = cssClasses.ROOT;\r\n // In Edge, transitionend on ripple pseudo-elements yields a target without classList, so check for Element first.\r\n var isRootElement = this.isElement(evt.target) &&\r\n this.adapter.elementHasClass(evt.target, ROOT);\r\n if (!isRootElement) {\r\n return;\r\n }\r\n if (this.isClosing()) {\r\n this.adapter.removeClass(OPEN);\r\n this.closed();\r\n this.adapter.restoreFocus();\r\n this.adapter.notifyClose();\r\n }\r\n else {\r\n this.adapter.focusActiveNavigationItem();\r\n this.opened();\r\n this.adapter.notifyOpen();\r\n }\r\n this.adapter.removeClass(ANIMATE);\r\n this.adapter.removeClass(OPENING);\r\n this.adapter.removeClass(CLOSING);\r\n };\r\n /**\r\n * Extension point for when drawer finishes open animation.\r\n */\r\n MDCDismissibleDrawerFoundation.prototype.opened = function () { }; // tslint:disable-line:no-empty\r\n /**\r\n * Extension point for when drawer finishes close animation.\r\n */\r\n MDCDismissibleDrawerFoundation.prototype.closed = function () { }; // tslint:disable-line:no-empty\r\n /**\r\n * Runs the given logic on the next animation frame, using setTimeout to factor in Firefox reflow behavior.\r\n */\r\n MDCDismissibleDrawerFoundation.prototype.runNextAnimationFrame = function (callback) {\r\n var _this = this;\r\n cancelAnimationFrame(this.animationFrame);\r\n this.animationFrame = requestAnimationFrame(function () {\r\n _this.animationFrame = 0;\r\n clearTimeout(_this.animationTimer);\r\n _this.animationTimer = setTimeout(callback, 0);\r\n });\r\n };\r\n MDCDismissibleDrawerFoundation.prototype.isElement = function (element) {\r\n // In Edge, transitionend on ripple pseudo-elements yields a target without classList.\r\n return Boolean(element.classList);\r\n };\r\n return MDCDismissibleDrawerFoundation;\r\n}(MDCFoundation));\r\nexport { MDCDismissibleDrawerFoundation };\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCDismissibleDrawerFoundation;\r\n//# sourceMappingURL=foundation.js.map","/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __extends } from \"tslib\";\r\nimport { MDCDismissibleDrawerFoundation } from '../dismissible/foundation';\r\n/* istanbul ignore next: subclass is not a branch statement */\r\nvar MDCModalDrawerFoundation = /** @class */ (function (_super) {\r\n __extends(MDCModalDrawerFoundation, _super);\r\n function MDCModalDrawerFoundation() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Handles click event on scrim.\r\n */\r\n MDCModalDrawerFoundation.prototype.handleScrimClick = function () {\r\n this.close();\r\n };\r\n /**\r\n * Called when drawer finishes open animation.\r\n */\r\n MDCModalDrawerFoundation.prototype.opened = function () {\r\n this.adapter.trapFocus();\r\n };\r\n /**\r\n * Called when drawer finishes close animation.\r\n */\r\n MDCModalDrawerFoundation.prototype.closed = function () {\r\n this.adapter.releaseFocus();\r\n };\r\n return MDCModalDrawerFoundation;\r\n}(MDCDismissibleDrawerFoundation));\r\nexport { MDCModalDrawerFoundation };\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCModalDrawerFoundation;\r\n//# sourceMappingURL=foundation.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __extends } from \"tslib\";\r\nimport { MDCComponent } from '@material/base/component';\r\nimport { FocusTrap } from '@material/dom/focus-trap';\r\nimport { MDCList } from '@material/list/component';\r\nimport { MDCDismissibleDrawerFoundation } from './dismissible/foundation';\r\nimport { MDCModalDrawerFoundation } from './modal/foundation';\r\nimport * as util from './util';\r\nvar cssClasses = MDCDismissibleDrawerFoundation.cssClasses, strings = MDCDismissibleDrawerFoundation.strings;\r\n/**\r\n * @events `MDCDrawer:closed {}` Emits when the navigation drawer has closed.\r\n * @events `MDCDrawer:opened {}` Emits when the navigation drawer has opened.\r\n */\r\nvar MDCDrawer = /** @class */ (function (_super) {\r\n __extends(MDCDrawer, _super);\r\n function MDCDrawer() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MDCDrawer.attachTo = function (root) {\r\n return new MDCDrawer(root);\r\n };\r\n Object.defineProperty(MDCDrawer.prototype, \"open\", {\r\n /**\r\n * @return boolean Proxies to the foundation's `open`/`close` methods.\r\n * Also returns true if drawer is in the open position.\r\n */\r\n get: function () {\r\n return this.foundation.isOpen();\r\n },\r\n /**\r\n * Toggles the drawer open and closed.\r\n */\r\n set: function (isOpen) {\r\n if (isOpen) {\r\n this.foundation.open();\r\n }\r\n else {\r\n this.foundation.close();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCDrawer.prototype, \"list\", {\r\n // initialSyncWithDOM()\r\n get: function () {\r\n return this.innerList;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCDrawer.prototype.initialize = function (focusTrapFactory, listFactory) {\r\n if (focusTrapFactory === void 0) { focusTrapFactory = function (el) { return new FocusTrap(el); }; }\r\n if (listFactory === void 0) { listFactory = function (el) { return new MDCList(el); }; }\r\n var listEl = this.root.querySelector(strings.LIST_SELECTOR);\r\n if (listEl) {\r\n this.innerList = listFactory(listEl);\r\n this.innerList.wrapFocus = true;\r\n }\r\n this.focusTrapFactory = focusTrapFactory;\r\n };\r\n MDCDrawer.prototype.initialSyncWithDOM = function () {\r\n var _this = this;\r\n var MODAL = cssClasses.MODAL;\r\n var SCRIM_SELECTOR = strings.SCRIM_SELECTOR;\r\n this.scrim = this.root.parentNode\r\n .querySelector(SCRIM_SELECTOR);\r\n if (this.scrim && this.root.classList.contains(MODAL)) {\r\n this.handleScrimClick = function () {\r\n return _this.foundation.handleScrimClick();\r\n };\r\n this.scrim.addEventListener('click', this.handleScrimClick);\r\n this.focusTrap = util.createFocusTrapInstance(this.root, this.focusTrapFactory);\r\n }\r\n this.handleKeydown = function (evt) {\r\n _this.foundation.handleKeydown(evt);\r\n };\r\n this.handleTransitionEnd = function (evt) {\r\n _this.foundation.handleTransitionEnd(evt);\r\n };\r\n this.listen('keydown', this.handleKeydown);\r\n this.listen('transitionend', this.handleTransitionEnd);\r\n };\r\n MDCDrawer.prototype.destroy = function () {\r\n this.unlisten('keydown', this.handleKeydown);\r\n this.unlisten('transitionend', this.handleTransitionEnd);\r\n if (this.innerList) {\r\n this.innerList.destroy();\r\n }\r\n var MODAL = cssClasses.MODAL;\r\n if (this.scrim && this.handleScrimClick &&\r\n this.root.classList.contains(MODAL)) {\r\n this.scrim.removeEventListener('click', this.handleScrimClick);\r\n // Ensure drawer is closed to hide scrim and release focus\r\n this.open = false;\r\n }\r\n };\r\n MDCDrawer.prototype.getDefaultFoundation = function () {\r\n var _this = this;\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take\r\n // a Partial. To ensure we don't accidentally omit any\r\n // methods, we need a separate, strongly typed adapter variable.\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n var adapter = {\r\n addClass: function (className) {\r\n _this.root.classList.add(className);\r\n },\r\n removeClass: function (className) {\r\n _this.root.classList.remove(className);\r\n },\r\n hasClass: function (className) { return _this.root.classList.contains(className); },\r\n elementHasClass: function (element, className) {\r\n return element.classList.contains(className);\r\n },\r\n saveFocus: function () {\r\n _this.previousFocus = document.activeElement;\r\n },\r\n restoreFocus: function () {\r\n var previousFocus = _this.previousFocus;\r\n if (previousFocus && previousFocus.focus &&\r\n _this.root.contains(document.activeElement)) {\r\n previousFocus.focus();\r\n }\r\n },\r\n focusActiveNavigationItem: function () {\r\n var activeNavItemEl = _this.root.querySelector(strings.LIST_ITEM_ACTIVATED_SELECTOR);\r\n if (activeNavItemEl) {\r\n activeNavItemEl.focus();\r\n }\r\n },\r\n notifyClose: function () {\r\n _this.emit(strings.CLOSE_EVENT, {}, true /* shouldBubble */);\r\n },\r\n notifyOpen: function () {\r\n _this.emit(strings.OPEN_EVENT, {}, true /* shouldBubble */);\r\n },\r\n trapFocus: function () {\r\n _this.focusTrap.trapFocus();\r\n },\r\n releaseFocus: function () {\r\n _this.focusTrap.releaseFocus();\r\n },\r\n };\r\n // tslint:enable:object-literal-sort-keys\r\n var DISMISSIBLE = cssClasses.DISMISSIBLE, MODAL = cssClasses.MODAL;\r\n if (this.root.classList.contains(DISMISSIBLE)) {\r\n return new MDCDismissibleDrawerFoundation(adapter);\r\n }\r\n else if (this.root.classList.contains(MODAL)) {\r\n return new MDCModalDrawerFoundation(adapter);\r\n }\r\n else {\r\n throw new Error(\"MDCDrawer: Failed to instantiate component. Supported variants are \" + DISMISSIBLE + \" and \" + MODAL + \".\");\r\n }\r\n };\r\n return MDCDrawer;\r\n}(MDCComponent));\r\nexport { MDCDrawer };\r\n//# sourceMappingURL=component.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nexport function createFocusTrapInstance(surfaceEl, focusTrapFactory) {\r\n return focusTrapFactory(surfaceEl, {\r\n // Component handles focusing on active nav item.\r\n skipInitialFocus: true,\r\n });\r\n}\r\n//# sourceMappingURL=util.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __extends } from \"tslib\";\r\nimport { MDCComponent } from '@material/base/component';\r\nimport { estimateScrollWidth } from '@material/dom/ponyfill';\r\nimport { MDCFloatingLabelFoundation } from './foundation';\r\nvar MDCFloatingLabel = /** @class */ (function (_super) {\r\n __extends(MDCFloatingLabel, _super);\r\n function MDCFloatingLabel() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MDCFloatingLabel.attachTo = function (root) {\r\n return new MDCFloatingLabel(root);\r\n };\r\n /**\r\n * Styles the label to produce the label shake for errors.\r\n * @param shouldShake If true, shakes the label by adding a CSS class; otherwise, stops shaking by removing the class.\r\n */\r\n MDCFloatingLabel.prototype.shake = function (shouldShake) {\r\n this.foundation.shake(shouldShake);\r\n };\r\n /**\r\n * Styles the label to float/dock.\r\n * @param shouldFloat If true, floats the label by adding a CSS class; otherwise, docks it by removing the class.\r\n */\r\n MDCFloatingLabel.prototype.float = function (shouldFloat) {\r\n this.foundation.float(shouldFloat);\r\n };\r\n /**\r\n * Styles the label as required.\r\n * @param isRequired If true, adds an asterisk to the label, indicating that it is required.\r\n */\r\n MDCFloatingLabel.prototype.setRequired = function (isRequired) {\r\n this.foundation.setRequired(isRequired);\r\n };\r\n MDCFloatingLabel.prototype.getWidth = function () {\r\n return this.foundation.getWidth();\r\n };\r\n MDCFloatingLabel.prototype.getDefaultFoundation = function () {\r\n var _this = this;\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n var adapter = {\r\n addClass: function (className) { return _this.root.classList.add(className); },\r\n removeClass: function (className) { return _this.root.classList.remove(className); },\r\n getWidth: function () { return estimateScrollWidth(_this.root); },\r\n registerInteractionHandler: function (evtType, handler) {\r\n return _this.listen(evtType, handler);\r\n },\r\n deregisterInteractionHandler: function (evtType, handler) {\r\n return _this.unlisten(evtType, handler);\r\n },\r\n };\r\n // tslint:enable:object-literal-sort-keys\r\n return new MDCFloatingLabelFoundation(adapter);\r\n };\r\n return MDCFloatingLabel;\r\n}(MDCComponent));\r\nexport { MDCFloatingLabel };\r\n//# sourceMappingURL=component.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nexport var cssClasses = {\r\n LABEL_FLOAT_ABOVE: 'mdc-floating-label--float-above',\r\n LABEL_REQUIRED: 'mdc-floating-label--required',\r\n LABEL_SHAKE: 'mdc-floating-label--shake',\r\n ROOT: 'mdc-floating-label',\r\n};\r\n//# sourceMappingURL=constants.js.map","/**\r\n * @license\r\n * Copyright 2016 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { cssClasses } from './constants';\r\nvar MDCFloatingLabelFoundation = /** @class */ (function (_super) {\r\n __extends(MDCFloatingLabelFoundation, _super);\r\n function MDCFloatingLabelFoundation(adapter) {\r\n var _this = _super.call(this, __assign(__assign({}, MDCFloatingLabelFoundation.defaultAdapter), adapter)) || this;\r\n _this.shakeAnimationEndHandler = function () {\r\n _this.handleShakeAnimationEnd();\r\n };\r\n return _this;\r\n }\r\n Object.defineProperty(MDCFloatingLabelFoundation, \"cssClasses\", {\r\n get: function () {\r\n return cssClasses;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCFloatingLabelFoundation, \"defaultAdapter\", {\r\n /**\r\n * See {@link MDCFloatingLabelAdapter} for typing information on parameters and return types.\r\n */\r\n get: function () {\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n return {\r\n addClass: function () { return undefined; },\r\n removeClass: function () { return undefined; },\r\n getWidth: function () { return 0; },\r\n registerInteractionHandler: function () { return undefined; },\r\n deregisterInteractionHandler: function () { return undefined; },\r\n };\r\n // tslint:enable:object-literal-sort-keys\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCFloatingLabelFoundation.prototype.init = function () {\r\n this.adapter.registerInteractionHandler('animationend', this.shakeAnimationEndHandler);\r\n };\r\n MDCFloatingLabelFoundation.prototype.destroy = function () {\r\n this.adapter.deregisterInteractionHandler('animationend', this.shakeAnimationEndHandler);\r\n };\r\n /**\r\n * Returns the width of the label element.\r\n */\r\n MDCFloatingLabelFoundation.prototype.getWidth = function () {\r\n return this.adapter.getWidth();\r\n };\r\n /**\r\n * Styles the label to produce a shake animation to indicate an error.\r\n * @param shouldShake If true, adds the shake CSS class; otherwise, removes shake class.\r\n */\r\n MDCFloatingLabelFoundation.prototype.shake = function (shouldShake) {\r\n var LABEL_SHAKE = MDCFloatingLabelFoundation.cssClasses.LABEL_SHAKE;\r\n if (shouldShake) {\r\n this.adapter.addClass(LABEL_SHAKE);\r\n }\r\n else {\r\n this.adapter.removeClass(LABEL_SHAKE);\r\n }\r\n };\r\n /**\r\n * Styles the label to float or dock.\r\n * @param shouldFloat If true, adds the float CSS class; otherwise, removes float and shake classes to dock the label.\r\n */\r\n MDCFloatingLabelFoundation.prototype.float = function (shouldFloat) {\r\n var _a = MDCFloatingLabelFoundation.cssClasses, LABEL_FLOAT_ABOVE = _a.LABEL_FLOAT_ABOVE, LABEL_SHAKE = _a.LABEL_SHAKE;\r\n if (shouldFloat) {\r\n this.adapter.addClass(LABEL_FLOAT_ABOVE);\r\n }\r\n else {\r\n this.adapter.removeClass(LABEL_FLOAT_ABOVE);\r\n this.adapter.removeClass(LABEL_SHAKE);\r\n }\r\n };\r\n /**\r\n * Styles the label as required.\r\n * @param isRequired If true, adds an asterisk to the label, indicating that it is required.\r\n */\r\n MDCFloatingLabelFoundation.prototype.setRequired = function (isRequired) {\r\n var LABEL_REQUIRED = MDCFloatingLabelFoundation.cssClasses.LABEL_REQUIRED;\r\n if (isRequired) {\r\n this.adapter.addClass(LABEL_REQUIRED);\r\n }\r\n else {\r\n this.adapter.removeClass(LABEL_REQUIRED);\r\n }\r\n };\r\n MDCFloatingLabelFoundation.prototype.handleShakeAnimationEnd = function () {\r\n var LABEL_SHAKE = MDCFloatingLabelFoundation.cssClasses.LABEL_SHAKE;\r\n this.adapter.removeClass(LABEL_SHAKE);\r\n };\r\n return MDCFloatingLabelFoundation;\r\n}(MDCFoundation));\r\nexport { MDCFloatingLabelFoundation };\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCFloatingLabelFoundation;\r\n//# sourceMappingURL=foundation.js.map","/**\r\n * @license\r\n * Copyright 2017 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nexport var cssClasses = {\r\n ROOT: 'mdc-form-field',\r\n};\r\nexport var strings = {\r\n LABEL_SELECTOR: '.mdc-form-field > label',\r\n};\r\n//# sourceMappingURL=constants.js.map","/**\r\n * @license\r\n * Copyright 2017 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { cssClasses, strings } from './constants';\r\nvar MDCFormFieldFoundation = /** @class */ (function (_super) {\r\n __extends(MDCFormFieldFoundation, _super);\r\n function MDCFormFieldFoundation(adapter) {\r\n var _this = _super.call(this, __assign(__assign({}, MDCFormFieldFoundation.defaultAdapter), adapter)) || this;\r\n _this.click = function () {\r\n _this.handleClick();\r\n };\r\n return _this;\r\n }\r\n Object.defineProperty(MDCFormFieldFoundation, \"cssClasses\", {\r\n get: function () {\r\n return cssClasses;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCFormFieldFoundation, \"strings\", {\r\n get: function () {\r\n return strings;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCFormFieldFoundation, \"defaultAdapter\", {\r\n get: function () {\r\n return {\r\n activateInputRipple: function () { return undefined; },\r\n deactivateInputRipple: function () { return undefined; },\r\n deregisterInteractionHandler: function () { return undefined; },\r\n registerInteractionHandler: function () { return undefined; },\r\n };\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCFormFieldFoundation.prototype.init = function () {\r\n this.adapter.registerInteractionHandler('click', this.click);\r\n };\r\n MDCFormFieldFoundation.prototype.destroy = function () {\r\n this.adapter.deregisterInteractionHandler('click', this.click);\r\n };\r\n MDCFormFieldFoundation.prototype.handleClick = function () {\r\n var _this = this;\r\n this.adapter.activateInputRipple();\r\n requestAnimationFrame(function () {\r\n _this.adapter.deactivateInputRipple();\r\n });\r\n };\r\n return MDCFormFieldFoundation;\r\n}(MDCFoundation));\r\nexport { MDCFormFieldFoundation };\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCFormFieldFoundation;\r\n//# sourceMappingURL=foundation.js.map","/**\r\n * @license\r\n * Copyright 2017 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __extends } from \"tslib\";\r\nimport { MDCComponent } from '@material/base/component';\r\nimport { MDCFormFieldFoundation } from './foundation';\r\nvar MDCFormField = /** @class */ (function (_super) {\r\n __extends(MDCFormField, _super);\r\n function MDCFormField() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MDCFormField.attachTo = function (root) {\r\n return new MDCFormField(root);\r\n };\r\n MDCFormField.prototype.labelEl = function () {\r\n var LABEL_SELECTOR = MDCFormFieldFoundation.strings.LABEL_SELECTOR;\r\n return this.root.querySelector(LABEL_SELECTOR);\r\n };\r\n MDCFormField.prototype.getDefaultFoundation = function () {\r\n var _this = this;\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n var adapter = {\r\n activateInputRipple: function () {\r\n if (_this.input && _this.input.ripple) {\r\n _this.input.ripple.activate();\r\n }\r\n },\r\n deactivateInputRipple: function () {\r\n if (_this.input && _this.input.ripple) {\r\n _this.input.ripple.deactivate();\r\n }\r\n },\r\n deregisterInteractionHandler: function (evtType, handler) {\r\n var labelEl = _this.labelEl();\r\n if (labelEl) {\r\n labelEl.removeEventListener(evtType, handler);\r\n }\r\n },\r\n registerInteractionHandler: function (evtType, handler) {\r\n var labelEl = _this.labelEl();\r\n if (labelEl) {\r\n labelEl.addEventListener(evtType, handler);\r\n }\r\n },\r\n };\r\n return new MDCFormFieldFoundation(adapter);\r\n };\r\n return MDCFormField;\r\n}(MDCComponent));\r\nexport { MDCFormField };\r\n//# sourceMappingURL=component.js.map","/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nvar cssClasses = {\r\n LINE_RIPPLE_ACTIVE: 'mdc-line-ripple--active',\r\n LINE_RIPPLE_DEACTIVATING: 'mdc-line-ripple--deactivating',\r\n};\r\nexport { cssClasses };\r\n//# sourceMappingURL=constants.js.map","/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __assign, __extends } from \"tslib\";\r\nimport { MDCFoundation } from '@material/base/foundation';\r\nimport { cssClasses } from './constants';\r\nvar MDCLineRippleFoundation = /** @class */ (function (_super) {\r\n __extends(MDCLineRippleFoundation, _super);\r\n function MDCLineRippleFoundation(adapter) {\r\n var _this = _super.call(this, __assign(__assign({}, MDCLineRippleFoundation.defaultAdapter), adapter)) || this;\r\n _this.transitionEndHandler = function (evt) {\r\n _this.handleTransitionEnd(evt);\r\n };\r\n return _this;\r\n }\r\n Object.defineProperty(MDCLineRippleFoundation, \"cssClasses\", {\r\n get: function () {\r\n return cssClasses;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCLineRippleFoundation, \"defaultAdapter\", {\r\n /**\r\n * See {@link MDCLineRippleAdapter} for typing information on parameters and return types.\r\n */\r\n get: function () {\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n return {\r\n addClass: function () { return undefined; },\r\n removeClass: function () { return undefined; },\r\n hasClass: function () { return false; },\r\n setStyle: function () { return undefined; },\r\n registerEventHandler: function () { return undefined; },\r\n deregisterEventHandler: function () { return undefined; },\r\n };\r\n // tslint:enable:object-literal-sort-keys\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCLineRippleFoundation.prototype.init = function () {\r\n this.adapter.registerEventHandler('transitionend', this.transitionEndHandler);\r\n };\r\n MDCLineRippleFoundation.prototype.destroy = function () {\r\n this.adapter.deregisterEventHandler('transitionend', this.transitionEndHandler);\r\n };\r\n MDCLineRippleFoundation.prototype.activate = function () {\r\n this.adapter.removeClass(cssClasses.LINE_RIPPLE_DEACTIVATING);\r\n this.adapter.addClass(cssClasses.LINE_RIPPLE_ACTIVE);\r\n };\r\n MDCLineRippleFoundation.prototype.setRippleCenter = function (xCoordinate) {\r\n this.adapter.setStyle('transform-origin', xCoordinate + \"px center\");\r\n };\r\n MDCLineRippleFoundation.prototype.deactivate = function () {\r\n this.adapter.addClass(cssClasses.LINE_RIPPLE_DEACTIVATING);\r\n };\r\n MDCLineRippleFoundation.prototype.handleTransitionEnd = function (evt) {\r\n // Wait for the line ripple to be either transparent or opaque\r\n // before emitting the animation end event\r\n var isDeactivating = this.adapter.hasClass(cssClasses.LINE_RIPPLE_DEACTIVATING);\r\n if (evt.propertyName === 'opacity') {\r\n if (isDeactivating) {\r\n this.adapter.removeClass(cssClasses.LINE_RIPPLE_ACTIVE);\r\n this.adapter.removeClass(cssClasses.LINE_RIPPLE_DEACTIVATING);\r\n }\r\n }\r\n };\r\n return MDCLineRippleFoundation;\r\n}(MDCFoundation));\r\nexport { MDCLineRippleFoundation };\r\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\r\nexport default MDCLineRippleFoundation;\r\n//# sourceMappingURL=foundation.js.map","/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __extends } from \"tslib\";\r\nimport { MDCComponent } from '@material/base/component';\r\nimport { MDCLineRippleFoundation } from './foundation';\r\nvar MDCLineRipple = /** @class */ (function (_super) {\r\n __extends(MDCLineRipple, _super);\r\n function MDCLineRipple() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MDCLineRipple.attachTo = function (root) {\r\n return new MDCLineRipple(root);\r\n };\r\n /**\r\n * Activates the line ripple\r\n */\r\n MDCLineRipple.prototype.activate = function () {\r\n this.foundation.activate();\r\n };\r\n /**\r\n * Deactivates the line ripple\r\n */\r\n MDCLineRipple.prototype.deactivate = function () {\r\n this.foundation.deactivate();\r\n };\r\n /**\r\n * Sets the transform origin given a user's click location.\r\n * The `rippleCenter` is the x-coordinate of the middle of the ripple.\r\n */\r\n MDCLineRipple.prototype.setRippleCenter = function (xCoordinate) {\r\n this.foundation.setRippleCenter(xCoordinate);\r\n };\r\n MDCLineRipple.prototype.getDefaultFoundation = function () {\r\n var _this = this;\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial.\r\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\r\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\r\n var adapter = {\r\n addClass: function (className) { return _this.root.classList.add(className); },\r\n removeClass: function (className) { return _this.root.classList.remove(className); },\r\n hasClass: function (className) { return _this.root.classList.contains(className); },\r\n setStyle: function (propertyName, value) { return _this.root.style.setProperty(propertyName, value); },\r\n registerEventHandler: function (evtType, handler) { return _this.listen(evtType, handler); },\r\n deregisterEventHandler: function (evtType, handler) { return _this.unlisten(evtType, handler); },\r\n };\r\n // tslint:enable:object-literal-sort-keys\r\n return new MDCLineRippleFoundation(adapter);\r\n };\r\n return MDCLineRipple;\r\n}(MDCComponent));\r\nexport { MDCLineRipple };\r\n//# sourceMappingURL=component.js.map","/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { __extends } from \"tslib\";\r\nimport { MDCComponent } from '@material/base/component';\r\nimport { closest, matches } from '@material/dom/ponyfill';\r\nimport { cssClasses, deprecatedClassNameMap, evolutionAttribute, evolutionClassNameMap, numbers, strings } from './constants';\r\nimport { MDCListFoundation } from './foundation';\r\nvar MDCList = /** @class */ (function (_super) {\r\n __extends(MDCList, _super);\r\n function MDCList() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(MDCList.prototype, \"vertical\", {\r\n set: function (value) {\r\n this.foundation.setVerticalOrientation(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCList.prototype, \"listElements\", {\r\n get: function () {\r\n return Array.from(this.root.querySelectorAll(\".\" + this.classNameMap[cssClasses.LIST_ITEM_CLASS]));\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCList.prototype, \"wrapFocus\", {\r\n set: function (value) {\r\n this.foundation.setWrapFocus(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCList.prototype, \"typeaheadInProgress\", {\r\n /**\r\n * @return Whether typeahead is currently matching a user-specified prefix.\r\n */\r\n get: function () {\r\n return this.foundation.isTypeaheadInProgress();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCList.prototype, \"hasTypeahead\", {\r\n /**\r\n * Sets whether typeahead functionality is enabled on the list.\r\n * @param hasTypeahead Whether typeahead is enabled.\r\n */\r\n set: function (hasTypeahead) {\r\n this.foundation.setHasTypeahead(hasTypeahead);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCList.prototype, \"singleSelection\", {\r\n set: function (isSingleSelectionList) {\r\n this.foundation.setSingleSelection(isSingleSelectionList);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MDCList.prototype, \"selectedIndex\", {\r\n get: function () {\r\n return this.foundation.getSelectedIndex();\r\n },\r\n set: function (index) {\r\n this.foundation.setSelectedIndex(index);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MDCList.attachTo = function (root) {\r\n return new MDCList(root);\r\n };\r\n MDCList.prototype.initialSyncWithDOM = function () {\r\n this.isEvolutionEnabled =\r\n evolutionAttribute in this.root.dataset;\r\n if (this.isEvolutionEnabled) {\r\n this.classNameMap = evolutionClassNameMap;\r\n }\r\n else if (matches(this.root, strings.DEPRECATED_SELECTOR)) {\r\n this.classNameMap = deprecatedClassNameMap;\r\n }\r\n else {\r\n this.classNameMap =\r\n Object.values(cssClasses)\r\n .reduce(function (obj, className) {\r\n obj[className] = className;\r\n return obj;\r\n }, {});\r\n }\r\n this.handleClick = this.handleClickEvent.bind(this);\r\n this.handleKeydown = this.handleKeydownEvent.bind(this);\r\n this.focusInEventListener = this.handleFocusInEvent.bind(this);\r\n this.focusOutEventListener = this.handleFocusOutEvent.bind(this);\r\n this.listen('keydown', this.handleKeydown);\r\n this.listen('click', this.handleClick);\r\n this.listen('focusin', this.focusInEventListener);\r\n this.listen('focusout', this.focusOutEventListener);\r\n this.layout();\r\n this.initializeListType();\r\n this.ensureFocusable();\r\n };\r\n MDCList.prototype.destroy = function () {\r\n this.unlisten('keydown', this.handleKeydown);\r\n this.unlisten('click', this.handleClick);\r\n this.unlisten('focusin', this.focusInEventListener);\r\n this.unlisten('focusout', this.focusOutEventListener);\r\n };\r\n MDCList.prototype.layout = function () {\r\n var direction = this.root.getAttribute(strings.ARIA_ORIENTATION);\r\n this.vertical = direction !== strings.ARIA_ORIENTATION_HORIZONTAL;\r\n var itemSelector = \".\" + this.classNameMap[cssClasses.LIST_ITEM_CLASS] + \":not([tabindex])\";\r\n var childSelector = strings.FOCUSABLE_CHILD_ELEMENTS;\r\n // List items need to have at least tabindex=-1 to be focusable.\r\n var itemEls = this.root.querySelectorAll(itemSelector);\r\n if (itemEls.length) {\r\n Array.prototype.forEach.call(itemEls, function (el) {\r\n el.setAttribute('tabindex', '-1');\r\n });\r\n }\r\n // Child button/a elements are not tabbable until the list item is focused.\r\n var focusableChildEls = this.root.querySelectorAll(childSelector);\r\n if (focusableChildEls.length) {\r\n Array.prototype.forEach.call(focusableChildEls, function (el) {\r\n el.setAttribute('tabindex', '-1');\r\n });\r\n }\r\n if (this.isEvolutionEnabled) {\r\n this.foundation.setUseSelectedAttribute(true);\r\n }\r\n this.foundation.layout();\r\n };\r\n /**\r\n * Extracts the primary text from a list item.\r\n * @param item The list item element.\r\n * @return The primary text in the element.\r\n */\r\n MDCList.prototype.getPrimaryText = function (item) {\r\n var _a;\r\n var primaryText = item.querySelector(\".\" + this.classNameMap[cssClasses.LIST_ITEM_PRIMARY_TEXT_CLASS]);\r\n if (this.isEvolutionEnabled || primaryText) {\r\n return (_a = primaryText === null || primaryText === void 0 ? void 0 : primaryText.textContent) !== null && _a !== void 0 ? _a : '';\r\n }\r\n var singleLineText = item.querySelector(\".\" + this.classNameMap[cssClasses.LIST_ITEM_TEXT_CLASS]);\r\n return (singleLineText && singleLineText.textContent) || '';\r\n };\r\n /**\r\n * Initialize selectedIndex value based on pre-selected list items.\r\n */\r\n MDCList.prototype.initializeListType = function () {\r\n var _this = this;\r\n this.isInteractive =\r\n matches(this.root, strings.ARIA_INTERACTIVE_ROLES_SELECTOR);\r\n if (this.isEvolutionEnabled && this.isInteractive) {\r\n var selection = Array.from(this.root.querySelectorAll(strings.SELECTED_ITEM_SELECTOR), function (listItem) { return _this.listElements.indexOf(listItem); });\r\n if (matches(this.root, strings.ARIA_MULTI_SELECTABLE_SELECTOR)) {\r\n this.selectedIndex = selection;\r\n }\r\n else if (selection.length > 0) {\r\n this.selectedIndex = selection[0];\r\n }\r\n return;\r\n }\r\n var checkboxListItems = this.root.querySelectorAll(strings.ARIA_ROLE_CHECKBOX_SELECTOR);\r\n var radioSelectedListItem = this.root.querySelector(strings.ARIA_CHECKED_RADIO_SELECTOR);\r\n if (checkboxListItems.length) {\r\n var preselectedItems = this.root.querySelectorAll(strings.ARIA_CHECKED_CHECKBOX_SELECTOR);\r\n this.selectedIndex = Array.from(preselectedItems, function (listItem) { return _this.listElements.indexOf(listItem); });\r\n }\r\n else if (radioSelectedListItem) {\r\n this.selectedIndex = this.listElements.indexOf(radioSelectedListItem);\r\n }\r\n };\r\n /**\r\n * Updates the list item at itemIndex to the desired isEnabled state.\r\n * @param itemIndex Index of the list item\r\n * @param isEnabled Sets the list item to enabled or disabled.\r\n */\r\n MDCList.prototype.setEnabled = function (itemIndex, isEnabled) {\r\n this.foundation.setEnabled(itemIndex, isEnabled);\r\n };\r\n /**\r\n * Given the next desired character from the user, adds it to the typeahead\r\n * buffer. Then, attempts to find the next option matching the buffer. Wraps\r\n * around if at the end of options.\r\n *\r\n * @param nextChar The next character to add to the prefix buffer.\r\n * @param startingIndex The index from which to start matching. Defaults to\r\n * the currently focused index.\r\n * @return The index of the matched item.\r\n */\r\n MDCList.prototype.typeaheadMatchItem = function (nextChar, startingIndex) {\r\n return this.foundation.typeaheadMatchItem(nextChar, startingIndex, /** skipFocus */ true);\r\n };\r\n MDCList.prototype.getDefaultFoundation = function () {\r\n var _this = this;\r\n // DO NOT INLINE this variable. For backward compatibility, foundations take\r\n // a Partial. To ensure we don't accidentally omit any\r\n // methods, we need a separate, strongly typed adapter variable.\r\n var adapter = {\r\n addClassForElementIndex: function (index, className) {\r\n var element = _this.listElements[index];\r\n if (element) {\r\n element.classList.add(_this.classNameMap[className]);\r\n }\r\n },\r\n focusItemAtIndex: function (index) {\r\n var element = _this.listElements[index];\r\n if (element) {\r\n element.focus();\r\n }\r\n },\r\n getAttributeForElementIndex: function (index, attr) {\r\n return _this.listElements[index].getAttribute(attr);\r\n },\r\n getFocusedElementIndex: function () {\r\n return _this.listElements.indexOf(document.activeElement);\r\n },\r\n getListItemCount: function () { return _this.listElements.length; },\r\n getPrimaryTextAtIndex: function (index) {\r\n return _this.getPrimaryText(_this.listElements[index]);\r\n },\r\n hasCheckboxAtIndex: function (index) {\r\n var listItem = _this.listElements[index];\r\n return !!listItem.querySelector(strings.CHECKBOX_SELECTOR);\r\n },\r\n hasRadioAtIndex: function (index) {\r\n var listItem = _this.listElements[index];\r\n return !!listItem.querySelector(strings.RADIO_SELECTOR);\r\n },\r\n isCheckboxCheckedAtIndex: function (index) {\r\n var listItem = _this.listElements[index];\r\n var toggleEl = listItem.querySelector(strings.CHECKBOX_SELECTOR);\r\n return toggleEl.checked;\r\n },\r\n isFocusInsideList: function () {\r\n return _this.root !== document.activeElement &&\r\n _this.root.contains(document.activeElement);\r\n },\r\n isRootFocused: function () { return document.activeElement === _this.root; },\r\n listItemAtIndexHasClass: function (index, className) {\r\n return _this.listElements[index].classList.contains(_this.classNameMap[className]);\r\n },\r\n notifyAction: function (index) {\r\n _this.emit(strings.ACTION_EVENT, { index: index }, /** shouldBubble */ true);\r\n },\r\n removeClassForElementIndex: function (index, className) {\r\n var element = _this.listElements[index];\r\n if (element) {\r\n element.classList.remove(_this.classNameMap[className]);\r\n }\r\n },\r\n setAttributeForElementIndex: function (index, attr, value) {\r\n var element = _this.listElements[index];\r\n if (element) {\r\n element.setAttribute(attr, value);\r\n }\r\n },\r\n setCheckedCheckboxOrRadioAtIndex: function (index, isChecked) {\r\n var listItem = _this.listElements[index];\r\n var toggleEl = listItem.querySelector(strings.CHECKBOX_RADIO_SELECTOR);\r\n toggleEl.checked = isChecked;\r\n var event = document.createEvent('Event');\r\n event.initEvent('change', true, true);\r\n toggleEl.dispatchEvent(event);\r\n },\r\n setTabIndexForListItemChildren: function (listItemIndex, tabIndexValue) {\r\n var element = _this.listElements[listItemIndex];\r\n var selector = strings.CHILD_ELEMENTS_TO_TOGGLE_TABINDEX;\r\n Array.prototype.forEach.call(element.querySelectorAll(selector), function (el) {\r\n el.setAttribute('tabindex', tabIndexValue);\r\n });\r\n },\r\n };\r\n return new MDCListFoundation(adapter);\r\n };\r\n /**\r\n * Ensures that at least one item is focusable if the list is interactive and\r\n * doesn't specify a suitable tabindex.\r\n */\r\n MDCList.prototype.ensureFocusable = function () {\r\n if (this.isEvolutionEnabled && this.isInteractive) {\r\n if (!this.root.querySelector(\".\" + this.classNameMap[cssClasses.LIST_ITEM_CLASS] + \"[tabindex=\\\"0\\\"]\")) {\r\n var index = this.initialFocusIndex();\r\n if (index !== -1) {\r\n this.listElements[index].tabIndex = 0;\r\n }\r\n }\r\n }\r\n };\r\n MDCList.prototype.initialFocusIndex = function () {\r\n if (this.selectedIndex instanceof Array && this.selectedIndex.length > 0) {\r\n return this.selectedIndex[0];\r\n }\r\n if (typeof this.selectedIndex === 'number' &&\r\n this.selectedIndex !== numbers.UNSET_INDEX) {\r\n return this.selectedIndex;\r\n }\r\n var el = this.root.querySelector(\".\" + this.classNameMap[cssClasses.LIST_ITEM_CLASS] + \":not(.\" + this.classNameMap[cssClasses.LIST_ITEM_DISABLED_CLASS] + \")\");\r\n if (el === null) {\r\n return -1;\r\n }\r\n return this.getListItemIndex(el);\r\n };\r\n /**\r\n * Used to figure out which list item this event is targetting. Or returns -1\r\n * if there is no list item\r\n */\r\n MDCList.prototype.getListItemIndex = function (el) {\r\n var nearestParent = closest(el, \".\" + this.classNameMap[cssClasses.LIST_ITEM_CLASS] + \", .\" + this.classNameMap[cssClasses.ROOT]);\r\n // Get the index of the element if it is a list item.\r\n if (nearestParent &&\r\n matches(nearestParent, \".\" + this.classNameMap[cssClasses.LIST_ITEM_CLASS])) {\r\n return this.listElements.indexOf(nearestParent);\r\n }\r\n return -1;\r\n };\r\n /**\r\n * Used to figure out which element was clicked before sending the event to\r\n * the foundation.\r\n */\r\n MDCList.prototype.handleFocusInEvent = function (evt) {\r\n var index = this.getListItemIndex(evt.target);\r\n this.foundation.handleFocusIn(index);\r\n };\r\n /**\r\n * Used to figure out which element was clicked before sending the event to\r\n * the foundation.\r\n */\r\n MDCList.prototype.handleFocusOutEvent = function (evt) {\r\n var index = this.getListItemIndex(evt.target);\r\n this.foundation.handleFocusOut(index);\r\n };\r\n /**\r\n * Used to figure out which element was focused when keydown event occurred\r\n * before sending the event to the foundation.\r\n */\r\n MDCList.prototype.handleKeydownEvent = function (evt) {\r\n var index = this.getListItemIndex(evt.target);\r\n var target = evt.target;\r\n this.foundation.handleKeydown(evt, target.classList.contains(this.classNameMap[cssClasses.LIST_ITEM_CLASS]), index);\r\n };\r\n /**\r\n * Used to figure out which element was clicked before sending the event to\r\n * the foundation.\r\n */\r\n MDCList.prototype.handleClickEvent = function (evt) {\r\n var index = this.getListItemIndex(evt.target);\r\n var target = evt.target;\r\n // Toggle the checkbox only if it's not the target of the event, or the\r\n // checkbox will have 2 change events.\r\n var toggleCheckbox = !matches(target, strings.CHECKBOX_RADIO_SELECTOR);\r\n this.foundation.handleClick(index, toggleCheckbox);\r\n };\r\n return MDCList;\r\n}(MDCComponent));\r\nexport { MDCList };\r\n//# sourceMappingURL=component.js.map","/**\r\n * @license\r\n * Copyright 2018 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nvar _a, _b;\r\nvar cssClasses = {\r\n LIST_ITEM_ACTIVATED_CLASS: 'mdc-list-item--activated',\r\n LIST_ITEM_CLASS: 'mdc-list-item',\r\n LIST_ITEM_DISABLED_CLASS: 'mdc-list-item--disabled',\r\n LIST_ITEM_SELECTED_CLASS: 'mdc-list-item--selected',\r\n LIST_ITEM_TEXT_CLASS: 'mdc-list-item__text',\r\n LIST_ITEM_PRIMARY_TEXT_CLASS: 'mdc-list-item__primary-text',\r\n ROOT: 'mdc-list',\r\n};\r\nvar evolutionClassNameMap = (_a = {},\r\n _a[\"\" + cssClasses.LIST_ITEM_ACTIVATED_CLASS] = 'mdc-list-item--activated',\r\n _a[\"\" + cssClasses.LIST_ITEM_CLASS] = 'mdc-list-item',\r\n _a[\"\" + cssClasses.LIST_ITEM_DISABLED_CLASS] = 'mdc-list-item--disabled',\r\n _a[\"\" + cssClasses.LIST_ITEM_SELECTED_CLASS] = 'mdc-list-item--selected',\r\n _a[\"\" + cssClasses.LIST_ITEM_PRIMARY_TEXT_CLASS] = 'mdc-list-item__primary-text',\r\n _a[\"\" + cssClasses.ROOT] = 'mdc-list',\r\n _a);\r\nvar deprecatedClassNameMap = (_b = {},\r\n _b[\"\" + cssClasses.LIST_ITEM_ACTIVATED_CLASS] = 'mdc-deprecated-list-item--activated',\r\n _b[\"\" + cssClasses.LIST_ITEM_CLASS] = 'mdc-deprecated-list-item',\r\n _b[\"\" + cssClasses.LIST_ITEM_DISABLED_CLASS] = 'mdc-deprecated-list-item--disabled',\r\n _b[\"\" + cssClasses.LIST_ITEM_SELECTED_CLASS] = 'mdc-deprecated-list-item--selected',\r\n _b[\"\" + cssClasses.LIST_ITEM_TEXT_CLASS] = 'mdc-deprecated-list-item__text',\r\n _b[\"\" + cssClasses.LIST_ITEM_PRIMARY_TEXT_CLASS] = 'mdc-deprecated-list-item__primary-text',\r\n _b[\"\" + cssClasses.ROOT] = 'mdc-deprecated-list',\r\n _b);\r\nvar strings = {\r\n ACTION_EVENT: 'MDCList:action',\r\n ARIA_CHECKED: 'aria-checked',\r\n ARIA_CHECKED_CHECKBOX_SELECTOR: '[role=\"checkbox\"][aria-checked=\"true\"]',\r\n ARIA_CHECKED_RADIO_SELECTOR: '[role=\"radio\"][aria-checked=\"true\"]',\r\n ARIA_CURRENT: 'aria-current',\r\n ARIA_DISABLED: 'aria-disabled',\r\n ARIA_ORIENTATION: 'aria-orientation',\r\n ARIA_ORIENTATION_HORIZONTAL: 'horizontal',\r\n ARIA_ROLE_CHECKBOX_SELECTOR: '[role=\"checkbox\"]',\r\n ARIA_SELECTED: 'aria-selected',\r\n ARIA_INTERACTIVE_ROLES_SELECTOR: '[role=\"listbox\"], [role=\"menu\"]',\r\n ARIA_MULTI_SELECTABLE_SELECTOR: '[aria-multiselectable=\"true\"]',\r\n CHECKBOX_RADIO_SELECTOR: 'input[type=\"checkbox\"], input[type=\"radio\"]',\r\n CHECKBOX_SELECTOR: 'input[type=\"checkbox\"]',\r\n CHILD_ELEMENTS_TO_TOGGLE_TABINDEX: \"\\n .\" + cssClasses.LIST_ITEM_CLASS + \" button:not(:disabled),\\n .\" + cssClasses.LIST_ITEM_CLASS + \" a,\\n .\" + deprecatedClassNameMap[cssClasses.LIST_ITEM_CLASS] + \" button:not(:disabled),\\n .\" + deprecatedClassNameMap[cssClasses.LIST_ITEM_CLASS] + \" a\\n \",\r\n DEPRECATED_SELECTOR: '.mdc-deprecated-list',\r\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 .\" + deprecatedClassNameMap[cssClasses.LIST_ITEM_CLASS] + \" button:not(:disabled),\\n .\" + deprecatedClassNameMap[cssClasses.LIST_ITEM_CLASS] + \" a,\\n .\" + deprecatedClassNameMap[cssClasses.LIST_ITEM_CLASS] + \" input[type=\\\"radio\\\"]:not(:disabled),\\n .\" + deprecatedClassNameMap[cssClasses.LIST_ITEM_CLASS] + \" input[type=\\\"checkbox\\\"]:not(:disabled)\\n \",\r\n RADIO_SELECTOR: 'input[type=\"radio\"]',\r\n SELECTED_ITEM_SELECTOR: '[aria-selected=\"true\"], [aria-current=\"true\"]',\r\n};\r\nvar numbers = {\r\n UNSET_INDEX: -1,\r\n TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS: 300\r\n};\r\nvar evolutionAttribute = 'evolution';\r\nexport { strings, cssClasses, numbers, deprecatedClassNameMap, evolutionAttribute, evolutionClassNameMap };\r\n//# sourceMappingURL=constants.js.map","/**\r\n * @license\r\n * Copyright 2020 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nvar ELEMENTS_KEY_ALLOWED_IN = ['input', 'button', 'textarea', 'select'];\r\n/**\r\n * Ensures that preventDefault is only called if the containing element\r\n * doesn't consume the event, and it will cause an unintended scroll.\r\n *\r\n * @param evt keyboard event to be prevented.\r\n */\r\nexport var preventDefaultEvent = function (evt) {\r\n var target = evt.target;\r\n if (!target) {\r\n return;\r\n }\r\n var tagName = (\"\" + target.tagName).toLowerCase();\r\n if (ELEMENTS_KEY_ALLOWED_IN.indexOf(tagName) === -1) {\r\n evt.preventDefault();\r\n }\r\n};\r\n//# sourceMappingURL=events.js.map","/**\r\n * @license\r\n * Copyright 2020 Google Inc.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in\r\n * all copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n * THE SOFTWARE.\r\n */\r\nimport { normalizeKey } from '@material/dom/keyboard';\r\nimport { numbers } from './constants';\r\nimport { preventDefaultEvent } from './events';\r\n/**\r\n * Initializes a state object for typeahead. Use the same reference for calls to\r\n * typeahead functions.\r\n *\r\n * @return The current state of the typeahead process. Each state reference\r\n * represents a typeahead instance as the reference is typically mutated\r\n * in-place.\r\n */\r\nexport function initState() {\r\n var state = {\r\n bufferClearTimeout: 0,\r\n currentFirstChar: '',\r\n sortedIndexCursor: 0,\r\n typeaheadBuffer: '',\r\n };\r\n return state;\r\n}\r\n/**\r\n * Initializes typeahead state by indexing the current list items by primary\r\n * text into the sortedIndexByFirstChar data structure.\r\n *\r\n * @param listItemCount numer of items in the list\r\n * @param getPrimaryTextByItemIndex function that returns the primary text at a\r\n * given index\r\n *\r\n * @return Map that maps the first character of the primary text to the full\r\n * list text and it's index\r\n */\r\nexport function initSortedIndex(listItemCount, getPrimaryTextByItemIndex) {\r\n var sortedIndexByFirstChar = new Map();\r\n // Aggregate item text to index mapping\r\n for (var i = 0; i < listItemCount; i++) {\r\n var primaryText = getPrimaryTextByItemIndex(i).trim();\r\n if (!primaryText) {\r\n continue;\r\n }\r\n var firstChar = primaryText[0].toLowerCase();\r\n if (!sortedIndexByFirstChar.has(firstChar)) {\r\n sortedIndexByFirstChar.set(firstChar, []);\r\n }\r\n sortedIndexByFirstChar.get(firstChar).push({ text: primaryText.toLowerCase(), index: i });\r\n }\r\n // Sort the mapping\r\n // TODO(b/157162694): Investigate replacing forEach with Map.values()\r\n sortedIndexByFirstChar.forEach(function (values) {\r\n values.sort(function (first, second) {\r\n return first.index - second.index;\r\n });\r\n });\r\n return sortedIndexByFirstChar;\r\n}\r\n/**\r\n * Given the next desired character from the user, it attempts to find the next\r\n * list option matching the buffer. Wraps around if at the end of options.\r\n *\r\n * @param opts Options and accessors\r\n * - nextChar - the next character to match against items\r\n * - sortedIndexByFirstChar - output of `initSortedIndex(...)`\r\n * - focusedItemIndex - the index of the currently focused item\r\n * - focusItemAtIndex - function that focuses a list item at given index\r\n * - skipFocus - whether or not to focus the matched item\r\n * - isItemAtIndexDisabled - function that determines whether an item at a\r\n * given index is disabled\r\n * @param state The typeahead state instance. See `initState`.\r\n *\r\n * @return The index of the matched item, or -1 if no match.\r\n */\r\nexport function matchItem(opts, state) {\r\n var nextChar = opts.nextChar, focusItemAtIndex = opts.focusItemAtIndex, sortedIndexByFirstChar = opts.sortedIndexByFirstChar, focusedItemIndex = opts.focusedItemIndex, skipFocus = opts.skipFocus, isItemAtIndexDisabled = opts.isItemAtIndexDisabled;\r\n clearTimeout(state.bufferClearTimeout);\r\n state.bufferClearTimeout = setTimeout(function () {\r\n clearBuffer(state);\r\n }, numbers.TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS);\r\n state.typeaheadBuffer = state.typeaheadBuffer + nextChar;\r\n var index;\r\n if (state.typeaheadBuffer.length === 1) {\r\n index = matchFirstChar(sortedIndexByFirstChar, focusedItemIndex, isItemAtIndexDisabled, state);\r\n }\r\n else {\r\n index = matchAllChars(sortedIndexByFirstChar, isItemAtIndexDisabled, state);\r\n }\r\n if (index !== -1 && !skipFocus) {\r\n focusItemAtIndex(index);\r\n }\r\n return index;\r\n}\r\n/**\r\n * Matches the user's single input character in the buffer to the\r\n * next option that begins with such character. Wraps around if at\r\n * end of options. Returns -1 if no match is found.\r\n */\r\nfunction matchFirstChar(sortedIndexByFirstChar, focusedItemIndex, isItemAtIndexDisabled, state) {\r\n var firstChar = state.typeaheadBuffer[0];\r\n var itemsMatchingFirstChar = sortedIndexByFirstChar.get(firstChar);\r\n if (!itemsMatchingFirstChar) {\r\n return -1;\r\n }\r\n // Has the same firstChar been recently matched?\r\n // Also, did starting index remain the same between key presses?\r\n // If both hold true, simply increment index.\r\n if (firstChar === state.currentFirstChar &&\r\n itemsMatchingFirstChar[state.sortedIndexCursor].index ===\r\n focusedItemIndex) {\r\n state.sortedIndexCursor =\r\n (state.sortedIndexCursor + 1) % itemsMatchingFirstChar.length;\r\n var newIndex = itemsMatchingFirstChar[state.sortedIndexCursor].index;\r\n if (!isItemAtIndexDisabled(newIndex)) {\r\n return newIndex;\r\n }\r\n }\r\n // If we're here, it means one of the following happened:\r\n // - either firstChar or startingIndex has changed, invalidating the\r\n // cursor.\r\n // - The next item of typeahead is disabled, so we have to look further.\r\n state.currentFirstChar = firstChar;\r\n var newCursorPosition = -1;\r\n var cursorPosition;\r\n // Find the first non-disabled item as a fallback.\r\n for (cursorPosition = 0; cursorPosition < itemsMatchingFirstChar.length; cursorPosition++) {\r\n if (!isItemAtIndexDisabled(itemsMatchingFirstChar[cursorPosition].index)) {\r\n newCursorPosition = cursorPosition;\r\n break;\r\n }\r\n }\r\n // Advance cursor to first item matching the firstChar that is positioned\r\n // after starting item. Cursor is unchanged from fallback if there's no\r\n // such item.\r\n for (; cursorPosition < itemsMatchingFirstChar.length; cursorPosition++) {\r\n if (itemsMatchingFirstChar[cursorPosition].index > focusedItemIndex &&\r\n !isItemAtIndexDisabled(itemsMatchingFirstChar[cursorPosition].index)) {\r\n newCursorPosition = cursorPosition;\r\n break;\r\n }\r\n }\r\n if (newCursorPosition !== -1) {\r\n state.sortedIndexCursor = newCursorPosition;\r\n return itemsMatchingFirstChar[state.sortedIndexCursor].index;\r\n }\r\n return -1;\r\n}\r\n/**\r\n * Attempts to find the next item that matches all of the typeahead buffer.\r\n * Wraps around if at end of options. Returns -1 if no match is found.\r\n */\r\nfunction matchAllChars(sortedIndexByFirstChar, isItemAtIndexDisabled, state) {\r\n var firstChar = state.typeaheadBuffer[0];\r\n var itemsMatchingFirstChar = sortedIndexByFirstChar.get(firstChar);\r\n if (!itemsMatchingFirstChar) {\r\n return -1;\r\n }\r\n // Do nothing if text already matches\r\n var startingItem = itemsMatchingFirstChar[state.sortedIndexCursor];\r\n if (startingItem.text.lastIndexOf(state.typeaheadBuffer, 0) === 0 &&\r\n !isItemAtIndexDisabled(startingItem.index)) {\r\n return startingItem.index;\r\n }\r\n // Find next item that matches completely; if no match, we'll eventually\r\n // loop around to same position\r\n var cursorPosition = (state.sortedIndexCursor + 1) % itemsMatchingFirstChar.length;\r\n var nextCursorPosition = -1;\r\n while (cursorPosition !== state.sortedIndexCursor) {\r\n var currentItem = itemsMatchingFirstChar[cursorPosition];\r\n var matches = currentItem.text.lastIndexOf(state.typeaheadBuffer, 0) === 0;\r\n var isEnabled = !isItemAtIndexDisabled(currentItem.index);\r\n if (matches && isEnabled) {\r\n nextCursorPosition = cursorPosition;\r\n break;\r\n }\r\n cursorPosition = (cursorPosition + 1) % itemsMatchingFirstChar.length;\r\n }\r\n if (nextCursorPosition !== -1) {\r\n state.sortedIndexCursor = nextCursorPosition;\r\n return itemsMatchingFirstChar[state.sortedIndexCursor].index;\r\n }\r\n return -1;\r\n}\r\n/**\r\n * Whether or not the given typeahead instaance state is currently typing.\r\n *\r\n * @param state The typeahead state instance. See `initState`.\r\n */\r\nexport function isTypingInProgress(state) {\r\n return state.typeaheadBuffer.length > 0;\r\n}\r\n/**\r\n * Clears the typeahaed buffer so that it resets item matching to the first\r\n * character.\r\n *\r\n * @param state The typeahead state instance. See `initState`.\r\n */\r\nexport function clearBuffer(state) {\r\n state.typeaheadBuffer = '';\r\n}\r\n/**\r\n * Given a keydown event, it calculates whether or not to automatically focus a\r\n * list item depending on what was typed mimicing the typeahead functionality of\r\n * a standard