@angular/cdk
Version:
Angular Material Component Development Kit
89 lines • 37.4 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("rxjs"),require("@angular/cdk/keycodes"),require("rxjs/operators"),require("@angular/cdk/coercion"),require("@angular/cdk/platform"),require("@angular/cdk/observers")):"function"==typeof define&&define.amd?define("@angular/cdk/a11y",["exports","@angular/common","@angular/core","rxjs","@angular/cdk/keycodes","rxjs/operators","@angular/cdk/coercion","@angular/cdk/platform","@angular/cdk/observers"],t):t(((e=e||self).ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.a11y={}),e.ng.common,e.ng.core,e.rxjs,e.ng.cdk.keycodes,e.rxjs.operators,e.ng.cdk.coercion,e.ng.cdk.platform,e.ng.cdk.observers)}(this,(function(e,t,n,r,o,i,s,c,a){"use strict";
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/function u(e,t){return(e.getAttribute(t)||"").match(/\S+/g)||[]}
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/var d=0,h=new Map,l=null,p=function(){function e(e){this._document=e}return e.prototype.describe=function(e,t){this._canBeDescribed(e,t)&&("string"!=typeof t?(this._setMessageId(t),h.set(t,{messageElement:t,referenceCount:0})):h.has(t)||this._createMessageElement(t),this._isElementDescribedByMessage(e,t)||this._addMessageReference(e,t))},e.prototype.removeDescription=function(e,t){if(this._isElementNode(e)){if(this._isElementDescribedByMessage(e,t)&&this._removeMessageReference(e,t),"string"==typeof t){var n=h.get(t);n&&0===n.referenceCount&&this._deleteMessageElement(t)}l&&0===l.childNodes.length&&this._deleteMessagesContainer()}},e.prototype.ngOnDestroy=function(){for(var e=this._document.querySelectorAll("[cdk-describedby-host]"),t=0;t<e.length;t++)this._removeCdkDescribedByReferenceIds(e[t]),e[t].removeAttribute("cdk-describedby-host");l&&this._deleteMessagesContainer(),h.clear()},e.prototype._createMessageElement=function(e){var t=this._document.createElement("div");this._setMessageId(t),t.textContent=e,this._createMessagesContainer(),l.appendChild(t),h.set(e,{messageElement:t,referenceCount:0})},e.prototype._setMessageId=function(e){e.id||(e.id="cdk-describedby-message-"+d++)},e.prototype._deleteMessageElement=function(e){var t=h.get(e),n=t&&t.messageElement;l&&n&&l.removeChild(n),h.delete(e)},e.prototype._createMessagesContainer=function(){if(!l){var e=this._document.getElementById("cdk-describedby-message-container");e&&e.parentNode.removeChild(e),(l=this._document.createElement("div")).id="cdk-describedby-message-container",l.setAttribute("aria-hidden","true"),l.style.display="none",this._document.body.appendChild(l)}},e.prototype._deleteMessagesContainer=function(){l&&l.parentNode&&(l.parentNode.removeChild(l),l=null)},e.prototype._removeCdkDescribedByReferenceIds=function(e){var t=u(e,"aria-describedby").filter((function(e){return 0!=e.indexOf("cdk-describedby-message")}));e.setAttribute("aria-describedby",t.join(" "))},e.prototype._addMessageReference=function(e,t){var n=h.get(t);!function r(e,t,n){var r=u(e,t);r.some((function(e){return e.trim()==n.trim()}))||(r.push(n.trim()),e.setAttribute(t,r.join(" ")))}(e,"aria-describedby",n.messageElement.id),e.setAttribute("cdk-describedby-host",""),n.referenceCount++},e.prototype._removeMessageReference=function(e,t){var n=h.get(t);n.referenceCount--,function r(e,t,n){var r=u(e,t).filter((function(e){return e!=n.trim()}));r.length?e.setAttribute(t,r.join(" ")):e.removeAttribute(t)}(e,"aria-describedby",n.messageElement.id),e.removeAttribute("cdk-describedby-host")},e.prototype._isElementDescribedByMessage=function(e,t){var n=u(e,"aria-describedby"),r=h.get(t),o=r&&r.messageElement.id;return!!o&&-1!=n.indexOf(o)},e.prototype._canBeDescribed=function(e,t){if(!this._isElementNode(e))return!1;if(t&&"object"==typeof t)return!0;var n=null==t?"":(""+t).trim(),r=e.getAttribute("aria-label");return!(!n||r&&r.trim()===n)},e.prototype._isElementNode=function(e){return e.nodeType===this._document.ELEMENT_NODE},e.ɵprov=n.ɵɵdefineInjectable({factory:function r(){return new e(n.ɵɵinject(t.DOCUMENT))},token:e,providedIn:"root"}),e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[t.DOCUMENT]}]}]},e}(),f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function _(e,t){function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function m(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return s}
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
var y=function(){function e(e){var t=this;this._items=e,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new r.Subject,this._typeaheadSubscription=r.Subscription.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._skipPredicateFn=function(e){return e.disabled},this._pressedLetters=[],this.tabOut=new r.Subject,this.change=new r.Subject,e instanceof n.QueryList&&e.changes.subscribe((function(e){if(t._activeItem){var n=e.toArray().indexOf(t._activeItem);n>-1&&n!==t._activeItemIndex&&(t._activeItemIndex=n)}}))}return e.prototype.skipPredicate=function(e){return this._skipPredicateFn=e,this},e.prototype.withWrap=function(e){return void 0===e&&(e=!0),this._wrap=e,this},e.prototype.withVerticalOrientation=function(e){return void 0===e&&(e=!0),this._vertical=e,this},e.prototype.withHorizontalOrientation=function(e){return this._horizontal=e,this},e.prototype.withAllowedModifierKeys=function(e){return this._allowedModifierKeys=e,this},e.prototype.withTypeAhead=function(e){var t=this;if(void 0===e&&(e=200),this._items.length&&this._items.some((function(e){return"function"!=typeof e.getLabel})))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(i.tap((function(e){return t._pressedLetters.push(e)})),i.debounceTime(e),i.filter((function(){return t._pressedLetters.length>0})),i.map((function(){return t._pressedLetters.join("")}))).subscribe((function(e){for(var n=t._getItemsArray(),r=1;r<n.length+1;r++){var o=(t._activeItemIndex+r)%n.length,i=n[o];if(!t._skipPredicateFn(i)&&0===i.getLabel().toUpperCase().trim().indexOf(e)){t.setActiveItem(o);break}}t._pressedLetters=[]})),this},e.prototype.setActiveItem=function(e){var t=this._activeItem;this.updateActiveItem(e),this._activeItem!==t&&this.change.next(this._activeItemIndex)},e.prototype.onKeydown=function(e){var t=this,n=e.keyCode,r=["altKey","ctrlKey","metaKey","shiftKey"].every((function(n){return!e[n]||t._allowedModifierKeys.indexOf(n)>-1}));switch(n){case o.TAB:return void this.tabOut.next();case o.DOWN_ARROW:if(this._vertical&&r){this.setNextItemActive();break}return;case o.UP_ARROW:if(this._vertical&&r){this.setPreviousItemActive();break}return;case o.RIGHT_ARROW:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case o.LEFT_ARROW:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;default:return void((r||o.hasModifierKey(e,"shiftKey"))&&(e.key&&1===e.key.length?this._letterKeyStream.next(e.key.toLocaleUpperCase()):(n>=o.A&&n<=o.Z||n>=o.ZERO&&n<=o.NINE)&&this._letterKeyStream.next(String.fromCharCode(n))))}this._pressedLetters=[],e.preventDefault()},Object.defineProperty(e.prototype,"activeItemIndex",{get:function(){return this._activeItemIndex},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeItem",{get:function(){return this._activeItem},enumerable:!1,configurable:!0}),e.prototype.isTyping=function(){return this._pressedLetters.length>0},e.prototype.setFirstItemActive=function(){this._setActiveItemByIndex(0,1)},e.prototype.setLastItemActive=function(){this._setActiveItemByIndex(this._items.length-1,-1)},e.prototype.setNextItemActive=function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)},e.prototype.setPreviousItemActive=function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)},e.prototype.updateActiveItem=function(e){var t=this._getItemsArray(),n="number"==typeof e?e:t.indexOf(e),r=t[n];this._activeItem=null==r?null:r,this._activeItemIndex=n},e.prototype._setActiveItemByDelta=function(e){this._wrap?this._setActiveInWrapMode(e):this._setActiveInDefaultMode(e)},e.prototype._setActiveInWrapMode=function(e){for(var t=this._getItemsArray(),n=1;n<=t.length;n++){var r=(this._activeItemIndex+e*n+t.length)%t.length;if(!this._skipPredicateFn(t[r]))return void this.setActiveItem(r)}},e.prototype._setActiveInDefaultMode=function(e){this._setActiveItemByIndex(this._activeItemIndex+e,e)},e.prototype._setActiveItemByIndex=function(e,t){var n=this._getItemsArray();if(n[e]){for(;this._skipPredicateFn(n[e]);)if(!n[e+=t])return;this.setActiveItem(e)}},e.prototype._getItemsArray=function(){return this._items instanceof n.QueryList?this._items.toArray():this._items},e}(),g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return _(t,e),t.prototype.setActiveItem=function(t){this.activeItem&&this.activeItem.setInactiveStyles(),e.prototype.setActiveItem.call(this,t),this.activeItem&&this.activeItem.setActiveStyles()},t}(y),v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._origin="program",t}return _(t,e),t.prototype.setFocusOrigin=function(e){return this._origin=e,this},t.prototype.setActiveItem=function(t){e.prototype.setActiveItem.call(this,t),this.activeItem&&this.activeItem.focus(this._origin)},t}(y),b=function(){function e(e){this._platform=e}return e.prototype.isDisabled=function(e){return e.hasAttribute("disabled")},e.prototype.isVisible=function(e){return function t(e){return!!(e.offsetWidth||e.offsetHeight||"function"==typeof e.getClientRects&&e.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility},e.prototype.isTabbable=function(e){if(!this._platform.isBrowser)return!1;var t=function r(e){try{return e.frameElement}catch(e){return null}}(function n(e){return e.ownerDocument&&e.ownerDocument.defaultView||window}
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/(e));if(t){var o=t&&t.nodeName.toLowerCase();if(-1===E(t))return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&"object"===o)return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&!this.isVisible(t))return!1}var i=e.nodeName.toLowerCase(),s=E(e);if(e.hasAttribute("contenteditable"))return-1!==s;if("iframe"===i)return!1;if("audio"===i){if(!e.hasAttribute("controls"))return!1;if(this._platform.BLINK)return!0}if("video"===i){if(!e.hasAttribute("controls")&&this._platform.TRIDENT)return!1;if(this._platform.BLINK||this._platform.FIREFOX)return!0}return("object"!==i||!this._platform.BLINK&&!this._platform.WEBKIT)&&!(this._platform.WEBKIT&&this._platform.IOS&&!function c(e){var t=e.nodeName.toLowerCase(),n="input"===t&&e.type;return"text"===n||"password"===n||"select"===t||"textarea"===t}(e))&&e.tabIndex>=0},e.prototype.isFocusable=function(e){return function t(e){return!function t(e){return function t(e){return"input"==e.nodeName.toLowerCase()}(e)&&"hidden"==e.type}(e)&&(function n(e){var t=e.nodeName.toLowerCase();return"input"===t||"select"===t||"button"===t||"textarea"===t}(e)||function r(e){return function t(e){return"a"==e.nodeName.toLowerCase()}(e)&&e.hasAttribute("href")}(e)||e.hasAttribute("contenteditable")||I(e))}(e)&&!this.isDisabled(e)&&this.isVisible(e)},e.ɵprov=n.ɵɵdefineInjectable({factory:function t(){return new e(n.ɵɵinject(c.Platform))},token:e,providedIn:"root"}),e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:c.Platform}]},e}();
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/function I(e){if(!e.hasAttribute("tabindex")||void 0===e.tabIndex)return!1;var t=e.getAttribute("tabindex");return"-32768"!=t&&!(!t||isNaN(parseInt(t,10)))}function E(e){if(!I(e))return null;var t=parseInt(e.getAttribute("tabindex")||"",10);return isNaN(t)?-1:t}var A=function(){function e(e,t,n,r,o){var i=this;void 0===o&&(o=!1),this._element=e,this._checker=t,this._ngZone=n,this._document=r,this._hasAttached=!1,this.startAnchorListener=function(){return i.focusLastTabbableElement()},this.endAnchorListener=function(){return i.focusFirstTabbableElement()},this._enabled=!0,o||this.attachAnchors()}return Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},set:function(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){var e=this._startAnchor,t=this._endAnchor;e&&(e.removeEventListener("focus",this.startAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),t&&(t.removeEventListener("focus",this.endAnchorListener),t.parentNode&&t.parentNode.removeChild(t)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1},e.prototype.attachAnchors=function(){var e=this;return!!this._hasAttached||(this._ngZone.runOutsideAngular((function(){e._startAnchor||(e._startAnchor=e._createAnchor(),e._startAnchor.addEventListener("focus",e.startAnchorListener)),e._endAnchor||(e._endAnchor=e._createAnchor(),e._endAnchor.addEventListener("focus",e.endAnchorListener))})),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)},e.prototype.focusInitialElementWhenReady=function(){var e=this;return new Promise((function(t){e._executeOnStable((function(){return t(e.focusInitialElement())}))}))},e.prototype.focusFirstTabbableElementWhenReady=function(){var e=this;return new Promise((function(t){e._executeOnStable((function(){return t(e.focusFirstTabbableElement())}))}))},e.prototype.focusLastTabbableElementWhenReady=function(){var e=this;return new Promise((function(t){e._executeOnStable((function(){return t(e.focusLastTabbableElement())}))}))},e.prototype._getRegionBoundary=function(e){for(var t=this._element.querySelectorAll("[cdk-focus-region-"+e+"], [cdkFocusRegion"+e+"], [cdk-focus-"+e+"]"),n=0;n<t.length;n++)t[n].hasAttribute("cdk-focus-"+e)?console.warn("Found use of deprecated attribute 'cdk-focus-"+e+"', use 'cdkFocusRegion"+e+"' instead. The deprecated attribute will be removed in 8.0.0.",t[n]):t[n].hasAttribute("cdk-focus-region-"+e)&&console.warn("Found use of deprecated attribute 'cdk-focus-region-"+e+"', use 'cdkFocusRegion"+e+"' instead. The deprecated attribute will be removed in 8.0.0.",t[n]);return"start"==e?t.length?t[0]:this._getFirstTabbableElement(this._element):t.length?t[t.length-1]:this._getLastTabbableElement(this._element)},e.prototype.focusInitialElement=function(){var e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");return e?(e.hasAttribute("cdk-focus-initial")&&console.warn("Found use of deprecated attribute 'cdk-focus-initial', use 'cdkFocusInitial' instead. The deprecated attribute will be removed in 8.0.0",e),n.isDevMode()&&!this._checker.isFocusable(e)&&console.warn("Element matching '[cdkFocusInitial]' is not focusable.",e),e.focus(),!0):this.focusFirstTabbableElement()},e.prototype.focusFirstTabbableElement=function(){var e=this._getRegionBoundary("start");return e&&e.focus(),!!e},e.prototype.focusLastTabbableElement=function(){var e=this._getRegionBoundary("end");return e&&e.focus(),!!e},e.prototype.hasAttached=function(){return this._hasAttached},e.prototype._getFirstTabbableElement=function(e){if(this._checker.isFocusable(e)&&this._checker.isTabbable(e))return e;for(var t=e.children||e.childNodes,n=0;n<t.length;n++){var r=t[n].nodeType===this._document.ELEMENT_NODE?this._getFirstTabbableElement(t[n]):null;if(r)return r}return null},e.prototype._getLastTabbableElement=function(e){if(this._checker.isFocusable(e)&&this._checker.isTabbable(e))return e;for(var t=e.children||e.childNodes,n=t.length-1;n>=0;n--){var r=t[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[n]):null;if(r)return r}return null},e.prototype._createAnchor=function(){var e=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,e),e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e.setAttribute("aria-hidden","true"),e},e.prototype._toggleAnchorTabIndex=function(e,t){e?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")},e.prototype.toggleAnchors=function(e){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(e,this._startAnchor),this._toggleAnchorTabIndex(e,this._endAnchor))},e.prototype._executeOnStable=function(e){this._ngZone.isStable?e():this._ngZone.onStable.asObservable().pipe(i.take(1)).subscribe(e)},e}(),T=function(){function e(e,t,n){this._checker=e,this._ngZone=t,this._document=n}return e.prototype.create=function(e,t){return void 0===t&&(t=!1),new A(e,this._checker,this._ngZone,this._document,t)},e.ɵprov=n.ɵɵdefineInjectable({factory:function r(){return new e(n.ɵɵinject(b),n.ɵɵinject(n.NgZone),n.ɵɵinject(t.DOCUMENT))},token:e,providedIn:"root"}),e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:b},{type:n.NgZone},{type:void 0,decorators:[{type:n.Inject,args:[t.DOCUMENT]}]}]},e}(),k=function(){function e(e,t,n){this._elementRef=e,this._focusTrapFactory=t,this._previouslyFocusedElement=null,this._document=n,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}return Object.defineProperty(e.prototype,"enabled",{get:function(){return this.focusTrap.enabled},set:function(e){this.focusTrap.enabled=s.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"autoCapture",{get:function(){return this._autoCapture},set:function(e){this._autoCapture=s.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)},e.prototype.ngAfterContentInit=function(){this.focusTrap.attachAnchors(),this.autoCapture&&this._captureFocus()},e.prototype.ngDoCheck=function(){this.focusTrap.hasAttached()||this.focusTrap.attachAnchors()},e.prototype.ngOnChanges=function(e){var t=e.autoCapture;t&&!t.firstChange&&this.autoCapture&&this.focusTrap.hasAttached()&&this._captureFocus()},e.prototype._captureFocus=function(){this._previouslyFocusedElement=this._document.activeElement,this.focusTrap.focusInitialElementWhenReady()},e.decorators=[{type:n.Directive,args:[{selector:"[cdkTrapFocus]",exportAs:"cdkTrapFocus"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:T},{type:void 0,decorators:[{type:n.Inject,args:[t.DOCUMENT]}]}]},e.propDecorators={enabled:[{type:n.Input,args:["cdkTrapFocus"]}],autoCapture:[{type:n.Input,args:["cdkTrapFocusAutoCapture"]}]},e}(),C=function(e){function t(t,n,r,o,i,s,c){var a=e.call(this,t,n,r,o,c.defer)||this;return a._focusTrapManager=i,a._inertStrategy=s,a._focusTrapManager.register(a),a}return _(t,e),Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(e){this._enabled=e,this._enabled?this._focusTrapManager.register(this):this._focusTrapManager.deregister(this)},enumerable:!1,configurable:!0}),t.prototype.destroy=function(){this._focusTrapManager.deregister(this),e.prototype.destroy.call(this)},t.prototype._enable=function(){this._inertStrategy.preventFocus(this),this.toggleAnchors(!0)},t.prototype._disable=function(){this._inertStrategy.allowFocus(this),this.toggleAnchors(!1)},t}(A),w="undefined"!=typeof Element&&!!Element.prototype.closest;function L(e,t){return e.matches?e.matches(t):e.msMatchesSelector(t)}
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/var N=function(){function e(){this._listener=null}return e.prototype.preventFocus=function(e){var t=this;this._listener&&e._document.removeEventListener("focus",this._listener,!0),this._listener=function(n){return t._trapFocus(e,n)},e._ngZone.runOutsideAngular((function(){e._document.addEventListener("focus",t._listener,!0)}))},e.prototype.allowFocus=function(e){this._listener&&(e._document.removeEventListener("focus",this._listener,!0),this._listener=null)},e.prototype._trapFocus=function(e,t){var n=t.target,r=e._element;r.contains(n)||null!==
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function o(e,t){if(!(e instanceof Node))return null;for(var n=e;null!=n&&!(n instanceof Element);)n=n.parentNode;return n&&(w?n.closest(t):function r(e,t){for(var n=e;null!=n&&!(n instanceof Element&&L(n,t));)n=n.parentNode;return n||null}(n,t))}(n,"div.cdk-overlay-pane")||setTimeout((function(){e.enabled&&!r.contains(e._document.activeElement)&&e.focusFirstTabbableElement()}))},e}(),O=function O(){this.defer=!1},F=new n.InjectionToken("FOCUS_TRAP_INERT_STRATEGY"),M=function(){function e(){this._focusTrapStack=[]}return e.prototype.register=function(e){this._focusTrapStack=this._focusTrapStack.filter((function(t){return t!==e}));var t=this._focusTrapStack;t.length&&t[t.length-1]._disable(),t.push(e),e._enable()},e.prototype.deregister=function(e){e._disable();var t=this._focusTrapStack,n=t.indexOf(e);-1!==n&&(t.splice(n,1),t.length&&t[t.length-1]._enable())},e.ɵprov=n.ɵɵdefineInjectable({factory:function t(){return new e},token:e,providedIn:"root"}),e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e}(),j=function(){function e(e,t,n,r,o){this._checker=e,this._ngZone=t,this._focusTrapManager=n,this._document=r,this._inertStrategy=o||new N}return e.prototype.create=function(e,t){var n;return void 0===t&&(t=new O),"boolean"==typeof t?(n=new O).defer=t:n=t,new C(e,this._checker,this._ngZone,this._document,this._focusTrapManager,this._inertStrategy,n)},e.ɵprov=n.ɵɵdefineInjectable({factory:function r(){return new e(n.ɵɵinject(b),n.ɵɵinject(n.NgZone),n.ɵɵinject(M),n.ɵɵinject(t.DOCUMENT),n.ɵɵinject(F,8))},token:e,providedIn:"root"}),e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:b},{type:n.NgZone},{type:M},{type:void 0,decorators:[{type:n.Inject,args:[t.DOCUMENT]}]},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[F]}]}]},e}(),x=new n.InjectionToken("liveAnnouncerElement",{providedIn:"root",factory:D});
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/function D(){return null}var S=new n.InjectionToken("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),R=function(){function e(e,t,n,r){this._ngZone=t,this._defaultOptions=r,this._document=n,this._liveElement=e||this._createLiveElement()}return e.prototype.announce=function(e){for(var t,n=this,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var i,s,c=this._defaultOptions;return 1===r.length&&"number"==typeof r[0]?s=r[0]:(i=(t=m(r,2))[0],s=t[1]),this.clear(),clearTimeout(this._previousTimeout),i||(i=c&&c.politeness?c.politeness:"polite"),null==s&&c&&(s=c.duration),this._liveElement.setAttribute("aria-live",i),this._ngZone.runOutsideAngular((function(){return new Promise((function(t){clearTimeout(n._previousTimeout),n._previousTimeout=setTimeout((function(){n._liveElement.textContent=e,t(),"number"==typeof s&&(n._previousTimeout=setTimeout((function(){return n.clear()}),s))}),100)}))}))},e.prototype.clear=function(){this._liveElement&&(this._liveElement.textContent="")},e.prototype.ngOnDestroy=function(){clearTimeout(this._previousTimeout),this._liveElement&&this._liveElement.parentNode&&(this._liveElement.parentNode.removeChild(this._liveElement),this._liveElement=null)},e.prototype._createLiveElement=function(){for(var e=this._document.getElementsByClassName("cdk-live-announcer-element"),t=this._document.createElement("div"),n=0;n<e.length;n++)e[n].parentNode.removeChild(e[n]);return t.classList.add("cdk-live-announcer-element"),t.classList.add("cdk-visually-hidden"),t.setAttribute("aria-atomic","true"),t.setAttribute("aria-live","polite"),this._document.body.appendChild(t),t},e.ɵprov=n.ɵɵdefineInjectable({factory:function r(){return new e(n.ɵɵinject(x,8),n.ɵɵinject(n.NgZone),n.ɵɵinject(t.DOCUMENT),n.ɵɵinject(S,8))},token:e,providedIn:"root"}),e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[x]}]},{type:n.NgZone},{type:void 0,decorators:[{type:n.Inject,args:[t.DOCUMENT]}]},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[S]}]}]},e}(),B=function(){function e(e,t,n,r){this._elementRef=e,this._liveAnnouncer=t,this._contentObserver=n,this._ngZone=r,this._politeness="off"}return Object.defineProperty(e.prototype,"politeness",{get:function(){return this._politeness},set:function(e){var t=this;this._politeness="polite"===e||"assertive"===e?e:"off","off"===this._politeness?this._subscription&&(this._subscription.unsubscribe(),this._subscription=null):this._subscription||(this._subscription=this._ngZone.runOutsideAngular((function(){return t._contentObserver.observe(t._elementRef).subscribe((function(){var e=t._elementRef.nativeElement.textContent;e!==t._previousAnnouncedText&&(t._liveAnnouncer.announce(e,t._politeness),t._previousAnnouncedText=e)}))})))},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){this._subscription&&this._subscription.unsubscribe()},e.decorators=[{type:n.Directive,args:[{selector:"[cdkAriaLive]",exportAs:"cdkAriaLive"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:R},{type:a.ContentObserver},{type:n.NgZone}]},e.propDecorators={politeness:[{type:n.Input,args:["cdkAriaLive"]}]},e}();
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function P(e){return 0===e.buttons}
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/var K=650,U=new n.InjectionToken("cdk-focus-monitor-default-options"),Z=c.normalizePassiveListenerOptions({passive:!0,capture:!0}),W=function(){function e(e,t,n,r){var o=this;this._ngZone=e,this._platform=t,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._documentKeydownListener=function(){o._lastTouchTarget=null,o._setOriginForCurrentEventQueue("keyboard")},this._documentMousedownListener=function(e){if(!o._lastTouchTarget){var t=P(e)?"keyboard":"mouse";o._setOriginForCurrentEventQueue(t)}},this._documentTouchstartListener=function(e){null!=o._touchTimeoutId&&clearTimeout(o._touchTimeoutId),o._lastTouchTarget=V(e),o._touchTimeoutId=setTimeout((function(){return o._lastTouchTarget=null}),K)},this._windowFocusListener=function(){o._windowFocused=!0,o._windowFocusTimeoutId=setTimeout((function(){return o._windowFocused=!1}))},this._rootNodeFocusAndBlurListener=function(e){for(var t=V(e),n="focus"===e.type?o._onFocus:o._onBlur,r=t;r;r=r.parentElement)n.call(o,e,r)},this._document=n,this._detectionMode=(null==r?void 0:r.detectionMode)||0}return e.prototype.monitor=function(e,t){if(void 0===t&&(t=!1),!this._platform.isBrowser)return r.of(null);var n=s.coerceElement(e),o=c._getShadowRoot(n)||this._getDocument(),i=this._elementInfo.get(n);if(i)return t&&(i.checkChildren=!0),i.subject.asObservable();var a={checkChildren:t,subject:new r.Subject,rootNode:o};return this._elementInfo.set(n,a),this._registerGlobalListeners(a),a.subject.asObservable()},e.prototype.stopMonitoring=function(e){var t=s.coerceElement(e),n=this._elementInfo.get(t);n&&(n.subject.complete(),this._setClasses(t),this._elementInfo.delete(t),this._removeGlobalListeners(n))},e.prototype.focusVia=function(e,t,n){var r=s.coerceElement(e);this._setOriginForCurrentEventQueue(t),"function"==typeof r.focus&&r.focus(n)},e.prototype.ngOnDestroy=function(){var e=this;this._elementInfo.forEach((function(t,n){return e.stopMonitoring(n)}))},e.prototype._getDocument=function(){return this._document||document},e.prototype._getWindow=function(){return this._getDocument().defaultView||window},e.prototype._toggleClass=function(e,t,n){n?e.classList.add(t):e.classList.remove(t)},e.prototype._getFocusOrigin=function(e){return this._origin?this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(e)?"touch":"program"},e.prototype._setClasses=function(e,t){this._toggleClass(e,"cdk-focused",!!t),this._toggleClass(e,"cdk-touch-focused","touch"===t),this._toggleClass(e,"cdk-keyboard-focused","keyboard"===t),this._toggleClass(e,"cdk-mouse-focused","mouse"===t),this._toggleClass(e,"cdk-program-focused","program"===t)},e.prototype._setOriginForCurrentEventQueue=function(e){var t=this;this._ngZone.runOutsideAngular((function(){t._origin=e,0===t._detectionMode&&(t._originTimeoutId=setTimeout((function(){return t._origin=null}),1))}))},e.prototype._wasCausedByTouch=function(e){var t=V(e);return this._lastTouchTarget instanceof Node&&t instanceof Node&&(t===this._lastTouchTarget||t.contains(this._lastTouchTarget))},e.prototype._onFocus=function(e,t){var n=this._elementInfo.get(t);if(n&&(n.checkChildren||t===V(e))){var r=this._getFocusOrigin(e);this._setClasses(t,r),this._emitOrigin(n.subject,r),this._lastFocusOrigin=r}},e.prototype._onBlur=function(e,t){var n=this._elementInfo.get(t);!n||n.checkChildren&&e.relatedTarget instanceof Node&&t.contains(e.relatedTarget)||(this._setClasses(t),this._emitOrigin(n.subject,null))},e.prototype._emitOrigin=function(e,t){this._ngZone.run((function(){return e.next(t)}))},e.prototype._registerGlobalListeners=function(e){var t=this;if(this._platform.isBrowser){var n=e.rootNode,r=this._rootNodeFocusListenerCount.get(n)||0;r||this._ngZone.runOutsideAngular((function(){n.addEventListener("focus",t._rootNodeFocusAndBlurListener,Z),n.addEventListener("blur",t._rootNodeFocusAndBlurListener,Z)})),this._rootNodeFocusListenerCount.set(n,r+1),1==++this._monitoredElementCount&&this._ngZone.runOutsideAngular((function(){var e=t._getDocument(),n=t._getWindow();e.addEventListener("keydown",t._documentKeydownListener,Z),e.addEventListener("mousedown",t._documentMousedownListener,Z),e.addEventListener("touchstart",t._documentTouchstartListener,Z),n.addEventListener("focus",t._windowFocusListener)}))}},e.prototype._removeGlobalListeners=function(e){var t=e.rootNode;if(this._rootNodeFocusListenerCount.has(t)){var n=this._rootNodeFocusListenerCount.get(t);n>1?this._rootNodeFocusListenerCount.set(t,n-1):(t.removeEventListener("focus",this._rootNodeFocusAndBlurListener,Z),t.removeEventListener("blur",this._rootNodeFocusAndBlurListener,Z),this._rootNodeFocusListenerCount.delete(t))}if(!--this._monitoredElementCount){var r=this._getDocument(),o=this._getWindow();r.removeEventListener("keydown",this._documentKeydownListener,Z),r.removeEventListener("mousedown",this._documentMousedownListener,Z),r.removeEventListener("touchstart",this._documentTouchstartListener,Z),o.removeEventListener("focus",this._windowFocusListener),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._touchTimeoutId),clearTimeout(this._originTimeoutId)}},e.ɵprov=n.ɵɵdefineInjectable({factory:function r(){return new e(n.ɵɵinject(n.NgZone),n.ɵɵinject(c.Platform),n.ɵɵinject(t.DOCUMENT,8),n.ɵɵinject(U,8))},token:e,providedIn:"root"}),e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:n.NgZone},{type:c.Platform},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[t.DOCUMENT]}]},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[U]}]}]},e}();function V(e){return e.composedPath?e.composedPath()[0]:e.target}var q=function(){function e(e,t){this._elementRef=e,this._focusMonitor=t,this.cdkFocusChange=new n.EventEmitter}return e.prototype.ngAfterViewInit=function(){var e=this;this._monitorSubscription=this._focusMonitor.monitor(this._elementRef,this._elementRef.nativeElement.hasAttribute("cdkMonitorSubtreeFocus")).subscribe((function(t){return e.cdkFocusChange.emit(t)}))},e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()},e.decorators=[{type:n.Directive,args:[{selector:"[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]"}]}],e.ctorParameters=function(){return[{type:n.ElementRef},{type:W}]},e.propDecorators={cdkFocusChange:[{type:n.Output}]},e}(),H=function(){function e(e,t){this._platform=e,this._document=t}return e.prototype.getHighContrastMode=function(){if(!this._platform.isBrowser)return 0;var e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);var t=this._document.defaultView||window,n=t&&t.getComputedStyle?t.getComputedStyle(e):null,r=(n&&n.backgroundColor||"").replace(/ /g,"");switch(this._document.body.removeChild(e),r){case"rgb(0,0,0)":return 2;case"rgb(255,255,255)":return 1}return 0},e.prototype._applyBodyHighContrastModeCssClasses=function(){if(this._platform.isBrowser&&this._document.body){var e=this._document.body.classList;e.remove("cdk-high-contrast-active"),e.remove("cdk-high-contrast-black-on-white"),e.remove("cdk-high-contrast-white-on-black");var t=this.getHighContrastMode();1===t?(e.add("cdk-high-contrast-active"),e.add("cdk-high-contrast-black-on-white")):2===t&&(e.add("cdk-high-contrast-active"),e.add("cdk-high-contrast-white-on-black"))}},e.ɵprov=n.ɵɵdefineInjectable({factory:function r(){return new e(n.ɵɵinject(c.Platform),n.ɵɵinject(t.DOCUMENT))},token:e,providedIn:"root"}),e.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:c.Platform},{type:void 0,decorators:[{type:n.Inject,args:[t.DOCUMENT]}]}]},e}(),G=function(){function e(e){e._applyBodyHighContrastModeCssClasses()}return e.decorators=[{type:n.NgModule,args:[{imports:[c.PlatformModule,a.ObserversModule],declarations:[B,k,q],exports:[B,k,q]}]}],e.ctorParameters=function(){return[{type:H}]},e}();
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
e.A11yModule=G,e.ActiveDescendantKeyManager=g,e.AriaDescriber=p,e.CDK_DESCRIBEDBY_HOST_ATTRIBUTE="cdk-describedby-host",e.CDK_DESCRIBEDBY_ID_PREFIX="cdk-describedby-message",e.CdkAriaLive=B,e.CdkMonitorFocus=q,e.CdkTrapFocus=k,e.ConfigurableFocusTrap=C,e.ConfigurableFocusTrapFactory=j,e.EventListenerFocusTrapInertStrategy=N,e.FOCUS_MONITOR_DEFAULT_OPTIONS=U,e.FOCUS_TRAP_INERT_STRATEGY=F,e.FocusKeyManager=v,e.FocusMonitor=W,e.FocusTrap=A,e.FocusTrapFactory=T,e.HighContrastModeDetector=H,e.InteractivityChecker=b,e.LIVE_ANNOUNCER_DEFAULT_OPTIONS=S,e.LIVE_ANNOUNCER_ELEMENT_TOKEN=x,e.LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY=D,e.ListKeyManager=y,e.LiveAnnouncer=R,e.MESSAGES_CONTAINER_ID="cdk-describedby-message-container",e.TOUCH_BUFFER_MS=K,e.isFakeMousedownFromScreenReader=P,e.ɵangular_material_src_cdk_a11y_a11y_a=M,e.ɵangular_material_src_cdk_a11y_a11y_b=O,Object.defineProperty(e,"__esModule",{value:!0})}));