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