@angular/cdk-experimental 13.0.0-next.1 → 13.0.0-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -239,7 +239,7 @@
239
239
  ar[i] = from[i];
240
240
  }
241
241
  }
242
- return to.concat(ar || from);
242
+ return to.concat(ar || Array.prototype.slice.call(from));
243
243
  }
244
244
  function __await(v) {
245
245
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-experimental-column-resize.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/column-resize/selectors.ts","../../../../../src/cdk-experimental/column-resize/column-resize.ts","../../../../../src/cdk-experimental/column-resize/column-resize-notifier.ts","../../../../../src/cdk-experimental/column-resize/event-dispatcher.ts","../../../../../src/cdk-experimental/column-resize/resize-strategy.ts","../../../../../src/cdk-experimental/column-resize/column-resize-directives/constants.ts","../../../../../src/cdk-experimental/column-resize/column-resize-directives/column-resize.ts","../../../../../src/cdk-experimental/column-resize/column-resize-directives/column-resize-flex.ts","../../../../../src/cdk-experimental/column-resize/column-resize-directives/default-enabled-column-resize.ts","../../../../../src/cdk-experimental/column-resize/column-resize-directives/default-enabled-column-resize-flex.ts","../../../../../src/cdk-experimental/column-resize/column-resize-module.ts","../../../../../src/cdk-experimental/column-resize/column-size-store.ts","../../../../../src/cdk-experimental/column-resize/resize-ref.ts","../../../../../src/cdk-experimental/column-resize/resizable.ts","../../../../../src/cdk-experimental/column-resize/overlay-handle.ts","../../../../../src/cdk-experimental/column-resize/public-api.ts","../../../../../src/cdk-experimental/column-resize/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// TODO: Figure out how to remove `mat-` classes from the CDK part of the\n// column resize implementation.\n\nexport const HEADER_CELL_SELECTOR = '.cdk-header-cell, .mat-header-cell';\n\nexport const HEADER_ROW_SELECTOR = '.cdk-header-row, .mat-header-row';\n\nexport const RESIZE_OVERLAY_SELECTOR = '.mat-column-resize-overlay-thumb';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AfterViewInit, Directive, ElementRef, NgZone, OnDestroy} from '@angular/core';\nimport {fromEvent, merge, Subject} from 'rxjs';\nimport {filter, map, mapTo, pairwise, startWith, take, takeUntil} from 'rxjs/operators';\n\nimport {_closest, _matches} from '@angular/cdk-experimental/popover-edit';\n\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from './column-resize-notifier';\nimport {HEADER_CELL_SELECTOR, RESIZE_OVERLAY_SELECTOR} from './selectors';\nimport {HeaderRowEventDispatcher} from './event-dispatcher';\n\nconst HOVER_OR_ACTIVE_CLASS = 'cdk-column-resize-hover-or-active';\nconst WITH_RESIZED_COLUMN_CLASS = 'cdk-column-resize-with-resized-column';\n\nlet nextId = 0;\n\n/**\n * Base class for ColumnResize directives which attach to mat-table elements to\n * provide common events and services for column resizing.\n */\n@Directive()\nexport abstract class ColumnResize implements AfterViewInit, OnDestroy {\n protected readonly destroyed = new Subject<void>();\n\n /* Publicly accessible interface for triggering and being notified of resizes. */\n abstract readonly columnResizeNotifier: ColumnResizeNotifier;\n\n /* ElementRef that this directive is attached to. Exposed For use by column-level directives */\n abstract readonly elementRef: ElementRef<HTMLElement>;\n\n protected abstract readonly eventDispatcher: HeaderRowEventDispatcher;\n protected abstract readonly ngZone: NgZone;\n protected abstract readonly notifier: ColumnResizeNotifierSource;\n\n /** Unique ID for this table instance. */\n protected readonly selectorId = `${++nextId}`;\n\n /** The id attribute of the table, if specified. */\n id?: string;\n\n ngAfterViewInit() {\n this.elementRef.nativeElement!.classList.add(this.getUniqueCssClass());\n\n this._listenForRowHoverEvents();\n this._listenForResizeActivity();\n this._listenForHoverActivity();\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n /** Gets the unique CSS class name for this table instance. */\n getUniqueCssClass() {\n return `cdk-column-resize-${this.selectorId}`;\n }\n\n /** Called when a column in the table is resized. Applies a css class to the table element. */\n setResized() {\n this.elementRef.nativeElement!.classList.add(WITH_RESIZED_COLUMN_CLASS);\n }\n\n private _listenForRowHoverEvents() {\n this.ngZone.runOutsideAngular(() => {\n const element = this.elementRef.nativeElement!;\n\n fromEvent<MouseEvent>(element, 'mouseover').pipe(\n map(event => _closest(event.target, HEADER_CELL_SELECTOR)),\n takeUntil(this.destroyed),\n ).subscribe(this.eventDispatcher.headerCellHovered);\n fromEvent<MouseEvent>(element, 'mouseleave').pipe(\n filter(event => !!event.relatedTarget &&\n !_matches(event.relatedTarget as Element, RESIZE_OVERLAY_SELECTOR)),\n mapTo(null),\n takeUntil(this.destroyed),\n ).subscribe(this.eventDispatcher.headerCellHovered);\n });\n }\n\n private _listenForResizeActivity() {\n merge(\n this.eventDispatcher.overlayHandleActiveForCell.pipe(mapTo(undefined)),\n this.notifier.triggerResize.pipe(mapTo(undefined)),\n this.notifier.resizeCompleted.pipe(mapTo(undefined))\n ).pipe(\n take(1),\n takeUntil(this.destroyed),\n ).subscribe(() => {\n this.setResized();\n });\n }\n\n private _listenForHoverActivity() {\n this.eventDispatcher.headerRowHoveredOrActiveDistinct.pipe(\n startWith(null),\n pairwise(),\n takeUntil(this.destroyed),\n ).subscribe(([previousRow, hoveredRow]) => {\n if (hoveredRow) {\n hoveredRow.classList.add(HOVER_OR_ACTIVE_CLASS);\n }\n if (previousRow) {\n previousRow.classList.remove(HOVER_OR_ACTIVE_CLASS);\n }\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, Subject} from 'rxjs';\n\n/** Indicates the width of a column. */\nexport interface ColumnSize {\n /** The ID/name of the column, as defined in CdkColumnDef. */\n readonly columnId: string;\n\n /** The width in pixels of the column. */\n readonly size: number;\n\n /** The width in pixels of the column prior to this update, if known. */\n readonly previousSize?: number;\n}\n\n/** Interface describing column size changes. */\nexport interface ColumnSizeAction extends ColumnSize {\n /**\n * Whether the resize action should be applied instantaneously. False for events triggered during\n * a UI-triggered resize (such as with the mouse) until the mouse button is released. True\n * for all programmatically triggered resizes.\n */\n readonly completeImmediately?: boolean;\n\n /**\n * Whether the resize action is being applied to a sticky/stickyEnd column.\n */\n readonly isStickyColumn?: boolean;\n}\n\n/**\n * Originating source of column resize events within a table.\n * @docs-private\n */\n@Injectable()\nexport class ColumnResizeNotifierSource {\n /** Emits when an in-progress resize is canceled. */\n readonly resizeCanceled = new Subject<ColumnSizeAction>();\n\n /** Emits when a resize is applied. */\n readonly resizeCompleted = new Subject<ColumnSize>();\n\n /** Triggers a resize action. */\n readonly triggerResize = new Subject<ColumnSizeAction>();\n}\n\n/** Service for triggering column resizes imperatively or being notified of them. */\n@Injectable()\nexport class ColumnResizeNotifier {\n /** Emits whenever a column is resized. */\n readonly resizeCompleted: Observable<ColumnSize> = this._source.resizeCompleted;\n\n constructor(private readonly _source: ColumnResizeNotifierSource) {}\n\n /** Instantly resizes the specified column. */\n resize(columnId: string, size: number): void {\n this._source.triggerResize.next(\n {columnId, size, completeImmediately: true, isStickyColumn: true});\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone} from '@angular/core';\nimport {combineLatest, MonoTypeOperatorFunction, Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged, map, share, skip, startWith} from 'rxjs/operators';\n\nimport {_closest} from '@angular/cdk-experimental/popover-edit';\n\nimport {HEADER_ROW_SELECTOR} from './selectors';\n\n/** Coordinates events between the column resize directives. */\n@Injectable()\nexport class HeaderRowEventDispatcher {\n /**\n * Emits the currently hovered header cell or null when no header cells are hovered.\n * Exposed publicly for events to feed in, but subscribers should use headerCellHoveredDistinct,\n * defined below.\n */\n readonly headerCellHovered = new Subject<Element|null>();\n\n /**\n * Emits the header cell for which a user-triggered resize is active or null\n * when no resize is in progress.\n */\n readonly overlayHandleActiveForCell = new Subject<Element|null>();\n\n constructor(private readonly _ngZone: NgZone) {}\n\n /** Distinct and shared version of headerCellHovered. */\n readonly headerCellHoveredDistinct = this.headerCellHovered.pipe(\n distinctUntilChanged(),\n share(),\n );\n\n /**\n * Emits the header that is currently hovered or hosting an active resize event (with active\n * taking precedence).\n */\n readonly headerRowHoveredOrActiveDistinct = combineLatest([\n this.headerCellHoveredDistinct.pipe(\n map(cell => _closest(cell, HEADER_ROW_SELECTOR)),\n startWith(null),\n distinctUntilChanged(),\n ),\n this.overlayHandleActiveForCell.pipe(\n map(cell => _closest(cell, HEADER_ROW_SELECTOR)),\n startWith(null),\n distinctUntilChanged(),\n ),\n ]).pipe(\n skip(1), // Ignore initial [null, null] emission.\n map(([hovered, active]) => active || hovered),\n distinctUntilChanged(),\n share(),\n );\n\n private readonly _headerRowHoveredOrActiveDistinctReenterZone =\n this.headerRowHoveredOrActiveDistinct.pipe(\n this._enterZone(),\n share(),\n );\n\n // Optimization: Share row events observable with subsequent callers.\n // At startup, calls will be sequential by row (and typically there's only one).\n private _lastSeenRow: Element|null = null;\n private _lastSeenRowHover: Observable<boolean>|null = null;\n\n /**\n * Emits whether the specified row should show its overlay controls.\n * Emission occurs within the NgZone.\n */\n resizeOverlayVisibleForHeaderRow(row: Element): Observable<boolean> {\n if (row !== this._lastSeenRow) {\n this._lastSeenRow = row;\n this._lastSeenRowHover = this._headerRowHoveredOrActiveDistinctReenterZone.pipe(\n map(hoveredRow => hoveredRow === row),\n distinctUntilChanged(),\n share(),\n );\n }\n\n return this._lastSeenRowHover!;\n }\n\n private _enterZone<T>(): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) =>\n new Observable<T>((observer) => source.subscribe({\n next: (value) => this._ngZone.run(() => observer.next(value)),\n error: (err) => observer.error(err),\n complete: () => observer.complete()\n }));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, OnDestroy, Provider} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {coerceCssPixelValue} from '@angular/cdk/coercion';\nimport {CdkTable, _CoalescedStyleScheduler, _COALESCED_STYLE_SCHEDULER} from '@angular/cdk/table';\n\nimport {ColumnResize} from './column-resize';\n\n/**\n * Provides an implementation for resizing a column.\n * The details of how resizing works for tables for flex mat-tables are quite different.\n */\n@Injectable()\nexport abstract class ResizeStrategy {\n protected abstract readonly columnResize: ColumnResize;\n protected abstract readonly styleScheduler: _CoalescedStyleScheduler;\n protected abstract readonly table: CdkTable<unknown>;\n\n private _pendingResizeDelta: number|null = null;\n\n /** Updates the width of the specified column. */\n abstract applyColumnSize(\n cssFriendlyColumnName: string,\n columnHeader: HTMLElement,\n sizeInPx: number,\n previousSizeInPx?: number): void;\n\n /** Applies a minimum width to the specified column, updating its current width as needed. */\n abstract applyMinColumnSize(\n cssFriendlyColumnName: string,\n columnHeader: HTMLElement,\n minSizeInPx: number): void;\n\n /** Applies a maximum width to the specified column, updating its current width as needed. */\n abstract applyMaxColumnSize(\n cssFriendlyColumnName: string,\n columnHeader: HTMLElement,\n minSizeInPx: number): void;\n\n /** Adjusts the width of the table element by the specified delta. */\n protected updateTableWidthAndStickyColumns(delta: number): void {\n if (this._pendingResizeDelta === null) {\n const tableElement = this.columnResize.elementRef.nativeElement;\n const tableWidth = getElementWidth(tableElement);\n\n this.styleScheduler.schedule(() => {\n tableElement.style.width = coerceCssPixelValue(tableWidth + this._pendingResizeDelta!);\n\n this._pendingResizeDelta = null;\n });\n\n this.styleScheduler.scheduleEnd(() => {\n this.table.updateStickyColumnStyles();\n });\n }\n\n this._pendingResizeDelta = (this._pendingResizeDelta ?? 0) + delta;\n }\n}\n\n/**\n * The optimially performing resize strategy for &lt;table&gt; elements with table-layout: fixed.\n * Tested against and outperformed:\n * CSS selector\n * CSS selector w/ CSS variable\n * Updating all cell nodes\n */\n@Injectable()\nexport class TableLayoutFixedResizeStrategy extends ResizeStrategy {\n constructor(\n protected readonly columnResize: ColumnResize,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n protected readonly table: CdkTable<unknown>) {\n super();\n }\n\n applyColumnSize(_: string, columnHeader: HTMLElement, sizeInPx: number,\n previousSizeInPx?: number): void {\n const delta = sizeInPx - (previousSizeInPx ?? getElementWidth(columnHeader));\n\n if (delta === 0) {\n return;\n }\n\n this.styleScheduler.schedule(() => {\n columnHeader.style.width = coerceCssPixelValue(sizeInPx);\n });\n\n this.updateTableWidthAndStickyColumns(delta);\n }\n\n applyMinColumnSize(_: string, columnHeader: HTMLElement, sizeInPx: number): void {\n const currentWidth = getElementWidth(columnHeader);\n const newWidth = Math.max(currentWidth, sizeInPx);\n\n this.applyColumnSize(_, columnHeader, newWidth, currentWidth);\n }\n\n applyMaxColumnSize(_: string, columnHeader: HTMLElement, sizeInPx: number): void {\n const currentWidth = getElementWidth(columnHeader);\n const newWidth = Math.min(currentWidth, sizeInPx);\n\n this.applyColumnSize(_, columnHeader, newWidth, currentWidth);\n }\n}\n\n/**\n * The optimally performing resize strategy for flex mat-tables.\n * Tested against and outperformed:\n * CSS selector w/ CSS variable\n * Updating all mat-cell nodes\n */\n@Injectable()\nexport class CdkFlexTableResizeStrategy extends ResizeStrategy implements OnDestroy {\n private readonly _document: Document;\n private readonly _columnIndexes = new Map<string, number>();\n private readonly _columnProperties = new Map<string, Map<string, string>>();\n\n private _styleElement?: HTMLStyleElement;\n private _indexSequence = 0;\n\n protected readonly defaultMinSize = 0;\n protected readonly defaultMaxSize = Number.MAX_SAFE_INTEGER;\n\n constructor(\n protected readonly columnResize: ColumnResize,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n protected readonly table: CdkTable<unknown>,\n @Inject(DOCUMENT) document: any) {\n super();\n this._document = document;\n }\n\n applyColumnSize(cssFriendlyColumnName: string, columnHeader: HTMLElement,\n sizeInPx: number, previousSizeInPx?: number): void {\n // Optimization: Check applied width first as we probably set it already before reading\n // offsetWidth which triggers layout.\n const delta = sizeInPx - (previousSizeInPx ??\n (this._getAppliedWidth(cssFriendlyColumnName) || columnHeader.offsetWidth));\n\n if (delta === 0) {\n return;\n }\n\n const cssSize = coerceCssPixelValue(sizeInPx);\n\n this._applyProperty(cssFriendlyColumnName, 'flex', `0 0.01 ${cssSize}`);\n this.updateTableWidthAndStickyColumns(delta);\n }\n\n applyMinColumnSize(cssFriendlyColumnName: string, _: HTMLElement, sizeInPx: number): void {\n const cssSize = coerceCssPixelValue(sizeInPx);\n\n this._applyProperty(cssFriendlyColumnName, 'min-width', cssSize,\n sizeInPx !== this.defaultMinSize);\n this.updateTableWidthAndStickyColumns(0);\n }\n\n applyMaxColumnSize(cssFriendlyColumnName: string, _: HTMLElement, sizeInPx: number): void {\n const cssSize = coerceCssPixelValue(sizeInPx);\n\n this._applyProperty(cssFriendlyColumnName, 'max-width', cssSize,\n sizeInPx !== this.defaultMaxSize);\n this.updateTableWidthAndStickyColumns(0);\n }\n\n protected getColumnCssClass(cssFriendlyColumnName: string): string {\n return `cdk-column-${cssFriendlyColumnName}`;\n }\n\n ngOnDestroy(): void {\n // TODO: Use remove() once we're off IE11.\n if (this._styleElement && this._styleElement.parentNode) {\n this._styleElement.parentNode.removeChild(this._styleElement);\n this._styleElement = undefined;\n }\n }\n\n private _getPropertyValue(cssFriendlyColumnName: string, key: string): string|undefined {\n const properties = this._getColumnPropertiesMap(cssFriendlyColumnName);\n return properties.get(key);\n }\n\n private _getAppliedWidth(cssFriendslyColumnName: string): number {\n return coercePixelsFromFlexValue(this._getPropertyValue(cssFriendslyColumnName, 'flex'));\n }\n\n private _applyProperty(\n cssFriendlyColumnName: string,\n key: string,\n value: string,\n enable = true): void {\n const properties = this._getColumnPropertiesMap(cssFriendlyColumnName);\n\n this.styleScheduler.schedule(() => {\n if (enable) {\n properties.set(key, value);\n } else {\n properties.delete(key);\n }\n this._applySizeCss(cssFriendlyColumnName);\n });\n }\n\n private _getStyleSheet(): CSSStyleSheet {\n if (!this._styleElement) {\n this._styleElement = this._document.createElement('style');\n this._styleElement.appendChild(this._document.createTextNode(''));\n this._document.head.appendChild(this._styleElement);\n }\n\n return this._styleElement.sheet as CSSStyleSheet;\n }\n\n private _getColumnPropertiesMap(cssFriendlyColumnName: string): Map<string, string> {\n let properties = this._columnProperties.get(cssFriendlyColumnName);\n if (properties === undefined) {\n properties = new Map<string, string>();\n this._columnProperties.set(cssFriendlyColumnName, properties);\n }\n return properties;\n }\n\n private _applySizeCss(cssFriendlyColumnName: string) {\n const properties = this._getColumnPropertiesMap(cssFriendlyColumnName);\n const propertyKeys = Array.from(properties.keys());\n\n let index = this._columnIndexes.get(cssFriendlyColumnName);\n if (index === undefined) {\n if (!propertyKeys.length) {\n // Nothing to set or unset.\n return;\n }\n\n index = this._indexSequence++;\n this._columnIndexes.set(cssFriendlyColumnName, index);\n } else {\n this._getStyleSheet().deleteRule(index);\n }\n\n const columnClassName = this.getColumnCssClass(cssFriendlyColumnName);\n const tableClassName = this.columnResize.getUniqueCssClass();\n\n const selector = `.${tableClassName} .${columnClassName}`;\n const body = propertyKeys.map(key => `${key}:${properties.get(key)}`).join(';');\n\n this._getStyleSheet().insertRule(`${selector} {${body}}`, index!);\n }\n}\n\n/** Converts CSS pixel values to numbers, eg \"123px\" to 123. Returns NaN for non pixel values. */\nfunction coercePixelsFromCssValue(cssValue: string): number {\n return Number(cssValue.match(/(\\d+)px/)?.[1]);\n}\n\n/** Gets the style.width pixels on the specified element if present, otherwise its offsetWidth. */\nfunction getElementWidth(element: HTMLElement) {\n // Optimization: Check style.width first as we probably set it already before reading\n // offsetWidth which triggers layout.\n return coercePixelsFromCssValue(element.style.width) || element.offsetWidth;\n}\n\n/**\n * Converts CSS flex values as set in CdkFlexTableResizeStrategy to numbers,\n * eg \"0 0.01 123px\" to 123.\n */\nfunction coercePixelsFromFlexValue(flexValue: string|undefined): number {\n return Number(flexValue?.match(/0 0\\.01 (\\d+)px/)?.[1]);\n}\n\nexport const TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER: Provider = {\n provide: ResizeStrategy,\n useClass: TableLayoutFixedResizeStrategy,\n};\nexport const FLEX_RESIZE_STRATEGY_PROVIDER: Provider = {\n provide: ResizeStrategy,\n useClass: CdkFlexTableResizeStrategy,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Provider} from '@angular/core';\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from '../column-resize-notifier';\nimport {HeaderRowEventDispatcher} from '../event-dispatcher';\nimport {\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n FLEX_RESIZE_STRATEGY_PROVIDER,\n} from '../resize-strategy';\n\nconst PROVIDERS: Provider[] = [\n ColumnResizeNotifier,\n HeaderRowEventDispatcher,\n ColumnResizeNotifierSource,\n];\n\nexport const TABLE_PROVIDERS: Provider[] = [\n ...PROVIDERS,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n];\nexport const FLEX_PROVIDERS: Provider[] = [...PROVIDERS, FLEX_RESIZE_STRATEGY_PROVIDER];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, NgZone} from '@angular/core';\nimport {CdkTable} from '@angular/cdk/table';\n\nimport {ColumnResize} from '../column-resize';\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from '../column-resize-notifier';\nimport {HeaderRowEventDispatcher} from '../event-dispatcher';\nimport {TABLE_PROVIDERS} from './constants';\n\n/**\n * Explicitly enables column resizing for a table-based cdk-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'table[cdk-table][columnResize]',\n providers: [\n ...TABLE_PROVIDERS,\n {provide: ColumnResize, useExisting: CdkColumnResize},\n ],\n})\nexport class CdkColumnResize extends ColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource,\n protected readonly table: CdkTable<unknown>) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, NgZone} from '@angular/core';\nimport {CdkTable} from '@angular/cdk/table';\n\nimport {ColumnResize} from '../column-resize';\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from '../column-resize-notifier';\nimport {HeaderRowEventDispatcher} from '../event-dispatcher';\nimport {FLEX_PROVIDERS} from './constants';\n\n/**\n * Explicitly enables column resizing for a flexbox-based cdk-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'cdk-table[columnResize]',\n providers: [\n ...FLEX_PROVIDERS,\n {provide: ColumnResize, useExisting: CdkColumnResizeFlex},\n ],\n})\nexport class CdkColumnResizeFlex extends ColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource,\n protected readonly table: CdkTable<unknown>) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, NgZone} from '@angular/core';\nimport {CdkTable} from '@angular/cdk/table';\n\nimport {ColumnResize} from '../column-resize';\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from '../column-resize-notifier';\nimport {HeaderRowEventDispatcher} from '../event-dispatcher';\nimport {TABLE_PROVIDERS} from './constants';\n\n/**\n * Implicitly enables column resizing for a table-based cdk-table.\n * Individual columns will be resizable unless opted out.\n */\n@Directive({\n selector: 'table[cdk-table]',\n providers: [\n ...TABLE_PROVIDERS,\n {provide: ColumnResize, useExisting: CdkDefaultEnabledColumnResize},\n ],\n})\nexport class CdkDefaultEnabledColumnResize extends ColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource,\n protected readonly table: CdkTable<unknown>) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, NgZone} from '@angular/core';\nimport {CdkTable} from '@angular/cdk/table';\n\nimport {ColumnResize} from '../column-resize';\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from '../column-resize-notifier';\nimport {HeaderRowEventDispatcher} from '../event-dispatcher';\nimport {FLEX_PROVIDERS} from './constants';\n\n/**\n * Implicitly enables column resizing for a flex cdk-table.\n * Individual columns will be resizable unless opted out.\n */\n@Directive({\n selector: 'cdk-table',\n providers: [\n ...FLEX_PROVIDERS,\n {provide: ColumnResize, useExisting: CdkDefaultEnabledColumnResizeFlex},\n ],\n})\nexport class CdkDefaultEnabledColumnResizeFlex extends ColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource,\n protected readonly table: CdkTable<unknown>) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkColumnResize} from './column-resize-directives/column-resize';\nimport {CdkColumnResizeFlex} from './column-resize-directives/column-resize-flex';\nimport {\n CdkDefaultEnabledColumnResize\n} from './column-resize-directives/default-enabled-column-resize';\nimport {\n CdkDefaultEnabledColumnResizeFlex\n} from './column-resize-directives/default-enabled-column-resize-flex';\n\n/**\n * One of two NgModules for use with CdkColumnResize.\n * When using this module, columns are resizable by default.\n */\n@NgModule({\n declarations: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex],\n exports: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex],\n})\nexport class CdkColumnResizeDefaultEnabledModule {}\n\n/**\n * One of two NgModules for use with CdkColumnResize.\n * When using this module, columns are not resizable by default.\n */\n@NgModule({\n declarations: [CdkColumnResize, CdkColumnResizeFlex],\n exports: [CdkColumnResize, CdkColumnResizeFlex],\n})\nexport class CdkColumnResizeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\n\n/**\n * Can be provided by the host application to enable persistence of column resize state.\n */\n@Injectable()\nexport abstract class ColumnSizeStore {\n /** Returns the persisted size of the specified column in the specified table. */\n abstract getSize(tableId: string, columnId: string): number;\n\n /** Persists the size of the specified column in the specified table. */\n abstract setSize(tableId: string, columnId: string): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ElementRef} from '@angular/core';\nimport {OverlayRef} from '@angular/cdk/overlay';\n\n/** Tracks state of resize events in progress. */\nexport class ResizeRef {\n constructor(\n readonly origin: ElementRef,\n readonly overlayRef: OverlayRef,\n readonly minWidthPx: number,\n readonly maxWidthPx: number, ) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n Injector,\n NgZone,\n OnDestroy,\n Type,\n ViewContainerRef,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {ComponentPortal} from '@angular/cdk/portal';\nimport {Overlay, OverlayRef} from '@angular/cdk/overlay';\nimport {CdkColumnDef, _CoalescedStyleScheduler} from '@angular/cdk/table';\nimport {merge, Subject} from 'rxjs';\nimport {filter, takeUntil} from 'rxjs/operators';\n\nimport {_closest} from '@angular/cdk-experimental/popover-edit';\n\nimport {HEADER_ROW_SELECTOR} from './selectors';\nimport {ResizeOverlayHandle} from './overlay-handle';\nimport {ColumnResize} from './column-resize';\nimport {ColumnSizeAction, ColumnResizeNotifierSource} from './column-resize-notifier';\nimport {HeaderRowEventDispatcher} from './event-dispatcher';\nimport {ResizeRef} from './resize-ref';\nimport {ResizeStrategy} from './resize-strategy';\n\nconst OVERLAY_ACTIVE_CLASS = 'cdk-resizable-overlay-thumb-active';\n\n/**\n * Base class for Resizable directives which are applied to column headers to make those columns\n * resizable.\n */\n@Directive()\nexport abstract class Resizable<HandleComponent extends ResizeOverlayHandle>\n implements AfterViewInit, OnDestroy {\n protected minWidthPxInternal: number = 0;\n protected maxWidthPxInternal: number = Number.MAX_SAFE_INTEGER;\n\n protected inlineHandle?: HTMLElement;\n protected overlayRef?: OverlayRef;\n protected readonly destroyed = new Subject<void>();\n\n protected abstract readonly columnDef: CdkColumnDef;\n protected abstract readonly columnResize: ColumnResize;\n protected abstract readonly directionality: Directionality;\n protected abstract readonly document: Document;\n protected abstract readonly elementRef: ElementRef;\n protected abstract readonly eventDispatcher: HeaderRowEventDispatcher;\n protected abstract readonly injector: Injector;\n protected abstract readonly ngZone: NgZone;\n protected abstract readonly overlay: Overlay;\n protected abstract readonly resizeNotifier: ColumnResizeNotifierSource;\n protected abstract readonly resizeStrategy: ResizeStrategy;\n protected abstract readonly styleScheduler: _CoalescedStyleScheduler;\n protected abstract readonly viewContainerRef: ViewContainerRef;\n protected abstract readonly changeDetectorRef: ChangeDetectorRef;\n\n private _viewInitialized = false;\n\n /** The minimum width to allow the column to be sized to. */\n get minWidthPx(): number {\n return this.minWidthPxInternal;\n }\n set minWidthPx(value: number) {\n this.minWidthPxInternal = value;\n\n this.columnResize.setResized();\n if (this.elementRef.nativeElement && this._viewInitialized) {\n this._applyMinWidthPx();\n }\n }\n\n /** The maximum width to allow the column to be sized to. */\n get maxWidthPx(): number {\n return this.maxWidthPxInternal;\n }\n set maxWidthPx(value: number) {\n this.maxWidthPxInternal = value;\n\n this.columnResize.setResized();\n if (this.elementRef.nativeElement && this._viewInitialized) {\n this._applyMaxWidthPx();\n }\n }\n\n ngAfterViewInit() {\n this._listenForRowHoverEvents();\n this._listenForResizeEvents();\n this._appendInlineHandle();\n\n this.styleScheduler.scheduleEnd(() => {\n this._viewInitialized = true;\n this._applyMinWidthPx();\n this._applyMaxWidthPx();\n });\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n\n if (this.inlineHandle) {\n this.elementRef.nativeElement!.removeChild(this.inlineHandle);\n }\n\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n }\n\n protected abstract getInlineHandleCssClassName(): string;\n\n protected abstract getOverlayHandleComponentType(): Type<HandleComponent>;\n\n private _createOverlayForHandle(): OverlayRef {\n // Use of overlays allows us to properly capture click events spanning parts\n // of two table cells and is also useful for displaying a resize thumb\n // over both cells and extending it down the table as needed.\n\n const isRtl = this.directionality.value === 'rtl';\n const positionStrategy = this.overlay.position()\n .flexibleConnectedTo(this.elementRef.nativeElement!)\n .withFlexibleDimensions(false)\n .withGrowAfterOpen(false)\n .withPush(false)\n .withDefaultOffsetX(isRtl ? 1 : 0)\n .withPositions([{\n originX: isRtl ? 'start' : 'end',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'top',\n }]);\n\n return this.overlay.create({\n // Always position the overlay based on left-indexed coordinates.\n direction: 'ltr',\n disposeOnNavigation: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n width: '16px',\n });\n }\n\n private _listenForRowHoverEvents(): void {\n const element = this.elementRef.nativeElement!;\n const takeUntilDestroyed = takeUntil<boolean>(this.destroyed);\n\n\n this.eventDispatcher.resizeOverlayVisibleForHeaderRow(_closest(element, HEADER_ROW_SELECTOR)!)\n .pipe(takeUntilDestroyed).subscribe(hoveringRow => {\n if (hoveringRow) {\n if (!this.overlayRef) {\n this.overlayRef = this._createOverlayForHandle();\n }\n\n this._showHandleOverlay();\n } else if (this.overlayRef) {\n // todo - can't detach during an active resize - need to work that out\n this.overlayRef.detach();\n }\n });\n }\n\n private _listenForResizeEvents() {\n const takeUntilDestroyed = takeUntil<ColumnSizeAction>(this.destroyed);\n\n merge(\n this.resizeNotifier.resizeCanceled,\n this.resizeNotifier.triggerResize,\n ).pipe(\n takeUntilDestroyed,\n filter(columnSize => columnSize.columnId === this.columnDef.name),\n ).subscribe(({size, previousSize, completeImmediately}) => {\n this.elementRef.nativeElement!.classList.add(OVERLAY_ACTIVE_CLASS);\n this._applySize(size, previousSize);\n\n if (completeImmediately) {\n this._completeResizeOperation();\n }\n });\n\n merge(\n this.resizeNotifier.resizeCanceled,\n this.resizeNotifier.resizeCompleted,\n ).pipe(takeUntilDestroyed).subscribe(columnSize => {\n this._cleanUpAfterResize(columnSize);\n });\n }\n\n private _completeResizeOperation(): void {\n this.ngZone.run(() => {\n this.resizeNotifier.resizeCompleted.next({\n columnId: this.columnDef.name,\n size: this.elementRef.nativeElement!.offsetWidth,\n });\n });\n }\n\n private _cleanUpAfterResize(columnSize: ColumnSizeAction): void {\n this.elementRef.nativeElement!.classList.remove(OVERLAY_ACTIVE_CLASS);\n\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n this._updateOverlayHandleHeight();\n this.overlayRef.updatePosition();\n\n if (columnSize.columnId === this.columnDef.name) {\n this.inlineHandle!.focus();\n }\n }\n }\n\n private _createHandlePortal(): ComponentPortal<HandleComponent> {\n const injector = Injector.create({\n parent: this.injector,\n providers: [{\n provide: ResizeRef,\n useValue: new ResizeRef(this.elementRef, this.overlayRef!, this.minWidthPx, this.maxWidthPx)\n }]\n });\n\n return new ComponentPortal(this.getOverlayHandleComponentType(),\n this.viewContainerRef, injector);\n }\n\n private _showHandleOverlay(): void {\n this._updateOverlayHandleHeight();\n this.overlayRef!.attach(this._createHandlePortal());\n\n // Needed to ensure that all of the lifecycle hooks inside the overlay run immediately.\n this.changeDetectorRef.markForCheck();\n }\n\n private _updateOverlayHandleHeight() {\n this.overlayRef!.updateSize({height: this.elementRef.nativeElement!.offsetHeight});\n }\n\n private _applySize(sizeInPixels: number, previousSize?: number): void {\n const sizeToApply = Math.min(Math.max(sizeInPixels, this.minWidthPx, 0), this.maxWidthPx);\n\n this.resizeStrategy.applyColumnSize(this.columnDef.cssClassFriendlyName,\n this.elementRef.nativeElement!, sizeToApply, previousSize);\n }\n\n private _applyMinWidthPx(): void {\n this.resizeStrategy.applyMinColumnSize(this.columnDef.cssClassFriendlyName,\n this.elementRef.nativeElement, this.minWidthPx);\n }\n\n private _applyMaxWidthPx(): void {\n this.resizeStrategy.applyMaxColumnSize(this.columnDef.cssClassFriendlyName,\n this.elementRef.nativeElement, this.maxWidthPx);\n }\n\n private _appendInlineHandle(): void {\n this.styleScheduler.schedule(() => {\n this.inlineHandle = this.document.createElement('div');\n this.inlineHandle.tabIndex = 0;\n this.inlineHandle.className = this.getInlineHandleCssClassName();\n\n // TODO: Apply correct aria role (probably slider) after a11y spec questions resolved.\n\n this.elementRef.nativeElement!.appendChild(this.inlineHandle);\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AfterViewInit, Directive, ElementRef, OnDestroy, NgZone} from '@angular/core';\nimport {coerceCssPixelValue} from '@angular/cdk/coercion';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {ESCAPE} from '@angular/cdk/keycodes';\nimport {CdkColumnDef, _CoalescedStyleScheduler} from '@angular/cdk/table';\nimport {fromEvent, Subject, merge} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n mapTo,\n pairwise,\n startWith,\n takeUntil,\n} from 'rxjs/operators';\n\nimport {_closest} from '@angular/cdk-experimental/popover-edit';\n\nimport {HEADER_CELL_SELECTOR} from './selectors';\nimport {ColumnResizeNotifierSource} from './column-resize-notifier';\nimport {HeaderRowEventDispatcher} from './event-dispatcher';\nimport {ResizeRef} from './resize-ref';\n\n// TODO: Take another look at using cdk drag drop. IIRC I ran into a couple\n// good reasons for not using it but I don't remember what they were at this point.\n/**\n * Base class for a component shown over the edge of a resizable column that is responsible\n * for handling column resize mouse events and displaying any visible UI on the column edge.\n */\n@Directive()\nexport abstract class ResizeOverlayHandle implements AfterViewInit, OnDestroy {\n protected readonly destroyed = new Subject<void>();\n\n protected abstract readonly columnDef: CdkColumnDef;\n protected abstract readonly document: Document;\n protected abstract readonly directionality: Directionality;\n protected abstract readonly elementRef: ElementRef;\n protected abstract readonly eventDispatcher: HeaderRowEventDispatcher;\n protected abstract readonly ngZone: NgZone;\n protected abstract readonly resizeNotifier: ColumnResizeNotifierSource;\n protected abstract readonly resizeRef: ResizeRef;\n protected abstract readonly styleScheduler: _CoalescedStyleScheduler;\n\n ngAfterViewInit() {\n this._listenForMouseEvents();\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n private _listenForMouseEvents() {\n this.ngZone.runOutsideAngular(() => {\n fromEvent<MouseEvent>(this.elementRef.nativeElement!, 'mouseenter').pipe(\n mapTo(this.resizeRef.origin.nativeElement!),\n takeUntil(this.destroyed),\n ).subscribe(cell => this.eventDispatcher.headerCellHovered.next(cell));\n\n fromEvent<MouseEvent>(this.elementRef.nativeElement!, 'mouseleave').pipe(\n map(event => event.relatedTarget &&\n _closest(event.relatedTarget as Element, HEADER_CELL_SELECTOR)),\n takeUntil(this.destroyed)\n ).subscribe(cell => this.eventDispatcher.headerCellHovered.next(cell));\n\n fromEvent<MouseEvent>(this.elementRef.nativeElement!, 'mousedown')\n .pipe(takeUntil(this.destroyed)).subscribe(mousedownEvent => {\n this._dragStarted(mousedownEvent);\n });\n });\n }\n\n private _dragStarted(mousedownEvent: MouseEvent) {\n // Only allow dragging using the left mouse button.\n if (mousedownEvent.button !== 0) {\n return;\n }\n\n const mouseup = fromEvent<MouseEvent>(this.document, 'mouseup');\n const mousemove = fromEvent<MouseEvent>(this.document, 'mousemove');\n const escape = fromEvent<KeyboardEvent>(this.document, 'keyup')\n .pipe(filter(event => event.keyCode === ESCAPE));\n\n const startX = mousedownEvent.screenX;\n\n const initialSize = this._getOriginWidth();\n let overlayOffset = 0;\n let originOffset = this._getOriginOffset();\n let size = initialSize;\n let overshot = 0;\n\n this.updateResizeActive(true);\n\n mouseup.pipe(takeUntil(merge(escape, this.destroyed))).subscribe(({screenX}) => {\n this.styleScheduler.scheduleEnd(() => {\n this._notifyResizeEnded(size, screenX !== startX);\n });\n });\n\n escape.pipe(takeUntil(merge(mouseup, this.destroyed))).subscribe(() => {\n this._notifyResizeEnded(initialSize);\n });\n\n mousemove.pipe(\n map(({screenX}) => screenX),\n startWith(startX),\n distinctUntilChanged(),\n pairwise(),\n takeUntil(merge(mouseup, escape, this.destroyed))\n ).subscribe(([prevX, currX]) => {\n let deltaX = currX - prevX;\n\n // If the mouse moved further than the resize was able to match, limit the\n // movement of the overlay to match the actual size and position of the origin.\n if (overshot !== 0) {\n if (overshot < 0 && deltaX < 0 || overshot > 0 && deltaX > 0) {\n overshot += deltaX;\n return;\n } else {\n const remainingOvershot = overshot + deltaX;\n overshot = overshot > 0 ?\n Math.max(remainingOvershot, 0) : Math.min(remainingOvershot, 0);\n deltaX = remainingOvershot - overshot;\n\n if (deltaX === 0) {\n return;\n }\n }\n }\n\n let computedNewSize: number = size + (this._isLtr() ? deltaX : -deltaX);\n computedNewSize = Math.min(\n Math.max(computedNewSize, this.resizeRef.minWidthPx, 0), this.resizeRef.maxWidthPx);\n\n this.resizeNotifier.triggerResize.next({\n columnId: this.columnDef.name,\n size: computedNewSize,\n previousSize: size,\n isStickyColumn: this.columnDef.sticky || this.columnDef.stickyEnd,\n });\n\n this.styleScheduler.scheduleEnd(() => {\n const originNewSize = this._getOriginWidth();\n const originNewOffset = this._getOriginOffset();\n const originOffsetDeltaX = originNewOffset - originOffset;\n const originSizeDeltaX = originNewSize - size;\n size = originNewSize;\n originOffset = originNewOffset;\n\n overshot += deltaX + (this._isLtr() ? -originSizeDeltaX : originSizeDeltaX);\n overlayOffset += originOffsetDeltaX + (this._isLtr() ? originSizeDeltaX : 0);\n\n this._updateOverlayOffset(overlayOffset);\n });\n });\n }\n\n protected updateResizeActive(active: boolean): void {\n this.eventDispatcher.overlayHandleActiveForCell.next(\n active ? this.resizeRef.origin.nativeElement! : null);\n }\n\n private _getOriginWidth(): number {\n return this.resizeRef.origin.nativeElement!.offsetWidth;\n }\n\n private _getOriginOffset(): number {\n return this.resizeRef.origin.nativeElement!.offsetLeft;\n }\n\n private _updateOverlayOffset(offset: number): void {\n this.resizeRef.overlayRef.overlayElement.style.transform =\n `translateX(${coerceCssPixelValue(offset)})`;\n }\n\n private _isLtr(): boolean {\n return this.directionality.value === 'ltr';\n }\n\n private _notifyResizeEnded(size: number, completedSuccessfully = false): void {\n this.updateResizeActive(false);\n\n this.ngZone.run(() => {\n const sizeMessage = {columnId: this.columnDef.name, size};\n if (completedSuccessfully) {\n this.resizeNotifier.resizeCompleted.next(sizeMessage);\n } else {\n this.resizeNotifier.resizeCanceled.next(sizeMessage);\n }\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './column-resize';\nexport * from './column-resize-directives/column-resize';\nexport * from './column-resize-directives/column-resize-flex';\nexport * from './column-resize-directives/default-enabled-column-resize';\nexport * from './column-resize-directives/default-enabled-column-resize-flex';\nexport * from './column-resize-module';\nexport * from './column-resize-notifier';\nexport * from './column-size-store';\nexport * from './event-dispatcher';\nexport * from './resizable';\nexport * from './resize-ref';\nexport * from './resize-strategy';\nexport * from './overlay-handle';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {FLEX_PROVIDERS as ɵangular_material_src_cdk_experimental_column_resize_column_resize_b,TABLE_PROVIDERS as ɵangular_material_src_cdk_experimental_column_resize_column_resize_a} from './column-resize-directives/constants';"],"names":["Subject","fromEvent","map","_closest","takeUntil","filter","_matches","mapTo","merge","take","startWith","pairwise","Directive","Injectable","distinctUntilChanged","share","combineLatest","skip","Observable","NgZone","coerceCssPixelValue","_CoalescedStyleScheduler","Inject","_COALESCED_STYLE_SCHEDULER","CdkTable","DOCUMENT","ElementRef","NgModule","Injector","ComponentPortal","ESCAPE"],"mappings":"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"}
1
+ {"version":3,"file":"cdk-experimental-column-resize.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/column-resize/selectors.ts","../../../../../src/cdk-experimental/column-resize/column-resize.ts","../../../../../src/cdk-experimental/column-resize/column-resize-notifier.ts","../../../../../src/cdk-experimental/column-resize/event-dispatcher.ts","../../../../../src/cdk-experimental/column-resize/resize-strategy.ts","../../../../../src/cdk-experimental/column-resize/column-resize-directives/constants.ts","../../../../../src/cdk-experimental/column-resize/column-resize-directives/column-resize.ts","../../../../../src/cdk-experimental/column-resize/column-resize-directives/column-resize-flex.ts","../../../../../src/cdk-experimental/column-resize/column-resize-directives/default-enabled-column-resize.ts","../../../../../src/cdk-experimental/column-resize/column-resize-directives/default-enabled-column-resize-flex.ts","../../../../../src/cdk-experimental/column-resize/column-resize-module.ts","../../../../../src/cdk-experimental/column-resize/column-size-store.ts","../../../../../src/cdk-experimental/column-resize/resize-ref.ts","../../../../../src/cdk-experimental/column-resize/resizable.ts","../../../../../src/cdk-experimental/column-resize/overlay-handle.ts","../../../../../src/cdk-experimental/column-resize/public-api.ts","../../../../../src/cdk-experimental/column-resize/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// TODO: Figure out how to remove `mat-` classes from the CDK part of the\n// column resize implementation.\n\nexport const HEADER_CELL_SELECTOR = '.cdk-header-cell, .mat-header-cell';\n\nexport const HEADER_ROW_SELECTOR = '.cdk-header-row, .mat-header-row';\n\nexport const RESIZE_OVERLAY_SELECTOR = '.mat-column-resize-overlay-thumb';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AfterViewInit, Directive, ElementRef, NgZone, OnDestroy} from '@angular/core';\nimport {fromEvent, merge, Subject} from 'rxjs';\nimport {filter, map, mapTo, pairwise, startWith, take, takeUntil} from 'rxjs/operators';\n\nimport {_closest, _matches} from '@angular/cdk-experimental/popover-edit';\n\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from './column-resize-notifier';\nimport {HEADER_CELL_SELECTOR, RESIZE_OVERLAY_SELECTOR} from './selectors';\nimport {HeaderRowEventDispatcher} from './event-dispatcher';\n\nconst HOVER_OR_ACTIVE_CLASS = 'cdk-column-resize-hover-or-active';\nconst WITH_RESIZED_COLUMN_CLASS = 'cdk-column-resize-with-resized-column';\n\nlet nextId = 0;\n\n/**\n * Base class for ColumnResize directives which attach to mat-table elements to\n * provide common events and services for column resizing.\n */\n@Directive()\nexport abstract class ColumnResize implements AfterViewInit, OnDestroy {\n protected readonly destroyed = new Subject<void>();\n\n /* Publicly accessible interface for triggering and being notified of resizes. */\n abstract readonly columnResizeNotifier: ColumnResizeNotifier;\n\n /* ElementRef that this directive is attached to. Exposed For use by column-level directives */\n abstract readonly elementRef: ElementRef<HTMLElement>;\n\n protected abstract readonly eventDispatcher: HeaderRowEventDispatcher;\n protected abstract readonly ngZone: NgZone;\n protected abstract readonly notifier: ColumnResizeNotifierSource;\n\n /** Unique ID for this table instance. */\n protected readonly selectorId = `${++nextId}`;\n\n /** The id attribute of the table, if specified. */\n id?: string;\n\n ngAfterViewInit() {\n this.elementRef.nativeElement!.classList.add(this.getUniqueCssClass());\n\n this._listenForRowHoverEvents();\n this._listenForResizeActivity();\n this._listenForHoverActivity();\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n /** Gets the unique CSS class name for this table instance. */\n getUniqueCssClass() {\n return `cdk-column-resize-${this.selectorId}`;\n }\n\n /** Called when a column in the table is resized. Applies a css class to the table element. */\n setResized() {\n this.elementRef.nativeElement!.classList.add(WITH_RESIZED_COLUMN_CLASS);\n }\n\n private _listenForRowHoverEvents() {\n this.ngZone.runOutsideAngular(() => {\n const element = this.elementRef.nativeElement!;\n\n fromEvent<MouseEvent>(element, 'mouseover').pipe(\n map(event => _closest(event.target, HEADER_CELL_SELECTOR)),\n takeUntil(this.destroyed),\n ).subscribe(this.eventDispatcher.headerCellHovered);\n fromEvent<MouseEvent>(element, 'mouseleave').pipe(\n filter(event => !!event.relatedTarget &&\n !_matches(event.relatedTarget as Element, RESIZE_OVERLAY_SELECTOR)),\n mapTo(null),\n takeUntil(this.destroyed),\n ).subscribe(this.eventDispatcher.headerCellHovered);\n });\n }\n\n private _listenForResizeActivity() {\n merge(\n this.eventDispatcher.overlayHandleActiveForCell.pipe(mapTo(undefined)),\n this.notifier.triggerResize.pipe(mapTo(undefined)),\n this.notifier.resizeCompleted.pipe(mapTo(undefined))\n ).pipe(\n take(1),\n takeUntil(this.destroyed),\n ).subscribe(() => {\n this.setResized();\n });\n }\n\n private _listenForHoverActivity() {\n this.eventDispatcher.headerRowHoveredOrActiveDistinct.pipe(\n startWith(null),\n pairwise(),\n takeUntil(this.destroyed),\n ).subscribe(([previousRow, hoveredRow]) => {\n if (hoveredRow) {\n hoveredRow.classList.add(HOVER_OR_ACTIVE_CLASS);\n }\n if (previousRow) {\n previousRow.classList.remove(HOVER_OR_ACTIVE_CLASS);\n }\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, Subject} from 'rxjs';\n\n/** Indicates the width of a column. */\nexport interface ColumnSize {\n /** The ID/name of the column, as defined in CdkColumnDef. */\n readonly columnId: string;\n\n /** The width in pixels of the column. */\n readonly size: number;\n\n /** The width in pixels of the column prior to this update, if known. */\n readonly previousSize?: number;\n}\n\n/** Interface describing column size changes. */\nexport interface ColumnSizeAction extends ColumnSize {\n /**\n * Whether the resize action should be applied instantaneously. False for events triggered during\n * a UI-triggered resize (such as with the mouse) until the mouse button is released. True\n * for all programmatically triggered resizes.\n */\n readonly completeImmediately?: boolean;\n\n /**\n * Whether the resize action is being applied to a sticky/stickyEnd column.\n */\n readonly isStickyColumn?: boolean;\n}\n\n/**\n * Originating source of column resize events within a table.\n * @docs-private\n */\n@Injectable()\nexport class ColumnResizeNotifierSource {\n /** Emits when an in-progress resize is canceled. */\n readonly resizeCanceled = new Subject<ColumnSizeAction>();\n\n /** Emits when a resize is applied. */\n readonly resizeCompleted = new Subject<ColumnSize>();\n\n /** Triggers a resize action. */\n readonly triggerResize = new Subject<ColumnSizeAction>();\n}\n\n/** Service for triggering column resizes imperatively or being notified of them. */\n@Injectable()\nexport class ColumnResizeNotifier {\n /** Emits whenever a column is resized. */\n readonly resizeCompleted: Observable<ColumnSize> = this._source.resizeCompleted;\n\n constructor(private readonly _source: ColumnResizeNotifierSource) {}\n\n /** Instantly resizes the specified column. */\n resize(columnId: string, size: number): void {\n this._source.triggerResize.next(\n {columnId, size, completeImmediately: true, isStickyColumn: true});\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone} from '@angular/core';\nimport {combineLatest, MonoTypeOperatorFunction, Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged, map, share, skip, startWith} from 'rxjs/operators';\n\nimport {_closest} from '@angular/cdk-experimental/popover-edit';\n\nimport {HEADER_ROW_SELECTOR} from './selectors';\n\n/** Coordinates events between the column resize directives. */\n@Injectable()\nexport class HeaderRowEventDispatcher {\n /**\n * Emits the currently hovered header cell or null when no header cells are hovered.\n * Exposed publicly for events to feed in, but subscribers should use headerCellHoveredDistinct,\n * defined below.\n */\n readonly headerCellHovered = new Subject<Element|null>();\n\n /**\n * Emits the header cell for which a user-triggered resize is active or null\n * when no resize is in progress.\n */\n readonly overlayHandleActiveForCell = new Subject<Element|null>();\n\n constructor(private readonly _ngZone: NgZone) {}\n\n /** Distinct and shared version of headerCellHovered. */\n readonly headerCellHoveredDistinct = this.headerCellHovered.pipe(\n distinctUntilChanged(),\n share(),\n );\n\n /**\n * Emits the header that is currently hovered or hosting an active resize event (with active\n * taking precedence).\n */\n readonly headerRowHoveredOrActiveDistinct = combineLatest([\n this.headerCellHoveredDistinct.pipe(\n map(cell => _closest(cell, HEADER_ROW_SELECTOR)),\n startWith(null),\n distinctUntilChanged(),\n ),\n this.overlayHandleActiveForCell.pipe(\n map(cell => _closest(cell, HEADER_ROW_SELECTOR)),\n startWith(null),\n distinctUntilChanged(),\n ),\n ]).pipe(\n skip(1), // Ignore initial [null, null] emission.\n map(([hovered, active]) => active || hovered),\n distinctUntilChanged(),\n share(),\n );\n\n private readonly _headerRowHoveredOrActiveDistinctReenterZone =\n this.headerRowHoveredOrActiveDistinct.pipe(\n this._enterZone(),\n share(),\n );\n\n // Optimization: Share row events observable with subsequent callers.\n // At startup, calls will be sequential by row (and typically there's only one).\n private _lastSeenRow: Element|null = null;\n private _lastSeenRowHover: Observable<boolean>|null = null;\n\n /**\n * Emits whether the specified row should show its overlay controls.\n * Emission occurs within the NgZone.\n */\n resizeOverlayVisibleForHeaderRow(row: Element): Observable<boolean> {\n if (row !== this._lastSeenRow) {\n this._lastSeenRow = row;\n this._lastSeenRowHover = this._headerRowHoveredOrActiveDistinctReenterZone.pipe(\n map(hoveredRow => hoveredRow === row),\n distinctUntilChanged(),\n share(),\n );\n }\n\n return this._lastSeenRowHover!;\n }\n\n private _enterZone<T>(): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) =>\n new Observable<T>((observer) => source.subscribe({\n next: (value) => this._ngZone.run(() => observer.next(value)),\n error: (err) => observer.error(err),\n complete: () => observer.complete()\n }));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, OnDestroy, Provider} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {coerceCssPixelValue} from '@angular/cdk/coercion';\nimport {CdkTable, _CoalescedStyleScheduler, _COALESCED_STYLE_SCHEDULER} from '@angular/cdk/table';\n\nimport {ColumnResize} from './column-resize';\n\n/**\n * Provides an implementation for resizing a column.\n * The details of how resizing works for tables for flex mat-tables are quite different.\n */\n@Injectable()\nexport abstract class ResizeStrategy {\n protected abstract readonly columnResize: ColumnResize;\n protected abstract readonly styleScheduler: _CoalescedStyleScheduler;\n protected abstract readonly table: CdkTable<unknown>;\n\n private _pendingResizeDelta: number|null = null;\n\n /** Updates the width of the specified column. */\n abstract applyColumnSize(\n cssFriendlyColumnName: string,\n columnHeader: HTMLElement,\n sizeInPx: number,\n previousSizeInPx?: number): void;\n\n /** Applies a minimum width to the specified column, updating its current width as needed. */\n abstract applyMinColumnSize(\n cssFriendlyColumnName: string,\n columnHeader: HTMLElement,\n minSizeInPx: number): void;\n\n /** Applies a maximum width to the specified column, updating its current width as needed. */\n abstract applyMaxColumnSize(\n cssFriendlyColumnName: string,\n columnHeader: HTMLElement,\n minSizeInPx: number): void;\n\n /** Adjusts the width of the table element by the specified delta. */\n protected updateTableWidthAndStickyColumns(delta: number): void {\n if (this._pendingResizeDelta === null) {\n const tableElement = this.columnResize.elementRef.nativeElement;\n const tableWidth = getElementWidth(tableElement);\n\n this.styleScheduler.schedule(() => {\n tableElement.style.width = coerceCssPixelValue(tableWidth + this._pendingResizeDelta!);\n\n this._pendingResizeDelta = null;\n });\n\n this.styleScheduler.scheduleEnd(() => {\n this.table.updateStickyColumnStyles();\n });\n }\n\n this._pendingResizeDelta = (this._pendingResizeDelta ?? 0) + delta;\n }\n}\n\n/**\n * The optimially performing resize strategy for &lt;table&gt; elements with table-layout: fixed.\n * Tested against and outperformed:\n * CSS selector\n * CSS selector w/ CSS variable\n * Updating all cell nodes\n */\n@Injectable()\nexport class TableLayoutFixedResizeStrategy extends ResizeStrategy {\n constructor(\n protected readonly columnResize: ColumnResize,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n protected readonly table: CdkTable<unknown>) {\n super();\n }\n\n applyColumnSize(_: string, columnHeader: HTMLElement, sizeInPx: number,\n previousSizeInPx?: number): void {\n const delta = sizeInPx - (previousSizeInPx ?? getElementWidth(columnHeader));\n\n if (delta === 0) {\n return;\n }\n\n this.styleScheduler.schedule(() => {\n columnHeader.style.width = coerceCssPixelValue(sizeInPx);\n });\n\n this.updateTableWidthAndStickyColumns(delta);\n }\n\n applyMinColumnSize(_: string, columnHeader: HTMLElement, sizeInPx: number): void {\n const currentWidth = getElementWidth(columnHeader);\n const newWidth = Math.max(currentWidth, sizeInPx);\n\n this.applyColumnSize(_, columnHeader, newWidth, currentWidth);\n }\n\n applyMaxColumnSize(_: string, columnHeader: HTMLElement, sizeInPx: number): void {\n const currentWidth = getElementWidth(columnHeader);\n const newWidth = Math.min(currentWidth, sizeInPx);\n\n this.applyColumnSize(_, columnHeader, newWidth, currentWidth);\n }\n}\n\n/**\n * The optimally performing resize strategy for flex mat-tables.\n * Tested against and outperformed:\n * CSS selector w/ CSS variable\n * Updating all mat-cell nodes\n */\n@Injectable()\nexport class CdkFlexTableResizeStrategy extends ResizeStrategy implements OnDestroy {\n private readonly _document: Document;\n private readonly _columnIndexes = new Map<string, number>();\n private readonly _columnProperties = new Map<string, Map<string, string>>();\n\n private _styleElement?: HTMLStyleElement;\n private _indexSequence = 0;\n\n protected readonly defaultMinSize = 0;\n protected readonly defaultMaxSize = Number.MAX_SAFE_INTEGER;\n\n constructor(\n protected readonly columnResize: ColumnResize,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n protected readonly table: CdkTable<unknown>,\n @Inject(DOCUMENT) document: any) {\n super();\n this._document = document;\n }\n\n applyColumnSize(cssFriendlyColumnName: string, columnHeader: HTMLElement,\n sizeInPx: number, previousSizeInPx?: number): void {\n // Optimization: Check applied width first as we probably set it already before reading\n // offsetWidth which triggers layout.\n const delta = sizeInPx - (previousSizeInPx ??\n (this._getAppliedWidth(cssFriendlyColumnName) || columnHeader.offsetWidth));\n\n if (delta === 0) {\n return;\n }\n\n const cssSize = coerceCssPixelValue(sizeInPx);\n\n this._applyProperty(cssFriendlyColumnName, 'flex', `0 0.01 ${cssSize}`);\n this.updateTableWidthAndStickyColumns(delta);\n }\n\n applyMinColumnSize(cssFriendlyColumnName: string, _: HTMLElement, sizeInPx: number): void {\n const cssSize = coerceCssPixelValue(sizeInPx);\n\n this._applyProperty(cssFriendlyColumnName, 'min-width', cssSize,\n sizeInPx !== this.defaultMinSize);\n this.updateTableWidthAndStickyColumns(0);\n }\n\n applyMaxColumnSize(cssFriendlyColumnName: string, _: HTMLElement, sizeInPx: number): void {\n const cssSize = coerceCssPixelValue(sizeInPx);\n\n this._applyProperty(cssFriendlyColumnName, 'max-width', cssSize,\n sizeInPx !== this.defaultMaxSize);\n this.updateTableWidthAndStickyColumns(0);\n }\n\n protected getColumnCssClass(cssFriendlyColumnName: string): string {\n return `cdk-column-${cssFriendlyColumnName}`;\n }\n\n ngOnDestroy(): void {\n // TODO: Use remove() once we're off IE11.\n if (this._styleElement && this._styleElement.parentNode) {\n this._styleElement.parentNode.removeChild(this._styleElement);\n this._styleElement = undefined;\n }\n }\n\n private _getPropertyValue(cssFriendlyColumnName: string, key: string): string|undefined {\n const properties = this._getColumnPropertiesMap(cssFriendlyColumnName);\n return properties.get(key);\n }\n\n private _getAppliedWidth(cssFriendslyColumnName: string): number {\n return coercePixelsFromFlexValue(this._getPropertyValue(cssFriendslyColumnName, 'flex'));\n }\n\n private _applyProperty(\n cssFriendlyColumnName: string,\n key: string,\n value: string,\n enable = true): void {\n const properties = this._getColumnPropertiesMap(cssFriendlyColumnName);\n\n this.styleScheduler.schedule(() => {\n if (enable) {\n properties.set(key, value);\n } else {\n properties.delete(key);\n }\n this._applySizeCss(cssFriendlyColumnName);\n });\n }\n\n private _getStyleSheet(): CSSStyleSheet {\n if (!this._styleElement) {\n this._styleElement = this._document.createElement('style');\n this._styleElement.appendChild(this._document.createTextNode(''));\n this._document.head.appendChild(this._styleElement);\n }\n\n return this._styleElement.sheet as CSSStyleSheet;\n }\n\n private _getColumnPropertiesMap(cssFriendlyColumnName: string): Map<string, string> {\n let properties = this._columnProperties.get(cssFriendlyColumnName);\n if (properties === undefined) {\n properties = new Map<string, string>();\n this._columnProperties.set(cssFriendlyColumnName, properties);\n }\n return properties;\n }\n\n private _applySizeCss(cssFriendlyColumnName: string) {\n const properties = this._getColumnPropertiesMap(cssFriendlyColumnName);\n const propertyKeys = Array.from(properties.keys());\n\n let index = this._columnIndexes.get(cssFriendlyColumnName);\n if (index === undefined) {\n if (!propertyKeys.length) {\n // Nothing to set or unset.\n return;\n }\n\n index = this._indexSequence++;\n this._columnIndexes.set(cssFriendlyColumnName, index);\n } else {\n this._getStyleSheet().deleteRule(index);\n }\n\n const columnClassName = this.getColumnCssClass(cssFriendlyColumnName);\n const tableClassName = this.columnResize.getUniqueCssClass();\n\n const selector = `.${tableClassName} .${columnClassName}`;\n const body = propertyKeys.map(key => `${key}:${properties.get(key)}`).join(';');\n\n this._getStyleSheet().insertRule(`${selector} {${body}}`, index!);\n }\n}\n\n/** Converts CSS pixel values to numbers, eg \"123px\" to 123. Returns NaN for non pixel values. */\nfunction coercePixelsFromCssValue(cssValue: string): number {\n return Number(cssValue.match(/(\\d+)px/)?.[1]);\n}\n\n/** Gets the style.width pixels on the specified element if present, otherwise its offsetWidth. */\nfunction getElementWidth(element: HTMLElement) {\n // Optimization: Check style.width first as we probably set it already before reading\n // offsetWidth which triggers layout.\n return coercePixelsFromCssValue(element.style.width) || element.offsetWidth;\n}\n\n/**\n * Converts CSS flex values as set in CdkFlexTableResizeStrategy to numbers,\n * eg \"0 0.01 123px\" to 123.\n */\nfunction coercePixelsFromFlexValue(flexValue: string|undefined): number {\n return Number(flexValue?.match(/0 0\\.01 (\\d+)px/)?.[1]);\n}\n\nexport const TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER: Provider = {\n provide: ResizeStrategy,\n useClass: TableLayoutFixedResizeStrategy,\n};\nexport const FLEX_RESIZE_STRATEGY_PROVIDER: Provider = {\n provide: ResizeStrategy,\n useClass: CdkFlexTableResizeStrategy,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Provider} from '@angular/core';\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from '../column-resize-notifier';\nimport {HeaderRowEventDispatcher} from '../event-dispatcher';\nimport {\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n FLEX_RESIZE_STRATEGY_PROVIDER,\n} from '../resize-strategy';\n\nconst PROVIDERS: Provider[] = [\n ColumnResizeNotifier,\n HeaderRowEventDispatcher,\n ColumnResizeNotifierSource,\n];\n\nexport const TABLE_PROVIDERS: Provider[] = [\n ...PROVIDERS,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n];\nexport const FLEX_PROVIDERS: Provider[] = [...PROVIDERS, FLEX_RESIZE_STRATEGY_PROVIDER];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, NgZone} from '@angular/core';\nimport {CdkTable} from '@angular/cdk/table';\n\nimport {ColumnResize} from '../column-resize';\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from '../column-resize-notifier';\nimport {HeaderRowEventDispatcher} from '../event-dispatcher';\nimport {TABLE_PROVIDERS} from './constants';\n\n/**\n * Explicitly enables column resizing for a table-based cdk-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'table[cdk-table][columnResize]',\n providers: [\n ...TABLE_PROVIDERS,\n {provide: ColumnResize, useExisting: CdkColumnResize},\n ],\n})\nexport class CdkColumnResize extends ColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource,\n protected readonly table: CdkTable<unknown>) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, NgZone} from '@angular/core';\nimport {CdkTable} from '@angular/cdk/table';\n\nimport {ColumnResize} from '../column-resize';\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from '../column-resize-notifier';\nimport {HeaderRowEventDispatcher} from '../event-dispatcher';\nimport {FLEX_PROVIDERS} from './constants';\n\n/**\n * Explicitly enables column resizing for a flexbox-based cdk-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'cdk-table[columnResize]',\n providers: [\n ...FLEX_PROVIDERS,\n {provide: ColumnResize, useExisting: CdkColumnResizeFlex},\n ],\n})\nexport class CdkColumnResizeFlex extends ColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource,\n protected readonly table: CdkTable<unknown>) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, NgZone} from '@angular/core';\nimport {CdkTable} from '@angular/cdk/table';\n\nimport {ColumnResize} from '../column-resize';\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from '../column-resize-notifier';\nimport {HeaderRowEventDispatcher} from '../event-dispatcher';\nimport {TABLE_PROVIDERS} from './constants';\n\n/**\n * Implicitly enables column resizing for a table-based cdk-table.\n * Individual columns will be resizable unless opted out.\n */\n@Directive({\n selector: 'table[cdk-table]',\n providers: [\n ...TABLE_PROVIDERS,\n {provide: ColumnResize, useExisting: CdkDefaultEnabledColumnResize},\n ],\n})\nexport class CdkDefaultEnabledColumnResize extends ColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource,\n protected readonly table: CdkTable<unknown>) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, NgZone} from '@angular/core';\nimport {CdkTable} from '@angular/cdk/table';\n\nimport {ColumnResize} from '../column-resize';\nimport {ColumnResizeNotifier, ColumnResizeNotifierSource} from '../column-resize-notifier';\nimport {HeaderRowEventDispatcher} from '../event-dispatcher';\nimport {FLEX_PROVIDERS} from './constants';\n\n/**\n * Implicitly enables column resizing for a flex cdk-table.\n * Individual columns will be resizable unless opted out.\n */\n@Directive({\n selector: 'cdk-table',\n providers: [\n ...FLEX_PROVIDERS,\n {provide: ColumnResize, useExisting: CdkDefaultEnabledColumnResizeFlex},\n ],\n})\nexport class CdkDefaultEnabledColumnResizeFlex extends ColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource,\n protected readonly table: CdkTable<unknown>) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkColumnResize} from './column-resize-directives/column-resize';\nimport {CdkColumnResizeFlex} from './column-resize-directives/column-resize-flex';\nimport {\n CdkDefaultEnabledColumnResize\n} from './column-resize-directives/default-enabled-column-resize';\nimport {\n CdkDefaultEnabledColumnResizeFlex\n} from './column-resize-directives/default-enabled-column-resize-flex';\n\n/**\n * One of two NgModules for use with CdkColumnResize.\n * When using this module, columns are resizable by default.\n */\n@NgModule({\n declarations: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex],\n exports: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex],\n})\nexport class CdkColumnResizeDefaultEnabledModule {}\n\n/**\n * One of two NgModules for use with CdkColumnResize.\n * When using this module, columns are not resizable by default.\n */\n@NgModule({\n declarations: [CdkColumnResize, CdkColumnResizeFlex],\n exports: [CdkColumnResize, CdkColumnResizeFlex],\n})\nexport class CdkColumnResizeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\n\n/**\n * Can be provided by the host application to enable persistence of column resize state.\n */\n@Injectable()\nexport abstract class ColumnSizeStore {\n /** Returns the persisted size of the specified column in the specified table. */\n abstract getSize(tableId: string, columnId: string): number;\n\n /** Persists the size of the specified column in the specified table. */\n abstract setSize(tableId: string, columnId: string): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ElementRef} from '@angular/core';\nimport {OverlayRef} from '@angular/cdk/overlay';\n\n/** Tracks state of resize events in progress. */\nexport class ResizeRef {\n constructor(\n readonly origin: ElementRef,\n readonly overlayRef: OverlayRef,\n readonly minWidthPx: number,\n readonly maxWidthPx: number, ) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n Injector,\n NgZone,\n OnDestroy,\n Type,\n ViewContainerRef,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {ComponentPortal} from '@angular/cdk/portal';\nimport {Overlay, OverlayRef} from '@angular/cdk/overlay';\nimport {CdkColumnDef, _CoalescedStyleScheduler} from '@angular/cdk/table';\nimport {merge, Subject} from 'rxjs';\nimport {filter, takeUntil} from 'rxjs/operators';\n\nimport {_closest} from '@angular/cdk-experimental/popover-edit';\n\nimport {HEADER_ROW_SELECTOR} from './selectors';\nimport {ResizeOverlayHandle} from './overlay-handle';\nimport {ColumnResize} from './column-resize';\nimport {ColumnSizeAction, ColumnResizeNotifierSource} from './column-resize-notifier';\nimport {HeaderRowEventDispatcher} from './event-dispatcher';\nimport {ResizeRef} from './resize-ref';\nimport {ResizeStrategy} from './resize-strategy';\n\nconst OVERLAY_ACTIVE_CLASS = 'cdk-resizable-overlay-thumb-active';\n\n/**\n * Base class for Resizable directives which are applied to column headers to make those columns\n * resizable.\n */\n@Directive()\nexport abstract class Resizable<HandleComponent extends ResizeOverlayHandle>\n implements AfterViewInit, OnDestroy {\n protected minWidthPxInternal: number = 0;\n protected maxWidthPxInternal: number = Number.MAX_SAFE_INTEGER;\n\n protected inlineHandle?: HTMLElement;\n protected overlayRef?: OverlayRef;\n protected readonly destroyed = new Subject<void>();\n\n protected abstract readonly columnDef: CdkColumnDef;\n protected abstract readonly columnResize: ColumnResize;\n protected abstract readonly directionality: Directionality;\n protected abstract readonly document: Document;\n protected abstract readonly elementRef: ElementRef;\n protected abstract readonly eventDispatcher: HeaderRowEventDispatcher;\n protected abstract readonly injector: Injector;\n protected abstract readonly ngZone: NgZone;\n protected abstract readonly overlay: Overlay;\n protected abstract readonly resizeNotifier: ColumnResizeNotifierSource;\n protected abstract readonly resizeStrategy: ResizeStrategy;\n protected abstract readonly styleScheduler: _CoalescedStyleScheduler;\n protected abstract readonly viewContainerRef: ViewContainerRef;\n protected abstract readonly changeDetectorRef: ChangeDetectorRef;\n\n private _viewInitialized = false;\n\n /** The minimum width to allow the column to be sized to. */\n get minWidthPx(): number {\n return this.minWidthPxInternal;\n }\n set minWidthPx(value: number) {\n this.minWidthPxInternal = value;\n\n this.columnResize.setResized();\n if (this.elementRef.nativeElement && this._viewInitialized) {\n this._applyMinWidthPx();\n }\n }\n\n /** The maximum width to allow the column to be sized to. */\n get maxWidthPx(): number {\n return this.maxWidthPxInternal;\n }\n set maxWidthPx(value: number) {\n this.maxWidthPxInternal = value;\n\n this.columnResize.setResized();\n if (this.elementRef.nativeElement && this._viewInitialized) {\n this._applyMaxWidthPx();\n }\n }\n\n ngAfterViewInit() {\n this._listenForRowHoverEvents();\n this._listenForResizeEvents();\n this._appendInlineHandle();\n\n this.styleScheduler.scheduleEnd(() => {\n this._viewInitialized = true;\n this._applyMinWidthPx();\n this._applyMaxWidthPx();\n });\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n\n if (this.inlineHandle) {\n this.elementRef.nativeElement!.removeChild(this.inlineHandle);\n }\n\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n }\n\n protected abstract getInlineHandleCssClassName(): string;\n\n protected abstract getOverlayHandleComponentType(): Type<HandleComponent>;\n\n private _createOverlayForHandle(): OverlayRef {\n // Use of overlays allows us to properly capture click events spanning parts\n // of two table cells and is also useful for displaying a resize thumb\n // over both cells and extending it down the table as needed.\n\n const isRtl = this.directionality.value === 'rtl';\n const positionStrategy = this.overlay.position()\n .flexibleConnectedTo(this.elementRef.nativeElement!)\n .withFlexibleDimensions(false)\n .withGrowAfterOpen(false)\n .withPush(false)\n .withDefaultOffsetX(isRtl ? 1 : 0)\n .withPositions([{\n originX: isRtl ? 'start' : 'end',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'top',\n }]);\n\n return this.overlay.create({\n // Always position the overlay based on left-indexed coordinates.\n direction: 'ltr',\n disposeOnNavigation: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n width: '16px',\n });\n }\n\n private _listenForRowHoverEvents(): void {\n const element = this.elementRef.nativeElement!;\n const takeUntilDestroyed = takeUntil<boolean>(this.destroyed);\n\n\n this.eventDispatcher.resizeOverlayVisibleForHeaderRow(_closest(element, HEADER_ROW_SELECTOR)!)\n .pipe(takeUntilDestroyed).subscribe(hoveringRow => {\n if (hoveringRow) {\n if (!this.overlayRef) {\n this.overlayRef = this._createOverlayForHandle();\n }\n\n this._showHandleOverlay();\n } else if (this.overlayRef) {\n // todo - can't detach during an active resize - need to work that out\n this.overlayRef.detach();\n }\n });\n }\n\n private _listenForResizeEvents() {\n const takeUntilDestroyed = takeUntil<ColumnSizeAction>(this.destroyed);\n\n merge(\n this.resizeNotifier.resizeCanceled,\n this.resizeNotifier.triggerResize,\n ).pipe(\n takeUntilDestroyed,\n filter(columnSize => columnSize.columnId === this.columnDef.name),\n ).subscribe(({size, previousSize, completeImmediately}) => {\n this.elementRef.nativeElement!.classList.add(OVERLAY_ACTIVE_CLASS);\n this._applySize(size, previousSize);\n\n if (completeImmediately) {\n this._completeResizeOperation();\n }\n });\n\n merge(\n this.resizeNotifier.resizeCanceled,\n this.resizeNotifier.resizeCompleted,\n ).pipe(takeUntilDestroyed).subscribe(columnSize => {\n this._cleanUpAfterResize(columnSize);\n });\n }\n\n private _completeResizeOperation(): void {\n this.ngZone.run(() => {\n this.resizeNotifier.resizeCompleted.next({\n columnId: this.columnDef.name,\n size: this.elementRef.nativeElement!.offsetWidth,\n });\n });\n }\n\n private _cleanUpAfterResize(columnSize: ColumnSizeAction): void {\n this.elementRef.nativeElement!.classList.remove(OVERLAY_ACTIVE_CLASS);\n\n if (this.overlayRef && this.overlayRef.hasAttached()) {\n this._updateOverlayHandleHeight();\n this.overlayRef.updatePosition();\n\n if (columnSize.columnId === this.columnDef.name) {\n this.inlineHandle!.focus();\n }\n }\n }\n\n private _createHandlePortal(): ComponentPortal<HandleComponent> {\n const injector = Injector.create({\n parent: this.injector,\n providers: [{\n provide: ResizeRef,\n useValue: new ResizeRef(this.elementRef, this.overlayRef!, this.minWidthPx, this.maxWidthPx)\n }]\n });\n\n return new ComponentPortal(this.getOverlayHandleComponentType(),\n this.viewContainerRef, injector);\n }\n\n private _showHandleOverlay(): void {\n this._updateOverlayHandleHeight();\n this.overlayRef!.attach(this._createHandlePortal());\n\n // Needed to ensure that all of the lifecycle hooks inside the overlay run immediately.\n this.changeDetectorRef.markForCheck();\n }\n\n private _updateOverlayHandleHeight() {\n this.overlayRef!.updateSize({height: this.elementRef.nativeElement!.offsetHeight});\n }\n\n private _applySize(sizeInPixels: number, previousSize?: number): void {\n const sizeToApply = Math.min(Math.max(sizeInPixels, this.minWidthPx, 0), this.maxWidthPx);\n\n this.resizeStrategy.applyColumnSize(this.columnDef.cssClassFriendlyName,\n this.elementRef.nativeElement!, sizeToApply, previousSize);\n }\n\n private _applyMinWidthPx(): void {\n this.resizeStrategy.applyMinColumnSize(this.columnDef.cssClassFriendlyName,\n this.elementRef.nativeElement, this.minWidthPx);\n }\n\n private _applyMaxWidthPx(): void {\n this.resizeStrategy.applyMaxColumnSize(this.columnDef.cssClassFriendlyName,\n this.elementRef.nativeElement, this.maxWidthPx);\n }\n\n private _appendInlineHandle(): void {\n this.styleScheduler.schedule(() => {\n this.inlineHandle = this.document.createElement('div');\n this.inlineHandle.tabIndex = 0;\n this.inlineHandle.className = this.getInlineHandleCssClassName();\n\n // TODO: Apply correct aria role (probably slider) after a11y spec questions resolved.\n\n this.elementRef.nativeElement!.appendChild(this.inlineHandle);\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AfterViewInit, Directive, ElementRef, OnDestroy, NgZone} from '@angular/core';\nimport {coerceCssPixelValue} from '@angular/cdk/coercion';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {ESCAPE} from '@angular/cdk/keycodes';\nimport {CdkColumnDef, _CoalescedStyleScheduler} from '@angular/cdk/table';\nimport {fromEvent, Subject, merge} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n mapTo,\n pairwise,\n startWith,\n takeUntil,\n} from 'rxjs/operators';\n\nimport {_closest} from '@angular/cdk-experimental/popover-edit';\n\nimport {HEADER_CELL_SELECTOR} from './selectors';\nimport {ColumnResizeNotifierSource} from './column-resize-notifier';\nimport {HeaderRowEventDispatcher} from './event-dispatcher';\nimport {ResizeRef} from './resize-ref';\n\n// TODO: Take another look at using cdk drag drop. IIRC I ran into a couple\n// good reasons for not using it but I don't remember what they were at this point.\n/**\n * Base class for a component shown over the edge of a resizable column that is responsible\n * for handling column resize mouse events and displaying any visible UI on the column edge.\n */\n@Directive()\nexport abstract class ResizeOverlayHandle implements AfterViewInit, OnDestroy {\n protected readonly destroyed = new Subject<void>();\n\n protected abstract readonly columnDef: CdkColumnDef;\n protected abstract readonly document: Document;\n protected abstract readonly directionality: Directionality;\n protected abstract readonly elementRef: ElementRef;\n protected abstract readonly eventDispatcher: HeaderRowEventDispatcher;\n protected abstract readonly ngZone: NgZone;\n protected abstract readonly resizeNotifier: ColumnResizeNotifierSource;\n protected abstract readonly resizeRef: ResizeRef;\n protected abstract readonly styleScheduler: _CoalescedStyleScheduler;\n\n ngAfterViewInit() {\n this._listenForMouseEvents();\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n private _listenForMouseEvents() {\n this.ngZone.runOutsideAngular(() => {\n fromEvent<MouseEvent>(this.elementRef.nativeElement!, 'mouseenter').pipe(\n mapTo(this.resizeRef.origin.nativeElement!),\n takeUntil(this.destroyed),\n ).subscribe(cell => this.eventDispatcher.headerCellHovered.next(cell));\n\n fromEvent<MouseEvent>(this.elementRef.nativeElement!, 'mouseleave').pipe(\n map(event => event.relatedTarget &&\n _closest(event.relatedTarget as Element, HEADER_CELL_SELECTOR)),\n takeUntil(this.destroyed)\n ).subscribe(cell => this.eventDispatcher.headerCellHovered.next(cell));\n\n fromEvent<MouseEvent>(this.elementRef.nativeElement!, 'mousedown')\n .pipe(takeUntil(this.destroyed)).subscribe(mousedownEvent => {\n this._dragStarted(mousedownEvent);\n });\n });\n }\n\n private _dragStarted(mousedownEvent: MouseEvent) {\n // Only allow dragging using the left mouse button.\n if (mousedownEvent.button !== 0) {\n return;\n }\n\n const mouseup = fromEvent<MouseEvent>(this.document, 'mouseup');\n const mousemove = fromEvent<MouseEvent>(this.document, 'mousemove');\n const escape = fromEvent<KeyboardEvent>(this.document, 'keyup')\n .pipe(filter(event => event.keyCode === ESCAPE));\n\n const startX = mousedownEvent.screenX;\n\n const initialSize = this._getOriginWidth();\n let overlayOffset = 0;\n let originOffset = this._getOriginOffset();\n let size = initialSize;\n let overshot = 0;\n\n this.updateResizeActive(true);\n\n mouseup.pipe(takeUntil(merge(escape, this.destroyed))).subscribe(({screenX}) => {\n this.styleScheduler.scheduleEnd(() => {\n this._notifyResizeEnded(size, screenX !== startX);\n });\n });\n\n escape.pipe(takeUntil(merge(mouseup, this.destroyed))).subscribe(() => {\n this._notifyResizeEnded(initialSize);\n });\n\n mousemove.pipe(\n map(({screenX}) => screenX),\n startWith(startX),\n distinctUntilChanged(),\n pairwise(),\n takeUntil(merge(mouseup, escape, this.destroyed))\n ).subscribe(([prevX, currX]) => {\n let deltaX = currX - prevX;\n\n // If the mouse moved further than the resize was able to match, limit the\n // movement of the overlay to match the actual size and position of the origin.\n if (overshot !== 0) {\n if (overshot < 0 && deltaX < 0 || overshot > 0 && deltaX > 0) {\n overshot += deltaX;\n return;\n } else {\n const remainingOvershot = overshot + deltaX;\n overshot = overshot > 0 ?\n Math.max(remainingOvershot, 0) : Math.min(remainingOvershot, 0);\n deltaX = remainingOvershot - overshot;\n\n if (deltaX === 0) {\n return;\n }\n }\n }\n\n let computedNewSize: number = size + (this._isLtr() ? deltaX : -deltaX);\n computedNewSize = Math.min(\n Math.max(computedNewSize, this.resizeRef.minWidthPx, 0), this.resizeRef.maxWidthPx);\n\n this.resizeNotifier.triggerResize.next({\n columnId: this.columnDef.name,\n size: computedNewSize,\n previousSize: size,\n isStickyColumn: this.columnDef.sticky || this.columnDef.stickyEnd,\n });\n\n this.styleScheduler.scheduleEnd(() => {\n const originNewSize = this._getOriginWidth();\n const originNewOffset = this._getOriginOffset();\n const originOffsetDeltaX = originNewOffset - originOffset;\n const originSizeDeltaX = originNewSize - size;\n size = originNewSize;\n originOffset = originNewOffset;\n\n overshot += deltaX + (this._isLtr() ? -originSizeDeltaX : originSizeDeltaX);\n overlayOffset += originOffsetDeltaX + (this._isLtr() ? originSizeDeltaX : 0);\n\n this._updateOverlayOffset(overlayOffset);\n });\n });\n }\n\n protected updateResizeActive(active: boolean): void {\n this.eventDispatcher.overlayHandleActiveForCell.next(\n active ? this.resizeRef.origin.nativeElement! : null);\n }\n\n private _getOriginWidth(): number {\n return this.resizeRef.origin.nativeElement!.offsetWidth;\n }\n\n private _getOriginOffset(): number {\n return this.resizeRef.origin.nativeElement!.offsetLeft;\n }\n\n private _updateOverlayOffset(offset: number): void {\n this.resizeRef.overlayRef.overlayElement.style.transform =\n `translateX(${coerceCssPixelValue(offset)})`;\n }\n\n private _isLtr(): boolean {\n return this.directionality.value === 'ltr';\n }\n\n private _notifyResizeEnded(size: number, completedSuccessfully = false): void {\n this.updateResizeActive(false);\n\n this.ngZone.run(() => {\n const sizeMessage = {columnId: this.columnDef.name, size};\n if (completedSuccessfully) {\n this.resizeNotifier.resizeCompleted.next(sizeMessage);\n } else {\n this.resizeNotifier.resizeCanceled.next(sizeMessage);\n }\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './column-resize';\nexport * from './column-resize-directives/column-resize';\nexport * from './column-resize-directives/column-resize-flex';\nexport * from './column-resize-directives/default-enabled-column-resize';\nexport * from './column-resize-directives/default-enabled-column-resize-flex';\nexport * from './column-resize-module';\nexport * from './column-resize-notifier';\nexport * from './column-size-store';\nexport * from './event-dispatcher';\nexport * from './resizable';\nexport * from './resize-ref';\nexport * from './resize-strategy';\nexport * from './overlay-handle';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {FLEX_PROVIDERS as ɵangular_material_src_cdk_experimental_column_resize_column_resize_b,TABLE_PROVIDERS as ɵangular_material_src_cdk_experimental_column_resize_column_resize_a} from './column-resize-directives/constants';"],"names":["Subject","fromEvent","map","_closest","takeUntil","filter","_matches","mapTo","merge","take","startWith","pairwise","Directive","Injectable","distinctUntilChanged","share","combineLatest","skip","Observable","NgZone","coerceCssPixelValue","_CoalescedStyleScheduler","Inject","_COALESCED_STYLE_SCHEDULER","CdkTable","DOCUMENT","ElementRef","NgModule","Injector","ComponentPortal","ESCAPE"],"mappings":"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"}
@@ -239,7 +239,7 @@
239
239
  ar[i] = from[i];
240
240
  }
241
241
  }
242
- return to.concat(ar || from);
242
+ return to.concat(ar || Array.prototype.slice.call(from));
243
243
  }
244
244
  function __await(v) {
245
245
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-experimental-dialog.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/dialog/dialog-config.ts","../../../../../src/cdk-experimental/dialog/dialog-container.ts","../../../../../src/cdk-experimental/dialog/dialog-ref.ts","../../../../../src/cdk-experimental/dialog/dialog-injectors.ts","../../../../../src/cdk-experimental/dialog/dialog.ts","../../../../../src/cdk-experimental/dialog/dialog-module.ts","../../../../../src/cdk-experimental/dialog/public-api.ts","../../../../../src/cdk-experimental/dialog/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {ViewContainerRef} from '@angular/core';\nimport {Direction} from '@angular/cdk/bidi';\nimport {ComponentType} from '@angular/cdk/overlay';\nimport {CdkDialogContainer} from './dialog-container';\n\n/** Options for where to set focus to automatically on dialog open */\nexport type AutoFocusTarget = 'dialog' | 'first-tabbable' | 'first-heading';\n\n/** Valid ARIA roles for a dialog element. */\nexport type DialogRole = 'dialog' | 'alertdialog';\n\n/** Possible overrides for a dialog's position. */\nexport interface DialogPosition {\n top?: string;\n bottom?: string;\n left?: string;\n right?: string;\n}\n\nexport class DialogConfig<D = any> {\n /** Component to use as the container for the dialog. */\n containerComponent?: ComponentType<CdkDialogContainer>;\n\n /**\n * Where the attached component should live in Angular's *logical* component tree.\n * This affects what is available for injection and the change detection order for the\n * component instantiated inside of the dialog. This does not affect where the dialog\n * content will be rendered.\n */\n viewContainerRef?: ViewContainerRef;\n\n /** The id of the dialog. */\n id?: string;\n\n /** The ARIA role of the dialog. */\n role?: DialogRole = 'dialog';\n\n /** Custom class(es) for the overlay panel. */\n panelClass?: string | string[] = '';\n\n /** Whether the dialog has a background. */\n hasBackdrop?: boolean = true;\n\n /** Custom class(es) for the backdrop. */\n backdropClass?: string | undefined = '';\n\n /** Whether the dialog can be closed by user interaction. */\n disableClose?: boolean = false;\n\n /** The width of the dialog. */\n width?: string = '';\n\n /** The height of the dialog. */\n height?: string = '';\n\n /** The minimum width of the dialog. */\n minWidth?: string | number = '';\n\n /** The minimum height of the dialog. */\n minHeight?: string | number = '';\n\n /** The maximum width of the dialog. */\n maxWidth?: string | number = '80vw';\n\n /** The maximum height of the dialog. */\n maxHeight?: string | number = '';\n\n /** The position of the dialog. */\n position?: DialogPosition;\n\n /** Data to be injected into the dialog content. */\n data?: D | null = null;\n\n /** The layout direction for the dialog content. */\n direction?: Direction;\n\n /** ID of the element that describes the dialog. */\n ariaDescribedBy?: string | null = null;\n\n /** Aria label to assign to the dialog element */\n ariaLabel?: string | null = null;\n\n /**\n * Where the dialog should focus on open.\n * @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or\n * AutoFocusTarget instead.\n */\n autoFocus?: AutoFocusTarget | string | boolean = 'first-tabbable';\n\n /** Duration of the enter animation. Has to be a valid CSS value (e.g. 100ms). */\n enterAnimationDuration?: string = '225ms';\n\n /** Duration of the exit animation. Has to be a valid CSS value (e.g. 50ms). */\n exitAnimationDuration?: string = '225ms';\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {animate, AnimationEvent, state, style, transition, trigger} from '@angular/animations';\nimport {FocusTrapFactory, InteractivityChecker} from '@angular/cdk/a11y';\nimport {_getFocusedElementPierceShadowDom} from '@angular/cdk/platform';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n DomPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n Inject,\n NgZone,\n OnDestroy,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\nimport {DialogConfig} from './dialog-config';\n\n\nexport function throwDialogContentAlreadyAttachedError() {\n throw Error('Attempting to attach dialog content after content is already attached');\n}\n\n\n/**\n * Internal component that wraps user-provided dialog content.\n * @docs-private\n */\n@Component({\n selector: 'cdk-dialog-container',\n templateUrl: './dialog-container.html',\n styleUrls: ['dialog-container.css'],\n encapsulation: ViewEncapsulation.None,\n // Using OnPush for dialogs caused some G3 sync issues. Disabled until we can track them down.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [\n trigger('dialog', [\n state('enter', style({opacity: 1})),\n state('exit, void', style({opacity: 0})),\n transition('* => enter', animate('{{enterAnimationDuration}}')),\n transition('* => exit, * => void', animate('{{exitAnimationDuration}}')),\n ])\n ],\n host: {\n '[@dialog]': `{\n value: _state,\n params: {\n enterAnimationDuration: _config.enterAnimationDuration,\n exitAnimationDuration: _config.exitAnimationDuration\n }\n }`,\n '(@dialog.start)': '_onAnimationStart($event)',\n '(@dialog.done)': '_animationDone.next($event)',\n },\n})\nexport class CdkDialogContainer extends BasePortalOutlet implements OnDestroy {\n private readonly _document: Document;\n\n /** State of the dialog animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Element that was focused before the dialog was opened. Save this to restore upon close. */\n private _elementFocusedBeforeDialogWasOpened: HTMLElement | null = null;\n\n /** The class that traps and manages focus within the dialog. */\n private _focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n\n // @HostBinding is used in the class as it is expected to be extended. Since @Component decorator\n // metadata is not inherited by child classes, instead the host binding data is defined in a way\n // that can be inherited.\n // tslint:disable:no-host-decorator-in-concrete no-private-getters\n @HostBinding('attr.aria-label') get _ariaLabel() { return this._config.ariaLabel || null; }\n\n @HostBinding('attr.aria-describedby')\n get _ariaDescribedBy() { return this._config.ariaDescribedBy; }\n\n @HostBinding('attr.role') get _role() { return this._config.role; }\n\n @HostBinding('attr.aria-modal') _ariaModal: boolean = true;\n\n @HostBinding('attr.tabindex') get _tabindex() { return -1; }\n // tslint:disable:no-host-decorator-in-concrete no-private-getters\n\n /** The portal host inside of this container into which the dialog content will be loaded. */\n @ViewChild(CdkPortalOutlet, {static: true}) _portalHost: CdkPortalOutlet;\n\n /** A subject emitting before the dialog enters the view. */\n readonly _beforeEnter = new Subject<void>();\n\n /** A subject emitting after the dialog enters the view. */\n readonly _afterEnter = new Subject<void>();\n\n /** A subject emitting before the dialog exits the view. */\n readonly _beforeExit = new Subject<void>();\n\n /** A subject emitting after the dialog exits the view. */\n readonly _afterExit = new Subject<void>();\n\n /** Stream of animation `done` events. */\n readonly _animationDone = new Subject<AnimationEvent>();\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _focusTrapFactory: FocusTrapFactory,\n private _changeDetectorRef: ChangeDetectorRef,\n private readonly _interactivityChecker: InteractivityChecker,\n private readonly _ngZone: NgZone,\n @Optional() @Inject(DOCUMENT) _document: any,\n /** The dialog configuration. */\n public _config: DialogConfig) {\n super();\n\n this._document = _document;\n\n // We use a Subject with a distinctUntilChanged, rather than a callback attached to .done,\n // because some browsers fire the done event twice and we don't want to emit duplicate events.\n // See: https://github.com/angular/angular/issues/24084\n this._animationDone.pipe(distinctUntilChanged((x, y) => {\n return x.fromState === y.fromState && x.toState === y.toState;\n })).subscribe(event => {\n // Emit lifecycle events based on animation `done` callback.\n if (event.toState === 'enter') {\n this._autoFocus();\n this._afterEnter.next();\n this._afterEnter.complete();\n }\n\n if (event.fromState === 'enter' && (event.toState === 'void' || event.toState === 'exit')) {\n this._returnFocusAfterDialog();\n this._afterExit.next();\n this._afterExit.complete();\n }\n });\n }\n\n /** Initializes the dialog container with the attached content. */\n _initializeWithAttachedContent() {\n // Save the previously focused element. This element will be re-focused\n // when the dialog closes.\n this._savePreviouslyFocusedElement();\n // Move focus onto the dialog immediately in order to prevent the user\n // from accidentally opening multiple dialogs at the same time.\n this._focusDialogContainer();\n }\n\n /** Destroy focus trap to place focus back to the element focused before the dialog opened. */\n ngOnDestroy() {\n this._focusTrap.destroy();\n this._animationDone.complete();\n }\n\n /**\n * Attach a ComponentPortal as content to this dialog container.\n * @param portal Portal to be attached as the dialog content.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n if (this._portalHost.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwDialogContentAlreadyAttachedError();\n }\n\n return this._portalHost.attachComponentPortal(portal);\n }\n\n /**\n * Attach a TemplatePortal as content to this dialog container.\n * @param portal Portal to be attached as the dialog content.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n if (this._portalHost.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwDialogContentAlreadyAttachedError();\n }\n\n return this._portalHost.attachTemplatePortal(portal);\n }\n\n /**\n * Attaches a DOM portal to the dialog container.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n override attachDomPortal = (portal: DomPortal) => {\n if (this._portalHost.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwDialogContentAlreadyAttachedError();\n }\n\n return this._portalHost.attachDomPortal(portal);\n }\n\n /** Emit lifecycle events based on animation `start` callback. */\n _onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'enter') {\n this._beforeEnter.next();\n this._beforeEnter.complete();\n }\n if (event.fromState === 'enter' && (event.toState === 'void' || event.toState === 'exit')) {\n this._beforeExit.next();\n this._beforeExit.complete();\n }\n }\n\n /** Starts the dialog exit animation. */\n _startExiting(): void {\n this._state = 'exit';\n\n // Mark the container for check so it can react if the\n // view container is using OnPush change detection.\n this._changeDetectorRef.markForCheck();\n }\n\n /** Saves a reference to the element that was focused before the dialog was opened. */\n private _savePreviouslyFocusedElement() {\n if (this._document) {\n this._elementFocusedBeforeDialogWasOpened = _getFocusedElementPierceShadowDom();\n }\n }\n\n /** Focuses the dialog container. */\n private _focusDialogContainer() {\n // Note that there is no focus method when rendering on the server.\n if (this._elementRef.nativeElement.focus) {\n this._elementRef.nativeElement.focus();\n }\n }\n\n /**\n * Focuses the provided element. If the element is not focusable, it will add a tabIndex\n * attribute to forcefully focus it. The attribute is removed after focus is moved.\n * @param element The element to focus.\n */\n private _forceFocus(element: HTMLElement, options?: FocusOptions) {\n if (!this._interactivityChecker.isFocusable(element)) {\n element.tabIndex = -1;\n // The tabindex attribute should be removed to avoid navigating to that element again\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('blur', () => element.removeAttribute('tabindex'));\n element.addEventListener('mousedown', () => element.removeAttribute('tabindex'));\n });\n }\n element.focus(options);\n }\n\n /**\n * Focuses the first element that matches the given selector within the focus trap.\n * @param selector The CSS selector for the element to set focus to.\n */\n private _focusByCssSelector(selector: string, options?: FocusOptions) {\n let elementToFocus =\n this._elementRef.nativeElement.querySelector(selector) as HTMLElement | null;\n if (elementToFocus) {\n this._forceFocus(elementToFocus, options);\n }\n }\n\n /**\n * Autofocus the element specified by the autoFocus field. When autoFocus is not 'dialog', if\n * for some reason the element cannot be focused, the dialog container will be focused.\n */\n private _autoFocus() {\n const element = this._elementRef.nativeElement;\n\n // If were to attempt to focus immediately, then the content of the dialog would not yet be\n // ready in instances where change detection has to run first. To deal with this, we simply\n // wait for the microtask queue to be empty when setting focus when autoFocus isn't set to\n // dialog. If the element inside the dialog can't be focused, then the container is focused\n // so the user can't tab into other elements behind it.\n switch (this._config.autoFocus) {\n case false:\n case 'dialog':\n const activeElement = _getFocusedElementPierceShadowDom();\n // Ensure that focus is on the dialog container. It's possible that a different\n // component tried to move focus while the open animation was running. See:\n // https://github.com/angular/components/issues/16215. Note that we only want to do this\n // if the focus isn't inside the dialog already, because it's possible that the consumer\n // turned off `autoFocus` in order to move focus themselves.\n if (activeElement !== element && !element.contains(activeElement)) {\n element.focus();\n }\n break;\n case true:\n case 'first-tabbable':\n this._focusTrap.focusInitialElementWhenReady()\n .then(hasMovedFocus => {\n if (!hasMovedFocus) {\n element.focus();\n }\n });\n break;\n case 'first-heading':\n this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role=\"heading\"]');\n break;\n default:\n this._focusByCssSelector(this._config.autoFocus!);\n break;\n }\n }\n\n /** Returns the focus to the element focused before the dialog was open. */\n private _returnFocusAfterDialog() {\n const toFocus = this._elementFocusedBeforeDialogWasOpened;\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (toFocus && typeof toFocus.focus === 'function') {\n const activeElement = _getFocusedElementPierceShadowDom();\n const element = this._elementRef.nativeElement;\n\n // Make sure that focus is still inside the dialog or is on the body (usually because a\n // non-focusable element like the backdrop was clicked) before moving it. It's possible that\n // the consumer moved it themselves before the animation was done, in which case we shouldn't\n // do anything.\n if (!activeElement || activeElement === this._document.body || activeElement === element ||\n element.contains(activeElement)) {\n toFocus.focus();\n }\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {OverlayRef, GlobalPositionStrategy, OverlaySizeConfig} from '@angular/cdk/overlay';\nimport {ESCAPE, hasModifierKey} from '@angular/cdk/keycodes';\nimport {Observable} from 'rxjs';\nimport {map, filter} from 'rxjs/operators';\nimport {DialogPosition} from './dialog-config';\nimport {CdkDialogContainer} from './dialog-container';\n\n/** Unique id for the created dialog. */\nlet uniqueId = 0;\n\n/**\n * Reference to a dialog opened via the Dialog service.\n */\nexport class DialogRef<T, R = any> {\n /** The instance of the component in the dialog. */\n componentInstance: T;\n\n /** Whether the user is allowed to close the dialog. */\n disableClose: boolean | undefined;\n\n /** Result to be passed to afterClosed. */\n private _result: R | undefined;\n\n constructor(\n public _overlayRef: OverlayRef,\n protected _containerInstance: CdkDialogContainer,\n readonly id: string = `dialog-${uniqueId++}`) {\n\n // If the dialog has a backdrop, handle clicks from the backdrop.\n if (_containerInstance._config.hasBackdrop) {\n _overlayRef.backdropClick().subscribe(() => {\n if (!this.disableClose) {\n this.close();\n }\n });\n }\n\n this.beforeClosed().subscribe(() => {\n this._overlayRef.detachBackdrop();\n });\n\n this.afterClosed().subscribe(() => {\n this._overlayRef.detach();\n this._overlayRef.dispose();\n this.componentInstance = null!;\n });\n\n // Close when escape keydown event occurs\n _overlayRef.keydownEvents()\n .pipe(filter(event => {\n return event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event);\n }))\n .subscribe(event => {\n event.preventDefault();\n this.close();\n });\n }\n\n /** Gets an observable that emits when the overlay's backdrop has been clicked. */\n backdropClick(): Observable<MouseEvent> {\n return this._overlayRef.backdropClick();\n }\n\n /**\n * Close the dialog.\n * @param dialogResult Optional result to return to the dialog opener.\n */\n close(dialogResult?: R): void {\n this._result = dialogResult;\n this._containerInstance._startExiting();\n }\n\n /**\n * Updates the dialog's position.\n * @param position New dialog position.\n */\n updatePosition(position?: DialogPosition): this {\n let strategy = this._getPositionStrategy();\n\n if (position && (position.left || position.right)) {\n position.left ? strategy.left(position.left) : strategy.right(position.right);\n } else {\n strategy.centerHorizontally();\n }\n\n if (position && (position.top || position.bottom)) {\n position.top ? strategy.top(position.top) : strategy.bottom(position.bottom);\n } else {\n strategy.centerVertically();\n }\n\n this._overlayRef.updatePosition();\n\n return this;\n }\n\n /**\n * Gets an observable that emits when keydown events are targeted on the overlay.\n */\n keydownEvents(): Observable<KeyboardEvent> {\n return this._overlayRef.keydownEvents();\n }\n\n /**\n * Updates the dialog's width and height, defined, min and max.\n * @param size New size for the overlay.\n */\n updateSize(size: OverlaySizeConfig): this {\n this._overlayRef.updateSize(size);\n this._overlayRef.updatePosition();\n return this;\n }\n\n /** Fetches the position strategy object from the overlay ref. */\n private _getPositionStrategy(): GlobalPositionStrategy {\n return this._overlayRef.getConfig().positionStrategy as GlobalPositionStrategy;\n }\n\n /** Gets an observable that emits when dialog begins opening. */\n beforeOpened(): Observable<void> {\n return this._containerInstance._beforeEnter;\n }\n\n /** Gets an observable that emits when dialog is finished opening. */\n afterOpened(): Observable<void> {\n return this._containerInstance._afterEnter;\n }\n\n /** Gets an observable that emits when dialog begins closing. */\n beforeClosed(): Observable<R | undefined> {\n return this._containerInstance._beforeExit.pipe(map(() => this._result));\n }\n\n /** Gets an observable that emits when dialog is finished closing. */\n afterClosed(): Observable<R | undefined> {\n return this._containerInstance._afterExit.pipe(map(() => this._result));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {\n ComponentType,\n Overlay,\n ScrollStrategy,\n} from '@angular/cdk/overlay';\nimport {DialogRef} from './dialog-ref';\nimport {CdkDialogContainer} from './dialog-container';\nimport {DialogConfig} from './dialog-config';\n\n/** Injection token for the Dialog's ScrollStrategy. */\nexport const DIALOG_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('DialogScrollStrategy');\n\n/** Injection token for the Dialog's Data. */\nexport const DIALOG_DATA = new InjectionToken<any>('DialogData');\n\n/** Injection token for the DialogRef constructor. */\nexport const DIALOG_REF = new InjectionToken<DialogRef<any>>('DialogRef');\n\n/** Injection token for the DialogConfig. */\nexport const DIALOG_CONFIG = new InjectionToken<DialogConfig>('DialogConfig');\n\n/** Injection token for the Dialog's DialogContainer component. */\nexport const DIALOG_CONTAINER =\n new InjectionToken<ComponentType<CdkDialogContainer>>('DialogContainer');\n\n/** @docs-private */\nexport function MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay):\n () => ScrollStrategy {\n return () => overlay.scrollStrategies.block();\n}\n\n/** @docs-private */\nexport const MAT_DIALOG_SCROLL_STRATEGY_PROVIDER = {\n provide: DIALOG_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n TemplateRef,\n SkipSelf,\n Optional,\n Injectable,\n Injector,\n Inject,\n ComponentRef,\n OnDestroy,\n Type,\n StaticProvider,\n InjectFlags\n} from '@angular/core';\nimport {ComponentPortal, TemplatePortal} from '@angular/cdk/portal';\nimport {of as observableOf, Observable, Subject, defer} from 'rxjs';\nimport {DialogRef} from './dialog-ref';\nimport {Location} from '@angular/common';\nimport {DialogConfig} from './dialog-config';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {CdkDialogContainer} from './dialog-container';\nimport {\n ComponentType,\n Overlay,\n OverlayRef,\n OverlayConfig,\n ScrollStrategy,\n} from '@angular/cdk/overlay';\nimport {startWith} from 'rxjs/operators';\n\nimport {\n DIALOG_SCROLL_STRATEGY,\n DIALOG_DATA,\n DIALOG_REF,\n DIALOG_CONTAINER,\n DIALOG_CONFIG,\n} from './dialog-injectors';\n\n\n/**\n * Service to open modal dialogs.\n */\n@Injectable()\nexport class Dialog implements OnDestroy {\n private _scrollStrategy: () => ScrollStrategy;\n\n /** Stream that emits when all dialogs are closed. */\n _getAfterAllClosed(): Observable<void> {\n return this._parentDialog ? this._parentDialog.afterAllClosed : this._afterAllClosedBase;\n }\n readonly _afterAllClosedBase = new Subject<void>();\n\n // TODO(jelbourn): tighten the type on the right-hand side of this expression.\n afterAllClosed: Observable<void> = defer(() => this.openDialogs.length ?\n this._getAfterAllClosed() : this._getAfterAllClosed().pipe(startWith(undefined)));\n\n /** Stream that emits when a dialog is opened. */\n get afterOpened(): Subject<DialogRef<any>> {\n return this._parentDialog ? this._parentDialog.afterOpened : this._afterOpened;\n }\n readonly _afterOpened = new Subject<DialogRef<any>>();\n\n /** Stream that emits when a dialog is opened. */\n get openDialogs(): DialogRef<any>[] {\n return this._parentDialog ? this._parentDialog.openDialogs : this._openDialogs;\n }\n _openDialogs: DialogRef<any>[] = [];\n\n constructor(\n private _overlay: Overlay,\n private _injector: Injector,\n @Inject(DIALOG_REF) private _dialogRefConstructor: Type<DialogRef<any>>,\n // TODO(crisbeto): the `any` here can be replaced\n // with the proper type once we start using Ivy.\n @Inject(DIALOG_SCROLL_STRATEGY) scrollStrategy: any,\n @Optional() @SkipSelf() private _parentDialog: Dialog,\n @Optional() location: Location) {\n\n // Close all of the dialogs when the user goes forwards/backwards in history or when the\n // location hash changes. Note that this usually doesn't include clicking on links (unless\n // the user is using the `HashLocationStrategy`).\n if (!_parentDialog && location) {\n location.subscribe(() => this.closeAll());\n }\n\n this._scrollStrategy = scrollStrategy;\n }\n\n /** Gets an open dialog by id. */\n getById(id: string): DialogRef<any> | undefined {\n return this._openDialogs.find(ref => ref.id === id);\n }\n\n /** Closes all open dialogs. */\n closeAll(): void {\n this.openDialogs.forEach(ref => ref.close());\n }\n\n /** Opens a dialog from a component. */\n openFromComponent<T>(component: ComponentType<T>, config?: DialogConfig): DialogRef<any> {\n config = this._applyConfigDefaults(config);\n\n if (config.id && this.getById(config.id) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Dialog with id \"${config.id}\" exists already. The dialog id must be unique.`);\n }\n\n const overlayRef = this._createOverlay(config);\n const dialogContainer = this._attachDialogContainer(overlayRef, config);\n const dialogRef = this._attachDialogContentForComponent(component, dialogContainer,\n overlayRef, config);\n\n this._registerDialogRef(dialogRef);\n dialogContainer._initializeWithAttachedContent();\n\n return dialogRef;\n }\n\n /** Opens a dialog from a template. */\n openFromTemplate<T>(template: TemplateRef<T>, config?: DialogConfig): DialogRef<any> {\n config = this._applyConfigDefaults(config);\n\n if (config.id && this.getById(config.id) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Dialog with id \"${config.id}\" exists already. The dialog id must be unique.`);\n }\n\n const overlayRef = this._createOverlay(config);\n const dialogContainer = this._attachDialogContainer(overlayRef, config);\n const dialogRef = this._attachDialogContentForTemplate(template, dialogContainer,\n overlayRef, config);\n\n this._registerDialogRef(dialogRef);\n dialogContainer._initializeWithAttachedContent();\n\n return dialogRef;\n }\n\n ngOnDestroy() {\n // Only close all the dialogs at this level.\n this._openDialogs.forEach(ref => ref.close());\n }\n\n /**\n * Forwards emitting events for when dialogs are opened and all dialogs are closed.\n */\n private _registerDialogRef(dialogRef: DialogRef<any>): void {\n this.openDialogs.push(dialogRef);\n\n const dialogOpenSub = dialogRef.afterOpened().subscribe(() => {\n this.afterOpened.next(dialogRef);\n dialogOpenSub.unsubscribe();\n });\n\n const dialogCloseSub = dialogRef.afterClosed().subscribe(() => {\n let dialogIndex = this._openDialogs.indexOf(dialogRef);\n\n if (dialogIndex > -1) {\n this._openDialogs.splice(dialogIndex, 1);\n }\n\n if (!this._openDialogs.length) {\n this._afterAllClosedBase.next();\n dialogCloseSub.unsubscribe();\n }\n });\n }\n\n /**\n * Creates an overlay config from a dialog config.\n * @param config The dialog configuration.\n * @returns The overlay configuration.\n */\n protected _createOverlay(config: DialogConfig): OverlayRef {\n const overlayConfig = new OverlayConfig({\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: this._scrollStrategy(),\n panelClass: config.panelClass,\n hasBackdrop: config.hasBackdrop,\n direction: config.direction,\n minWidth: config.minWidth,\n minHeight: config.minHeight,\n maxWidth: config.maxWidth,\n maxHeight: config.maxHeight\n });\n\n if (config.backdropClass) {\n overlayConfig.backdropClass = config.backdropClass;\n }\n return this._overlay.create(overlayConfig);\n }\n\n /**\n * Attaches an MatDialogContainer to a dialog's already-created overlay.\n * @param overlay Reference to the dialog's underlying overlay.\n * @param config The dialog configuration.\n * @returns A promise resolving to a ComponentRef for the attached container.\n */\n protected _attachDialogContainer(overlay: OverlayRef, config: DialogConfig): CdkDialogContainer {\n const container = config.containerComponent || this._injector.get(DIALOG_CONTAINER);\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this._injector,\n providers: [{provide: DialogConfig, useValue: config}]\n });\n const containerPortal = new ComponentPortal(container, config.viewContainerRef, injector);\n const containerRef: ComponentRef<CdkDialogContainer> = overlay.attach(containerPortal);\n containerRef.instance._config = config;\n\n return containerRef.instance;\n }\n\n\n /**\n * Attaches the user-provided component to the already-created MatDialogContainer.\n * @param componentOrTemplateRef The type of component being loaded into the dialog,\n * or a TemplateRef to instantiate as the content.\n * @param dialogContainer Reference to the wrapping MatDialogContainer.\n * @param overlayRef Reference to the overlay in which the dialog resides.\n * @param config The dialog configuration.\n * @returns A promise resolving to the MatDialogRef that should be returned to the user.\n */\n protected _attachDialogContentForComponent<T>(\n componentOrTemplateRef: ComponentType<T>,\n dialogContainer: CdkDialogContainer,\n overlayRef: OverlayRef,\n config: DialogConfig): DialogRef<any> {\n\n // Create a reference to the dialog we're creating in order to give the user a handle\n // to modify and close it.\n const dialogRef = this._createDialogRef(overlayRef, dialogContainer, config);\n const injector = this._createInjector<T>(config, dialogRef, dialogContainer);\n const contentRef = dialogContainer.attachComponentPortal(\n new ComponentPortal(componentOrTemplateRef, undefined, injector));\n dialogRef.componentInstance = contentRef.instance;\n return dialogRef;\n }\n\n /**\n * Attaches the user-provided component to the already-created MatDialogContainer.\n * @param componentOrTemplateRef The type of component being loaded into the dialog,\n * or a TemplateRef to instantiate as the content.\n * @param dialogContainer Reference to the wrapping MatDialogContainer.\n * @param overlayRef Reference to the overlay in which the dialog resides.\n * @param config The dialog configuration.\n * @returns A promise resolving to the MatDialogRef that should be returned to the user.\n */\n protected _attachDialogContentForTemplate<T>(\n componentOrTemplateRef: TemplateRef<T>,\n dialogContainer: CdkDialogContainer,\n overlayRef: OverlayRef,\n config: DialogConfig): DialogRef<any> {\n\n // Create a reference to the dialog we're creating in order to give the user a handle\n // to modify and close it.\n const dialogRef = this._createDialogRef(overlayRef, dialogContainer, config);\n dialogContainer.attachTemplatePortal(\n new TemplatePortal<T>(componentOrTemplateRef, null!,\n <any>{$implicit: config.data, dialogRef}));\n return dialogRef;\n }\n\n\n /**\n * Creates a custom injector to be used inside the dialog. This allows a component loaded inside\n * of a dialog to close itself and, optionally, to return a value.\n * @param config Config object that is used to construct the dialog.\n * @param dialogRef Reference to the dialog.\n * @param container Dialog container element that wraps all of the contents.\n * @returns The custom injector that can be used inside the dialog.\n */\n private _createInjector<T>(\n config: DialogConfig,\n dialogRef: DialogRef<T>,\n dialogContainer: CdkDialogContainer): Injector {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const providers: StaticProvider[] = [\n {provide: this._injector.get(DIALOG_REF), useValue: dialogRef},\n {provide: this._injector.get(DIALOG_CONTAINER), useValue: dialogContainer},\n {provide: DIALOG_DATA, useValue: config.data}\n ];\n\n if (config.direction && (!userInjector ||\n !userInjector.get<Directionality | null>(Directionality, null, InjectFlags.Optional))) {\n providers.push({\n provide: Directionality,\n useValue: {value: config.direction, change: observableOf()}\n });\n }\n\n return Injector.create({parent: userInjector || this._injector, providers});\n }\n\n /** Creates a new dialog ref. */\n private _createDialogRef(overlayRef: OverlayRef,\n dialogContainer: CdkDialogContainer,\n config: DialogConfig) {\n const dialogRef = new this._dialogRefConstructor(overlayRef, dialogContainer, config.id);\n dialogRef.disableClose = config.disableClose;\n dialogRef.updateSize(config).updatePosition(config.position);\n return dialogRef;\n }\n\n /**\n * Expands the provided configuration object to include the default values for properties which\n * are undefined.\n */\n private _applyConfigDefaults(config?: DialogConfig): DialogConfig {\n const dialogConfig = this._injector.get(DIALOG_CONFIG) as typeof DialogConfig;\n return {...new dialogConfig(), ...config};\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {Dialog} from './dialog';\nimport {CdkDialogContainer} from './dialog-container';\nimport {DialogConfig} from './dialog-config';\nimport {DialogRef} from './dialog-ref';\nimport {\n DIALOG_CONFIG,\n DIALOG_CONTAINER,\n DIALOG_REF,\n MAT_DIALOG_SCROLL_STRATEGY_PROVIDER\n} from './dialog-injectors';\n\n\n@NgModule({\n imports: [\n OverlayModule,\n PortalModule,\n A11yModule,\n ],\n exports: [\n // Re-export the PortalModule so that people extending the `CdkDialogContainer`\n // don't have to remember to import it or be faced with an unhelpful error.\n PortalModule,\n CdkDialogContainer,\n ],\n declarations: [\n CdkDialogContainer,\n ],\n providers: [\n Dialog,\n MAT_DIALOG_SCROLL_STRATEGY_PROVIDER,\n {provide: DIALOG_REF, useValue: DialogRef},\n {provide: DIALOG_CONTAINER, useValue: CdkDialogContainer},\n {provide: DIALOG_CONFIG, useValue: DialogConfig},\n ],\n entryComponents: [CdkDialogContainer],\n})\nexport class DialogModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './dialog-container';\nexport * from './dialog-config';\nexport * from './dialog-ref';\nexport * from './dialog';\nexport * from './dialog-module';\nexport * from './dialog-injectors';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Subject","distinctUntilChanged","_getFocusedElementPierceShadowDom","BasePortalOutlet","Component","ViewEncapsulation","ChangeDetectionStrategy","trigger","state","style","transition","animate","ElementRef","FocusTrapFactory","ChangeDetectorRef","InteractivityChecker","NgZone","Optional","Inject","DOCUMENT","HostBinding","ViewChild","CdkPortalOutlet","filter","ESCAPE","hasModifierKey","map","InjectionToken","Overlay","defer","startWith","OverlayConfig","Injector","ComponentPortal","TemplatePortal","Directionality","InjectFlags","observableOf","Injectable","Type","SkipSelf","Location","NgModule","OverlayModule","PortalModule","A11yModule"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IACjC,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;QCpNA;;YAgBE,SAAI,GAAgB,QAAQ,CAAC;;YAG7B,eAAU,GAAuB,EAAE,CAAC;;YAGpC,gBAAW,GAAa,IAAI,CAAC;;YAG7B,kBAAa,GAAwB,EAAE,CAAC;;YAGxC,iBAAY,GAAa,KAAK,CAAC;;YAG/B,UAAK,GAAY,EAAE,CAAC;;YAGpB,WAAM,GAAY,EAAE,CAAC;;YAGrB,aAAQ,GAAqB,EAAE,CAAC;;YAGhC,cAAS,GAAqB,EAAE,CAAC;;YAGjC,aAAQ,GAAqB,MAAM,CAAC;;YAGpC,cAAS,GAAqB,EAAE,CAAC;;YAMjC,SAAI,GAAc,IAAI,CAAC;;YAMvB,oBAAe,GAAmB,IAAI,CAAC;;YAGvC,cAAS,GAAmB,IAAI,CAAC;;;;;;YAOjC,cAAS,GAAwC,gBAAgB,CAAC;;YAGlE,2BAAsB,GAAY,OAAO,CAAC;;YAG1C,0BAAqB,GAAY,OAAO,CAAC;SAC1C;2BAAA;KAAA;;aC9De,sCAAsC;QACpD,MAAM,KAAK,CAAC,uEAAuE,CAAC,CAAC;IACvF,CAAC;IAGD;;;;;QAgCwC,sCAAgB;QA8CtD,4BACU,WAAoC,EACpC,iBAAmC,EACnC,kBAAqC,EAC5B,qBAA2C,EAC3C,OAAe,EACF,SAAc;;QAErC,OAAqB;YAR9B,YASE,iBAAO,SAuBR;YA/BS,iBAAW,GAAX,WAAW,CAAyB;YACpC,uBAAiB,GAAjB,iBAAiB,CAAkB;YACnC,wBAAkB,GAAlB,kBAAkB,CAAmB;YAC5B,2BAAqB,GAArB,qBAAqB,CAAsB;YAC3C,aAAO,GAAP,OAAO,CAAQ;YAGzB,aAAO,GAAP,OAAO,CAAc;;YAlD9B,YAAM,GAA8B,OAAO,CAAC;;YAGpC,0CAAoC,GAAuB,IAAI,CAAC;;YAGhE,gBAAU,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAanD,gBAAU,GAAY,IAAI,CAAC;;YASlD,kBAAY,GAAG,IAAIA,YAAO,EAAQ,CAAC;;YAGnC,iBAAW,GAAG,IAAIA,YAAO,EAAQ,CAAC;;YAGlC,iBAAW,GAAG,IAAIA,YAAO,EAAQ,CAAC;;YAGlC,gBAAU,GAAG,IAAIA,YAAO,EAAQ,CAAC;;YAGjC,oBAAc,GAAG,IAAIA,YAAO,EAAkB,CAAC;;;;;;;YAkF/C,qBAAe,GAAG,UAAC,MAAiB;gBAC3C,IAAI,KAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;oBACrF,sCAAsC,EAAE,CAAC;iBAC1C;gBAED,OAAO,KAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;aACjD,CAAA;YA3EC,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;;;;YAK3B,KAAI,CAAC,cAAc,CAAC,IAAI,CAACC,8BAAoB,CAAC,UAAC,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC;aAC/D,CAAC,CAAC,CAAC,SAAS,CAAC,UAAA,KAAK;;gBAEjB,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;oBAC7B,KAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,KAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;oBACxB,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;iBAC7B;gBAED,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,KAAK,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,EAAE;oBACzF,KAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC/B,KAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBACvB,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;iBAC5B;aACF,CAAC,CAAC;;SACJ;QA9DD,sBAAoC,0CAAU;;;;;iBAA9C,cAAmD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE;;;WAAA;QAE3F,sBACI,gDAAgB;iBADpB,cACyB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;;;WAAA;QAE/D,sBAA8B,qCAAK;iBAAnC,cAAwC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;;WAAA;QAInE,sBAAkC,yCAAS;iBAA3C,cAAgD,OAAO,CAAC,CAAC,CAAC,EAAE;;;WAAA;;QAwD5D,2DAA8B,GAA9B;;;YAGE,IAAI,CAAC,6BAA6B,EAAE,CAAC;;;YAGrC,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;;QAGD,wCAAW,GAAX;YACE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;SAChC;;;;;QAMD,kDAAqB,GAArB,UAAyB,MAA0B;YACjD,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;gBACrF,sCAAsC,EAAE,CAAC;aAC1C;YAED,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;SACvD;;;;;QAMD,iDAAoB,GAApB,UAAwB,MAAyB;YAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;gBACrF,sCAAsC,EAAE,CAAC;aAC1C;YAED,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;SACtD;;QAiBD,8CAAiB,GAAjB,UAAkB,KAAqB;YACrC,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;gBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;aAC9B;YACD,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,KAAK,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,EAAE;gBACzF,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;aAC7B;SACF;;QAGD,0CAAa,GAAb;YACE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;;YAIrB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC;;QAGO,0DAA6B,GAA7B;YACN,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,oCAAoC,GAAGC,0CAAiC,EAAE,CAAC;aACjF;SACF;;QAGO,kDAAqB,GAArB;;YAEN,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;gBACxC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;aACxC;SACF;;;;;;QAOO,wCAAW,GAAX,UAAY,OAAoB,EAAE,OAAsB;YAC9D,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;gBACpD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;;gBAEtB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAM,OAAA,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,GAAA,CAAC,CAAC;oBAC5E,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAM,OAAA,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,GAAA,CAAC,CAAC;iBAClF,CAAC,CAAC;aACJ;YACD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACxB;;;;;QAMO,gDAAmB,GAAnB,UAAoB,QAAgB,EAAE,OAAsB;YAClE,IAAI,cAAc,GAChB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAuB,CAAC;YAC/E,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;aAC3C;SACF;;;;;QAMO,uCAAU,GAAV;YACN,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;;;;;;YAO/C,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS;gBAC5B,KAAK,KAAK,CAAC;gBACX,KAAK,QAAQ;oBACX,IAAM,aAAa,GAAGA,0CAAiC,EAAE,CAAC;;;;;;oBAM1D,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;wBACjE,OAAO,CAAC,KAAK,EAAE,CAAC;qBACjB;oBACD,MAAM;gBACR,KAAK,IAAI,CAAC;gBACV,KAAK,gBAAgB;oBACnB,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE;yBAC3C,IAAI,CAAC,UAAA,aAAa;wBACjB,IAAI,CAAC,aAAa,EAAE;4BAClB,OAAO,CAAC,KAAK,EAAE,CAAC;yBACjB;qBACF,CAAC,CAAC;oBACL,MAAM;gBACN,KAAK,eAAe;oBAClB,IAAI,CAAC,mBAAmB,CAAC,0CAA0C,CAAC,CAAC;oBACrE,MAAM;gBACR;oBACE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC;oBAClD,MAAM;aACX;SACF;;QAGO,oDAAuB,GAAvB;YACN,IAAM,OAAO,GAAG,IAAI,CAAC,oCAAoC,CAAC;;YAE1D,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE;gBAClD,IAAM,aAAa,GAAGA,0CAAiC,EAAE,CAAC;gBAC1D,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;;;;;gBAM/C,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,aAAa,KAAK,OAAO;oBACtF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;oBACjC,OAAO,CAAC,KAAK,EAAE,CAAC;iBACjB;aACF;SACF;;KAnQH,CAAwCC,uBAAgB;;gBA5BvDC,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,yDAAsC;oBAEtC,aAAa,EAAEC,sBAAiB,CAAC,IAAI;;;oBAGrC,eAAe,EAAEC,4BAAuB,CAAC,OAAO;oBAChD,UAAU,EAAE;wBACVC,kBAAO,CAAC,QAAQ,EAAE;4BAChBC,gBAAK,CAAC,OAAO,EAAEC,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;4BACnCD,gBAAK,CAAC,YAAY,EAAEC,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;4BACxCC,qBAAU,CAAC,YAAY,EAAEC,kBAAO,CAAC,4BAA4B,CAAC,CAAC;4BAC/DD,qBAAU,CAAC,sBAAsB,EAAEC,kBAAO,CAAC,2BAA2B,CAAC,CAAC;yBACzE,CAAC;qBACH;oBACD,IAAI,EAAE;wBACJ,WAAW,EAAE,yLAMX;wBACF,iBAAiB,EAAE,2BAA2B;wBAC9C,gBAAgB,EAAE,6BAA6B;qBAChD;;iBACF;;;gBAnDCC,eAAU;gBAfJC,qBAAgB;gBAYtBC,sBAAiB;gBAZOC,yBAAoB;gBAmB5CC,WAAM;gDAoGHC,aAAQ,YAAIC,WAAM,SAACC,eAAQ;gBA5FxB,YAAY;;;6BAwDjBC,gBAAW,SAAC,iBAAiB;mCAE7BA,gBAAW,SAAC,uBAAuB;wBAGnCA,gBAAW,SAAC,WAAW;6BAEvBA,gBAAW,SAAC,iBAAiB;4BAE7BA,gBAAW,SAAC,eAAe;8BAI3BC,cAAS,SAACC,sBAAe,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;;;ICzG5C;;;;;;;IAgBA;IACA,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB;;;;QAaE,mBACS,WAAuB,EACpB,kBAAsC,EACvC,EAAmC;YAH9C,iBAiCC;YA9BU,mBAAA,EAAA,iBAAuB,QAAQ,EAAI;YAFrC,gBAAW,GAAX,WAAW,CAAY;YACpB,uBAAkB,GAAlB,kBAAkB,CAAoB;YACvC,OAAE,GAAF,EAAE,CAAiC;;YAG5C,IAAI,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE;gBAC1C,WAAW,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC;oBACpC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE;wBACtB,KAAI,CAAC,KAAK,EAAE,CAAC;qBACd;iBACF,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC;gBAC5B,KAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;aACnC,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;gBAC3B,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC1B,KAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC3B,KAAI,CAAC,iBAAiB,GAAG,IAAK,CAAC;aAChC,CAAC,CAAC;;YAGH,WAAW,CAAC,aAAa,EAAE;iBACxB,IAAI,CAACC,gBAAM,CAAC,UAAA,KAAK;gBAChB,OAAO,KAAK,CAAC,OAAO,KAAKC,eAAM,IAAI,CAAC,KAAI,CAAC,YAAY,IAAI,CAACC,uBAAc,CAAC,KAAK,CAAC,CAAC;aACjF,CAAC,CAAC;iBACF,SAAS,CAAC,UAAA,KAAK;gBACd,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAI,CAAC,KAAK,EAAE,CAAC;aACd,CAAC,CAAC;SACN;;QAGD,iCAAa,GAAb;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;SACzC;;;;;QAMD,yBAAK,GAAL,UAAM,YAAgB;YACpB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;SACzC;;;;;QAMD,kCAAc,GAAd,UAAe,QAAyB;YACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE3C,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACjD,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC/E;iBAAM;gBACL,QAAQ,CAAC,kBAAkB,EAAE,CAAC;aAC/B;YAED,IAAI,QAAQ,KAAK,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACjD,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAC9E;iBAAM;gBACL,QAAQ,CAAC,gBAAgB,EAAE,CAAC;aAC7B;YAED,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;YAElC,OAAO,IAAI,CAAC;SACb;;;;QAKD,iCAAa,GAAb;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;SACzC;;;;;QAMD,8BAAU,GAAV,UAAW,IAAuB;YAChC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;SACb;;QAGO,wCAAoB,GAApB;YACN,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,gBAA0C,CAAC;SAChF;;QAGD,gCAAY,GAAZ;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;SAC7C;;QAGD,+BAAW,GAAX;YACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;SAC5C;;QAGD,gCAAY,GAAZ;YAAA,iBAEC;YADC,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAACC,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,GAAA,CAAC,CAAC,CAAC;SAC1E;;QAGD,+BAAW,GAAX;YAAA,iBAEC;YADC,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAACA,aAAG,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,GAAA,CAAC,CAAC,CAAC;SACzE;wBACF;KAAA;;IClJD;;;;;;;IAkBA;QACa,sBAAsB,GAC/B,IAAIC,mBAAc,CAAuB,sBAAsB,EAAE;IAErE;QACa,WAAW,GAAG,IAAIA,mBAAc,CAAM,YAAY,EAAE;IAEjE;QACa,UAAU,GAAG,IAAIA,mBAAc,CAAiB,WAAW,EAAE;IAE1E;QACa,aAAa,GAAG,IAAIA,mBAAc,CAAe,cAAc,EAAE;IAE9E;QACa,gBAAgB,GACzB,IAAIA,mBAAc,CAAoC,iBAAiB,EAAE;IAE7E;aACgB,2CAA2C,CAAC,OAAgB;QAE1E,OAAO,cAAM,OAAA,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAA,CAAC;IAChD,CAAC;IAED;QACa,mCAAmC,GAAG;QACjD,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,CAACC,eAAO,CAAC;QACf,UAAU,EAAE,2CAA2C;;;IC7CzD;;;;;;;IA8CA;;;;QA6BE,gBACY,QAAiB,EACjB,SAAmB,EACC,qBAA2C;;;QAGvC,cAAmB,EACnB,aAAqB,EACzC,QAAkB;YARlC,iBAkBC;YAjBW,aAAQ,GAAR,QAAQ,CAAS;YACjB,cAAS,GAAT,SAAS,CAAU;YACC,0BAAqB,GAArB,qBAAqB,CAAsB;YAIvC,kBAAa,GAAb,aAAa,CAAQ;YAzBhD,wBAAmB,GAAG,IAAI5B,YAAO,EAAQ,CAAC;;YAGnD,mBAAc,GAAqB6B,UAAK,CAAC,cAAM,OAAA,KAAI,CAAC,WAAW,CAAC,MAAM;gBAClE,KAAI,CAAC,kBAAkB,EAAE,GAAG,KAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAACC,mBAAS,CAAC,SAAS,CAAC,CAAC,GAAA,CAAC,CAAC;YAM7E,iBAAY,GAAG,IAAI9B,YAAO,EAAkB,CAAC;YAMtD,iBAAY,GAAqB,EAAE,CAAC;;;;YAelC,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE;gBAC9B,QAAQ,CAAC,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,QAAQ,EAAE,GAAA,CAAC,CAAC;aAC3C;YAED,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;SACvC;;QAvCD,mCAAkB,GAAlB;YACE,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC;SAC1F;QAQD,sBAAI,+BAAW;;iBAAf;gBACE,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;aAChF;;;WAAA;QAID,sBAAI,+BAAW;;iBAAf;gBACE,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;aAChF;;;WAAA;;QAwBD,wBAAO,GAAP,UAAQ,EAAU;YAChB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAA,GAAG,IAAK,OAAA,GAAG,CAAC,EAAE,KAAK,EAAE,GAAA,CAAC,CAAC;SACtD;;QAGD,yBAAQ,GAAR;YACE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,KAAK,EAAE,GAAA,CAAC,CAAC;SAC9C;;QAGD,kCAAiB,GAAjB,UAAqB,SAA2B,EAAE,MAAqB;YACrE,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAE3C,IAAI,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;gBAC3F,MAAM,KAAK,CAAC,sBAAmB,MAAM,CAAC,EAAE,qDAAiD,CAAC,CAAC;aAC5F;YAED,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACxE,IAAM,SAAS,GAAG,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,eAAe,EAChF,UAAU,EAAE,MAAM,CAAC,CAAC;YAEtB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACnC,eAAe,CAAC,8BAA8B,EAAE,CAAC;YAEjD,OAAO,SAAS,CAAC;SAClB;;QAGD,iCAAgB,GAAhB,UAAoB,QAAwB,EAAE,MAAqB;YACjE,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAE3C,IAAI,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;gBAC3F,MAAM,KAAK,CAAC,sBAAmB,MAAM,CAAC,EAAE,qDAAiD,CAAC,CAAC;aAC5F;YAED,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACxE,IAAM,SAAS,GAAG,IAAI,CAAC,+BAA+B,CAAC,QAAQ,EAAE,eAAe,EAC9E,UAAU,EAAE,MAAM,CAAC,CAAC;YAEtB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACnC,eAAe,CAAC,8BAA8B,EAAE,CAAC;YAEjD,OAAO,SAAS,CAAC;SAClB;QAED,4BAAW,GAAX;;YAEE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,KAAK,EAAE,GAAA,CAAC,CAAC;SAC/C;;;;QAKO,mCAAkB,GAAlB,UAAmB,SAAyB;YAA5C,iBAoBP;YAnBC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEjC,IAAM,aAAa,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;gBACtD,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjC,aAAa,CAAC,WAAW,EAAE,CAAC;aAC7B,CAAC,CAAC;YAEH,IAAM,cAAc,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;gBACvD,IAAI,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAEvD,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE;oBACpB,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBAC1C;gBAED,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,EAAE;oBAC7B,KAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;oBAChC,cAAc,CAAC,WAAW,EAAE,CAAC;iBAC9B;aACF,CAAC,CAAC;SACJ;;;;;;QAOS,+BAAc,GAAd,UAAe,MAAoB;YAC3C,IAAM,aAAa,GAAG,IAAI+B,qBAAa,CAAC;gBACtC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;gBACnD,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE;gBACtC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,aAAa,EAAE;gBACxB,aAAa,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;aACpD;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SAC5C;;;;;;;QAQS,uCAAsB,GAAtB,UAAuB,OAAmB,EAAE,MAAoB;YACxE,IAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACpF,IAAM,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;YAC3F,IAAM,QAAQ,GAAGC,aAAQ,CAAC,MAAM,CAAC;gBAC/B,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,SAAS;gBACtC,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAC,CAAC;aACvD,CAAC,CAAC;YACH,IAAM,eAAe,GAAG,IAAIC,sBAAe,CAAC,SAAS,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAC1F,IAAM,YAAY,GAAqC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACvF,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC;YAEvC,OAAO,YAAY,CAAC,QAAQ,CAAC;SAC9B;;;;;;;;;;QAYS,iDAAgC,GAAhC,UACN,sBAAwC,EACxC,eAAmC,EACnC,UAAsB,EACtB,MAAoB;;;YAItB,IAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YAC7E,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAI,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;YAC7E,IAAM,UAAU,GAAG,eAAe,CAAC,qBAAqB,CACpD,IAAIA,sBAAe,CAAC,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtE,SAAS,CAAC,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC;YAClD,OAAO,SAAS,CAAC;SAClB;;;;;;;;;;QAWS,gDAA+B,GAA/B,UACN,sBAAsC,EACtC,eAAmC,EACnC,UAAsB,EACtB,MAAoB;;;YAItB,IAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YAC7E,eAAe,CAAC,oBAAoB,CAClC,IAAIC,qBAAc,CAAI,sBAAsB,EAAE,IAAK,EAC5C,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,WAAA,EAAC,CAAC,CAAC,CAAC;YAC/C,OAAO,SAAS,CAAC;SAClB;;;;;;;;;QAWO,gCAAe,GAAf,UACJ,MAAoB,EACpB,SAAuB,EACvB,eAAmC;YAErC,IAAM,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;YAC3F,IAAM,SAAS,GAAqB;gBAClC,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAC;gBAC9D,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAC;gBAC1E,EAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAC;aAC9C,CAAC;YAEF,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,YAAY;gBACpC,CAAC,YAAY,CAAC,GAAG,CAAwBC,mBAAc,EAAE,IAAI,EAAEC,gBAAW,CAAC,QAAQ,CAAC,CAAC,EAAE;gBACvF,SAAS,CAAC,IAAI,CAAC;oBACb,OAAO,EAAED,mBAAc;oBACvB,QAAQ,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAEE,OAAY,EAAE,EAAC;iBAC5D,CAAC,CAAC;aACJ;YAED,OAAOL,aAAQ,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,WAAA,EAAC,CAAC,CAAC;SAC7E;;QAGO,iCAAgB,GAAhB,UAAiB,UAAsB,EACtB,eAAmC,EACnC,MAAoB;YAC3C,IAAM,SAAS,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACzF,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YAC7C,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7D,OAAO,SAAS,CAAC;SAClB;;;;;QAMO,qCAAoB,GAApB,UAAqB,MAAqB;YAChD,IAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAwB,CAAC;YAC9E,uCAAW,IAAI,YAAY,EAAE,GAAK,MAAM,EAAE;SAC3C;;;;gBA3QFM,eAAU;;;gBAnBTV,eAAO;gBAjBPI,aAAQ;gBAIRO,SAAI,uBA6DCrB,WAAM,SAAC,UAAU;gDAGjBA,WAAM,SAAC,sBAAsB;gBACiB,MAAM,uBAApDD,aAAQ,YAAIuB,aAAQ;gBA1DnBC,eAAQ,uBA2DTxB,aAAQ;;;ICnFf;;;;;;;aA0CoC,SAAS,OACH,kBAAkB,OACrB;;QAIvC;;;;;gBAxBCyB,aAAQ,SAAC;oBACR,OAAO,EAAE;wBACPC,qBAAa;wBACbC,mBAAY;wBACZC,eAAU;qBACX;oBACD,OAAO,EAAE;;;wBAGPD,mBAAY;wBACZ,kBAAkB;qBACnB;oBACD,YAAY,EAAE;wBACZ,kBAAkB;qBACnB;oBACD,SAAS,EAAE;wBACT,MAAM;wBACN,mCAAmC;wBACnC,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAW,EAAC;wBAC1C,EAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,IAAoB,EAAC;wBACzD,EAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,IAAc,EAAC;qBACjD;oBACD,eAAe,EAAE,CAAC,kBAAkB,CAAC;iBACtC;;;IC/CD;;;;;;;;ICAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"cdk-experimental-dialog.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/dialog/dialog-config.ts","../../../../../src/cdk-experimental/dialog/dialog-container.ts","../../../../../src/cdk-experimental/dialog/dialog-ref.ts","../../../../../src/cdk-experimental/dialog/dialog-injectors.ts","../../../../../src/cdk-experimental/dialog/dialog.ts","../../../../../src/cdk-experimental/dialog/dialog-module.ts","../../../../../src/cdk-experimental/dialog/public-api.ts","../../../../../src/cdk-experimental/dialog/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {ViewContainerRef} from '@angular/core';\nimport {Direction} from '@angular/cdk/bidi';\nimport {ComponentType} from '@angular/cdk/overlay';\nimport {CdkDialogContainer} from './dialog-container';\n\n/** Options for where to set focus to automatically on dialog open */\nexport type AutoFocusTarget = 'dialog' | 'first-tabbable' | 'first-heading';\n\n/** Valid ARIA roles for a dialog element. */\nexport type DialogRole = 'dialog' | 'alertdialog';\n\n/** Possible overrides for a dialog's position. */\nexport interface DialogPosition {\n top?: string;\n bottom?: string;\n left?: string;\n right?: string;\n}\n\nexport class DialogConfig<D = any> {\n /** Component to use as the container for the dialog. */\n containerComponent?: ComponentType<CdkDialogContainer>;\n\n /**\n * Where the attached component should live in Angular's *logical* component tree.\n * This affects what is available for injection and the change detection order for the\n * component instantiated inside of the dialog. This does not affect where the dialog\n * content will be rendered.\n */\n viewContainerRef?: ViewContainerRef;\n\n /** The id of the dialog. */\n id?: string;\n\n /** The ARIA role of the dialog. */\n role?: DialogRole = 'dialog';\n\n /** Custom class(es) for the overlay panel. */\n panelClass?: string | string[] = '';\n\n /** Whether the dialog has a background. */\n hasBackdrop?: boolean = true;\n\n /** Custom class(es) for the backdrop. */\n backdropClass?: string | undefined = '';\n\n /** Whether the dialog can be closed by user interaction. */\n disableClose?: boolean = false;\n\n /** The width of the dialog. */\n width?: string = '';\n\n /** The height of the dialog. */\n height?: string = '';\n\n /** The minimum width of the dialog. */\n minWidth?: string | number = '';\n\n /** The minimum height of the dialog. */\n minHeight?: string | number = '';\n\n /** The maximum width of the dialog. */\n maxWidth?: string | number = '80vw';\n\n /** The maximum height of the dialog. */\n maxHeight?: string | number = '';\n\n /** The position of the dialog. */\n position?: DialogPosition;\n\n /** Data to be injected into the dialog content. */\n data?: D | null = null;\n\n /** The layout direction for the dialog content. */\n direction?: Direction;\n\n /** ID of the element that describes the dialog. */\n ariaDescribedBy?: string | null = null;\n\n /** Aria label to assign to the dialog element */\n ariaLabel?: string | null = null;\n\n /**\n * Where the dialog should focus on open.\n * @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or\n * AutoFocusTarget instead.\n */\n autoFocus?: AutoFocusTarget | string | boolean = 'first-tabbable';\n\n /** Duration of the enter animation. Has to be a valid CSS value (e.g. 100ms). */\n enterAnimationDuration?: string = '225ms';\n\n /** Duration of the exit animation. Has to be a valid CSS value (e.g. 50ms). */\n exitAnimationDuration?: string = '225ms';\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {animate, AnimationEvent, state, style, transition, trigger} from '@angular/animations';\nimport {FocusTrapFactory, InteractivityChecker} from '@angular/cdk/a11y';\nimport {_getFocusedElementPierceShadowDom} from '@angular/cdk/platform';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n DomPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n Inject,\n NgZone,\n OnDestroy,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\nimport {DialogConfig} from './dialog-config';\n\n\nexport function throwDialogContentAlreadyAttachedError() {\n throw Error('Attempting to attach dialog content after content is already attached');\n}\n\n\n/**\n * Internal component that wraps user-provided dialog content.\n * @docs-private\n */\n@Component({\n selector: 'cdk-dialog-container',\n templateUrl: './dialog-container.html',\n styleUrls: ['dialog-container.css'],\n encapsulation: ViewEncapsulation.None,\n // Using OnPush for dialogs caused some G3 sync issues. Disabled until we can track them down.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [\n trigger('dialog', [\n state('enter', style({opacity: 1})),\n state('exit, void', style({opacity: 0})),\n transition('* => enter', animate('{{enterAnimationDuration}}')),\n transition('* => exit, * => void', animate('{{exitAnimationDuration}}')),\n ])\n ],\n host: {\n '[@dialog]': `{\n value: _state,\n params: {\n enterAnimationDuration: _config.enterAnimationDuration,\n exitAnimationDuration: _config.exitAnimationDuration\n }\n }`,\n '(@dialog.start)': '_onAnimationStart($event)',\n '(@dialog.done)': '_animationDone.next($event)',\n },\n})\nexport class CdkDialogContainer extends BasePortalOutlet implements OnDestroy {\n private readonly _document: Document;\n\n /** State of the dialog animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n\n /** Element that was focused before the dialog was opened. Save this to restore upon close. */\n private _elementFocusedBeforeDialogWasOpened: HTMLElement | null = null;\n\n /** The class that traps and manages focus within the dialog. */\n private _focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n\n // @HostBinding is used in the class as it is expected to be extended. Since @Component decorator\n // metadata is not inherited by child classes, instead the host binding data is defined in a way\n // that can be inherited.\n // tslint:disable:no-host-decorator-in-concrete no-private-getters\n @HostBinding('attr.aria-label') get _ariaLabel() { return this._config.ariaLabel || null; }\n\n @HostBinding('attr.aria-describedby')\n get _ariaDescribedBy() { return this._config.ariaDescribedBy; }\n\n @HostBinding('attr.role') get _role() { return this._config.role; }\n\n @HostBinding('attr.aria-modal') _ariaModal: boolean = true;\n\n @HostBinding('attr.tabindex') get _tabindex() { return -1; }\n // tslint:disable:no-host-decorator-in-concrete no-private-getters\n\n /** The portal host inside of this container into which the dialog content will be loaded. */\n @ViewChild(CdkPortalOutlet, {static: true}) _portalHost: CdkPortalOutlet;\n\n /** A subject emitting before the dialog enters the view. */\n readonly _beforeEnter = new Subject<void>();\n\n /** A subject emitting after the dialog enters the view. */\n readonly _afterEnter = new Subject<void>();\n\n /** A subject emitting before the dialog exits the view. */\n readonly _beforeExit = new Subject<void>();\n\n /** A subject emitting after the dialog exits the view. */\n readonly _afterExit = new Subject<void>();\n\n /** Stream of animation `done` events. */\n readonly _animationDone = new Subject<AnimationEvent>();\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _focusTrapFactory: FocusTrapFactory,\n private _changeDetectorRef: ChangeDetectorRef,\n private readonly _interactivityChecker: InteractivityChecker,\n private readonly _ngZone: NgZone,\n @Optional() @Inject(DOCUMENT) _document: any,\n /** The dialog configuration. */\n public _config: DialogConfig) {\n super();\n\n this._document = _document;\n\n // We use a Subject with a distinctUntilChanged, rather than a callback attached to .done,\n // because some browsers fire the done event twice and we don't want to emit duplicate events.\n // See: https://github.com/angular/angular/issues/24084\n this._animationDone.pipe(distinctUntilChanged((x, y) => {\n return x.fromState === y.fromState && x.toState === y.toState;\n })).subscribe(event => {\n // Emit lifecycle events based on animation `done` callback.\n if (event.toState === 'enter') {\n this._autoFocus();\n this._afterEnter.next();\n this._afterEnter.complete();\n }\n\n if (event.fromState === 'enter' && (event.toState === 'void' || event.toState === 'exit')) {\n this._returnFocusAfterDialog();\n this._afterExit.next();\n this._afterExit.complete();\n }\n });\n }\n\n /** Initializes the dialog container with the attached content. */\n _initializeWithAttachedContent() {\n // Save the previously focused element. This element will be re-focused\n // when the dialog closes.\n this._savePreviouslyFocusedElement();\n // Move focus onto the dialog immediately in order to prevent the user\n // from accidentally opening multiple dialogs at the same time.\n this._focusDialogContainer();\n }\n\n /** Destroy focus trap to place focus back to the element focused before the dialog opened. */\n ngOnDestroy() {\n this._focusTrap.destroy();\n this._animationDone.complete();\n }\n\n /**\n * Attach a ComponentPortal as content to this dialog container.\n * @param portal Portal to be attached as the dialog content.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n if (this._portalHost.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwDialogContentAlreadyAttachedError();\n }\n\n return this._portalHost.attachComponentPortal(portal);\n }\n\n /**\n * Attach a TemplatePortal as content to this dialog container.\n * @param portal Portal to be attached as the dialog content.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n if (this._portalHost.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwDialogContentAlreadyAttachedError();\n }\n\n return this._portalHost.attachTemplatePortal(portal);\n }\n\n /**\n * Attaches a DOM portal to the dialog container.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n override attachDomPortal = (portal: DomPortal) => {\n if (this._portalHost.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwDialogContentAlreadyAttachedError();\n }\n\n return this._portalHost.attachDomPortal(portal);\n }\n\n /** Emit lifecycle events based on animation `start` callback. */\n _onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'enter') {\n this._beforeEnter.next();\n this._beforeEnter.complete();\n }\n if (event.fromState === 'enter' && (event.toState === 'void' || event.toState === 'exit')) {\n this._beforeExit.next();\n this._beforeExit.complete();\n }\n }\n\n /** Starts the dialog exit animation. */\n _startExiting(): void {\n this._state = 'exit';\n\n // Mark the container for check so it can react if the\n // view container is using OnPush change detection.\n this._changeDetectorRef.markForCheck();\n }\n\n /** Saves a reference to the element that was focused before the dialog was opened. */\n private _savePreviouslyFocusedElement() {\n if (this._document) {\n this._elementFocusedBeforeDialogWasOpened = _getFocusedElementPierceShadowDom();\n }\n }\n\n /** Focuses the dialog container. */\n private _focusDialogContainer() {\n // Note that there is no focus method when rendering on the server.\n if (this._elementRef.nativeElement.focus) {\n this._elementRef.nativeElement.focus();\n }\n }\n\n /**\n * Focuses the provided element. If the element is not focusable, it will add a tabIndex\n * attribute to forcefully focus it. The attribute is removed after focus is moved.\n * @param element The element to focus.\n */\n private _forceFocus(element: HTMLElement, options?: FocusOptions) {\n if (!this._interactivityChecker.isFocusable(element)) {\n element.tabIndex = -1;\n // The tabindex attribute should be removed to avoid navigating to that element again\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('blur', () => element.removeAttribute('tabindex'));\n element.addEventListener('mousedown', () => element.removeAttribute('tabindex'));\n });\n }\n element.focus(options);\n }\n\n /**\n * Focuses the first element that matches the given selector within the focus trap.\n * @param selector The CSS selector for the element to set focus to.\n */\n private _focusByCssSelector(selector: string, options?: FocusOptions) {\n let elementToFocus =\n this._elementRef.nativeElement.querySelector(selector) as HTMLElement | null;\n if (elementToFocus) {\n this._forceFocus(elementToFocus, options);\n }\n }\n\n /**\n * Autofocus the element specified by the autoFocus field. When autoFocus is not 'dialog', if\n * for some reason the element cannot be focused, the dialog container will be focused.\n */\n private _autoFocus() {\n const element = this._elementRef.nativeElement;\n\n // If were to attempt to focus immediately, then the content of the dialog would not yet be\n // ready in instances where change detection has to run first. To deal with this, we simply\n // wait for the microtask queue to be empty when setting focus when autoFocus isn't set to\n // dialog. If the element inside the dialog can't be focused, then the container is focused\n // so the user can't tab into other elements behind it.\n switch (this._config.autoFocus) {\n case false:\n case 'dialog':\n const activeElement = _getFocusedElementPierceShadowDom();\n // Ensure that focus is on the dialog container. It's possible that a different\n // component tried to move focus while the open animation was running. See:\n // https://github.com/angular/components/issues/16215. Note that we only want to do this\n // if the focus isn't inside the dialog already, because it's possible that the consumer\n // turned off `autoFocus` in order to move focus themselves.\n if (activeElement !== element && !element.contains(activeElement)) {\n element.focus();\n }\n break;\n case true:\n case 'first-tabbable':\n this._focusTrap.focusInitialElementWhenReady()\n .then(hasMovedFocus => {\n if (!hasMovedFocus) {\n element.focus();\n }\n });\n break;\n case 'first-heading':\n this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role=\"heading\"]');\n break;\n default:\n this._focusByCssSelector(this._config.autoFocus!);\n break;\n }\n }\n\n /** Returns the focus to the element focused before the dialog was open. */\n private _returnFocusAfterDialog() {\n const toFocus = this._elementFocusedBeforeDialogWasOpened;\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (toFocus && typeof toFocus.focus === 'function') {\n const activeElement = _getFocusedElementPierceShadowDom();\n const element = this._elementRef.nativeElement;\n\n // Make sure that focus is still inside the dialog or is on the body (usually because a\n // non-focusable element like the backdrop was clicked) before moving it. It's possible that\n // the consumer moved it themselves before the animation was done, in which case we shouldn't\n // do anything.\n if (!activeElement || activeElement === this._document.body || activeElement === element ||\n element.contains(activeElement)) {\n toFocus.focus();\n }\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {OverlayRef, GlobalPositionStrategy, OverlaySizeConfig} from '@angular/cdk/overlay';\nimport {ESCAPE, hasModifierKey} from '@angular/cdk/keycodes';\nimport {Observable} from 'rxjs';\nimport {map, filter} from 'rxjs/operators';\nimport {DialogPosition} from './dialog-config';\nimport {CdkDialogContainer} from './dialog-container';\n\n/** Unique id for the created dialog. */\nlet uniqueId = 0;\n\n/**\n * Reference to a dialog opened via the Dialog service.\n */\nexport class DialogRef<T, R = any> {\n /** The instance of the component in the dialog. */\n componentInstance: T;\n\n /** Whether the user is allowed to close the dialog. */\n disableClose: boolean | undefined;\n\n /** Result to be passed to afterClosed. */\n private _result: R | undefined;\n\n constructor(\n public _overlayRef: OverlayRef,\n protected _containerInstance: CdkDialogContainer,\n readonly id: string = `dialog-${uniqueId++}`) {\n\n // If the dialog has a backdrop, handle clicks from the backdrop.\n if (_containerInstance._config.hasBackdrop) {\n _overlayRef.backdropClick().subscribe(() => {\n if (!this.disableClose) {\n this.close();\n }\n });\n }\n\n this.beforeClosed().subscribe(() => {\n this._overlayRef.detachBackdrop();\n });\n\n this.afterClosed().subscribe(() => {\n this._overlayRef.detach();\n this._overlayRef.dispose();\n this.componentInstance = null!;\n });\n\n // Close when escape keydown event occurs\n _overlayRef.keydownEvents()\n .pipe(filter(event => {\n return event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event);\n }))\n .subscribe(event => {\n event.preventDefault();\n this.close();\n });\n }\n\n /** Gets an observable that emits when the overlay's backdrop has been clicked. */\n backdropClick(): Observable<MouseEvent> {\n return this._overlayRef.backdropClick();\n }\n\n /**\n * Close the dialog.\n * @param dialogResult Optional result to return to the dialog opener.\n */\n close(dialogResult?: R): void {\n this._result = dialogResult;\n this._containerInstance._startExiting();\n }\n\n /**\n * Updates the dialog's position.\n * @param position New dialog position.\n */\n updatePosition(position?: DialogPosition): this {\n let strategy = this._getPositionStrategy();\n\n if (position && (position.left || position.right)) {\n position.left ? strategy.left(position.left) : strategy.right(position.right);\n } else {\n strategy.centerHorizontally();\n }\n\n if (position && (position.top || position.bottom)) {\n position.top ? strategy.top(position.top) : strategy.bottom(position.bottom);\n } else {\n strategy.centerVertically();\n }\n\n this._overlayRef.updatePosition();\n\n return this;\n }\n\n /**\n * Gets an observable that emits when keydown events are targeted on the overlay.\n */\n keydownEvents(): Observable<KeyboardEvent> {\n return this._overlayRef.keydownEvents();\n }\n\n /**\n * Updates the dialog's width and height, defined, min and max.\n * @param size New size for the overlay.\n */\n updateSize(size: OverlaySizeConfig): this {\n this._overlayRef.updateSize(size);\n this._overlayRef.updatePosition();\n return this;\n }\n\n /** Fetches the position strategy object from the overlay ref. */\n private _getPositionStrategy(): GlobalPositionStrategy {\n return this._overlayRef.getConfig().positionStrategy as GlobalPositionStrategy;\n }\n\n /** Gets an observable that emits when dialog begins opening. */\n beforeOpened(): Observable<void> {\n return this._containerInstance._beforeEnter;\n }\n\n /** Gets an observable that emits when dialog is finished opening. */\n afterOpened(): Observable<void> {\n return this._containerInstance._afterEnter;\n }\n\n /** Gets an observable that emits when dialog begins closing. */\n beforeClosed(): Observable<R | undefined> {\n return this._containerInstance._beforeExit.pipe(map(() => this._result));\n }\n\n /** Gets an observable that emits when dialog is finished closing. */\n afterClosed(): Observable<R | undefined> {\n return this._containerInstance._afterExit.pipe(map(() => this._result));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {\n ComponentType,\n Overlay,\n ScrollStrategy,\n} from '@angular/cdk/overlay';\nimport {DialogRef} from './dialog-ref';\nimport {CdkDialogContainer} from './dialog-container';\nimport {DialogConfig} from './dialog-config';\n\n/** Injection token for the Dialog's ScrollStrategy. */\nexport const DIALOG_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('DialogScrollStrategy');\n\n/** Injection token for the Dialog's Data. */\nexport const DIALOG_DATA = new InjectionToken<any>('DialogData');\n\n/** Injection token for the DialogRef constructor. */\nexport const DIALOG_REF = new InjectionToken<DialogRef<any>>('DialogRef');\n\n/** Injection token for the DialogConfig. */\nexport const DIALOG_CONFIG = new InjectionToken<DialogConfig>('DialogConfig');\n\n/** Injection token for the Dialog's DialogContainer component. */\nexport const DIALOG_CONTAINER =\n new InjectionToken<ComponentType<CdkDialogContainer>>('DialogContainer');\n\n/** @docs-private */\nexport function MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay):\n () => ScrollStrategy {\n return () => overlay.scrollStrategies.block();\n}\n\n/** @docs-private */\nexport const MAT_DIALOG_SCROLL_STRATEGY_PROVIDER = {\n provide: DIALOG_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n TemplateRef,\n SkipSelf,\n Optional,\n Injectable,\n Injector,\n Inject,\n ComponentRef,\n OnDestroy,\n Type,\n StaticProvider,\n InjectFlags\n} from '@angular/core';\nimport {ComponentPortal, TemplatePortal} from '@angular/cdk/portal';\nimport {of as observableOf, Observable, Subject, defer} from 'rxjs';\nimport {DialogRef} from './dialog-ref';\nimport {Location} from '@angular/common';\nimport {DialogConfig} from './dialog-config';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {CdkDialogContainer} from './dialog-container';\nimport {\n ComponentType,\n Overlay,\n OverlayRef,\n OverlayConfig,\n ScrollStrategy,\n} from '@angular/cdk/overlay';\nimport {startWith} from 'rxjs/operators';\n\nimport {\n DIALOG_SCROLL_STRATEGY,\n DIALOG_DATA,\n DIALOG_REF,\n DIALOG_CONTAINER,\n DIALOG_CONFIG,\n} from './dialog-injectors';\n\n\n/**\n * Service to open modal dialogs.\n */\n@Injectable()\nexport class Dialog implements OnDestroy {\n private _scrollStrategy: () => ScrollStrategy;\n\n /** Stream that emits when all dialogs are closed. */\n _getAfterAllClosed(): Observable<void> {\n return this._parentDialog ? this._parentDialog.afterAllClosed : this._afterAllClosedBase;\n }\n readonly _afterAllClosedBase = new Subject<void>();\n\n // TODO(jelbourn): tighten the type on the right-hand side of this expression.\n afterAllClosed: Observable<void> = defer(() => this.openDialogs.length ?\n this._getAfterAllClosed() : this._getAfterAllClosed().pipe(startWith(undefined)));\n\n /** Stream that emits when a dialog is opened. */\n get afterOpened(): Subject<DialogRef<any>> {\n return this._parentDialog ? this._parentDialog.afterOpened : this._afterOpened;\n }\n readonly _afterOpened = new Subject<DialogRef<any>>();\n\n /** Stream that emits when a dialog is opened. */\n get openDialogs(): DialogRef<any>[] {\n return this._parentDialog ? this._parentDialog.openDialogs : this._openDialogs;\n }\n _openDialogs: DialogRef<any>[] = [];\n\n constructor(\n private _overlay: Overlay,\n private _injector: Injector,\n @Inject(DIALOG_REF) private _dialogRefConstructor: Type<DialogRef<any>>,\n // TODO(crisbeto): the `any` here can be replaced\n // with the proper type once we start using Ivy.\n @Inject(DIALOG_SCROLL_STRATEGY) scrollStrategy: any,\n @Optional() @SkipSelf() private _parentDialog: Dialog,\n @Optional() location: Location) {\n\n // Close all of the dialogs when the user goes forwards/backwards in history or when the\n // location hash changes. Note that this usually doesn't include clicking on links (unless\n // the user is using the `HashLocationStrategy`).\n if (!_parentDialog && location) {\n location.subscribe(() => this.closeAll());\n }\n\n this._scrollStrategy = scrollStrategy;\n }\n\n /** Gets an open dialog by id. */\n getById(id: string): DialogRef<any> | undefined {\n return this._openDialogs.find(ref => ref.id === id);\n }\n\n /** Closes all open dialogs. */\n closeAll(): void {\n this.openDialogs.forEach(ref => ref.close());\n }\n\n /** Opens a dialog from a component. */\n openFromComponent<T>(component: ComponentType<T>, config?: DialogConfig): DialogRef<any> {\n config = this._applyConfigDefaults(config);\n\n if (config.id && this.getById(config.id) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Dialog with id \"${config.id}\" exists already. The dialog id must be unique.`);\n }\n\n const overlayRef = this._createOverlay(config);\n const dialogContainer = this._attachDialogContainer(overlayRef, config);\n const dialogRef = this._attachDialogContentForComponent(component, dialogContainer,\n overlayRef, config);\n\n this._registerDialogRef(dialogRef);\n dialogContainer._initializeWithAttachedContent();\n\n return dialogRef;\n }\n\n /** Opens a dialog from a template. */\n openFromTemplate<T>(template: TemplateRef<T>, config?: DialogConfig): DialogRef<any> {\n config = this._applyConfigDefaults(config);\n\n if (config.id && this.getById(config.id) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Dialog with id \"${config.id}\" exists already. The dialog id must be unique.`);\n }\n\n const overlayRef = this._createOverlay(config);\n const dialogContainer = this._attachDialogContainer(overlayRef, config);\n const dialogRef = this._attachDialogContentForTemplate(template, dialogContainer,\n overlayRef, config);\n\n this._registerDialogRef(dialogRef);\n dialogContainer._initializeWithAttachedContent();\n\n return dialogRef;\n }\n\n ngOnDestroy() {\n // Only close all the dialogs at this level.\n this._openDialogs.forEach(ref => ref.close());\n }\n\n /**\n * Forwards emitting events for when dialogs are opened and all dialogs are closed.\n */\n private _registerDialogRef(dialogRef: DialogRef<any>): void {\n this.openDialogs.push(dialogRef);\n\n const dialogOpenSub = dialogRef.afterOpened().subscribe(() => {\n this.afterOpened.next(dialogRef);\n dialogOpenSub.unsubscribe();\n });\n\n const dialogCloseSub = dialogRef.afterClosed().subscribe(() => {\n let dialogIndex = this._openDialogs.indexOf(dialogRef);\n\n if (dialogIndex > -1) {\n this._openDialogs.splice(dialogIndex, 1);\n }\n\n if (!this._openDialogs.length) {\n this._afterAllClosedBase.next();\n dialogCloseSub.unsubscribe();\n }\n });\n }\n\n /**\n * Creates an overlay config from a dialog config.\n * @param config The dialog configuration.\n * @returns The overlay configuration.\n */\n protected _createOverlay(config: DialogConfig): OverlayRef {\n const overlayConfig = new OverlayConfig({\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: this._scrollStrategy(),\n panelClass: config.panelClass,\n hasBackdrop: config.hasBackdrop,\n direction: config.direction,\n minWidth: config.minWidth,\n minHeight: config.minHeight,\n maxWidth: config.maxWidth,\n maxHeight: config.maxHeight\n });\n\n if (config.backdropClass) {\n overlayConfig.backdropClass = config.backdropClass;\n }\n return this._overlay.create(overlayConfig);\n }\n\n /**\n * Attaches an MatDialogContainer to a dialog's already-created overlay.\n * @param overlay Reference to the dialog's underlying overlay.\n * @param config The dialog configuration.\n * @returns A promise resolving to a ComponentRef for the attached container.\n */\n protected _attachDialogContainer(overlay: OverlayRef, config: DialogConfig): CdkDialogContainer {\n const container = config.containerComponent || this._injector.get(DIALOG_CONTAINER);\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this._injector,\n providers: [{provide: DialogConfig, useValue: config}]\n });\n const containerPortal = new ComponentPortal(container, config.viewContainerRef, injector);\n const containerRef: ComponentRef<CdkDialogContainer> = overlay.attach(containerPortal);\n containerRef.instance._config = config;\n\n return containerRef.instance;\n }\n\n\n /**\n * Attaches the user-provided component to the already-created MatDialogContainer.\n * @param componentOrTemplateRef The type of component being loaded into the dialog,\n * or a TemplateRef to instantiate as the content.\n * @param dialogContainer Reference to the wrapping MatDialogContainer.\n * @param overlayRef Reference to the overlay in which the dialog resides.\n * @param config The dialog configuration.\n * @returns A promise resolving to the MatDialogRef that should be returned to the user.\n */\n protected _attachDialogContentForComponent<T>(\n componentOrTemplateRef: ComponentType<T>,\n dialogContainer: CdkDialogContainer,\n overlayRef: OverlayRef,\n config: DialogConfig): DialogRef<any> {\n\n // Create a reference to the dialog we're creating in order to give the user a handle\n // to modify and close it.\n const dialogRef = this._createDialogRef(overlayRef, dialogContainer, config);\n const injector = this._createInjector<T>(config, dialogRef, dialogContainer);\n const contentRef = dialogContainer.attachComponentPortal(\n new ComponentPortal(componentOrTemplateRef, undefined, injector));\n dialogRef.componentInstance = contentRef.instance;\n return dialogRef;\n }\n\n /**\n * Attaches the user-provided component to the already-created MatDialogContainer.\n * @param componentOrTemplateRef The type of component being loaded into the dialog,\n * or a TemplateRef to instantiate as the content.\n * @param dialogContainer Reference to the wrapping MatDialogContainer.\n * @param overlayRef Reference to the overlay in which the dialog resides.\n * @param config The dialog configuration.\n * @returns A promise resolving to the MatDialogRef that should be returned to the user.\n */\n protected _attachDialogContentForTemplate<T>(\n componentOrTemplateRef: TemplateRef<T>,\n dialogContainer: CdkDialogContainer,\n overlayRef: OverlayRef,\n config: DialogConfig): DialogRef<any> {\n\n // Create a reference to the dialog we're creating in order to give the user a handle\n // to modify and close it.\n const dialogRef = this._createDialogRef(overlayRef, dialogContainer, config);\n dialogContainer.attachTemplatePortal(\n new TemplatePortal<T>(componentOrTemplateRef, null!,\n <any>{$implicit: config.data, dialogRef}));\n return dialogRef;\n }\n\n\n /**\n * Creates a custom injector to be used inside the dialog. This allows a component loaded inside\n * of a dialog to close itself and, optionally, to return a value.\n * @param config Config object that is used to construct the dialog.\n * @param dialogRef Reference to the dialog.\n * @param container Dialog container element that wraps all of the contents.\n * @returns The custom injector that can be used inside the dialog.\n */\n private _createInjector<T>(\n config: DialogConfig,\n dialogRef: DialogRef<T>,\n dialogContainer: CdkDialogContainer): Injector {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const providers: StaticProvider[] = [\n {provide: this._injector.get(DIALOG_REF), useValue: dialogRef},\n {provide: this._injector.get(DIALOG_CONTAINER), useValue: dialogContainer},\n {provide: DIALOG_DATA, useValue: config.data}\n ];\n\n if (config.direction && (!userInjector ||\n !userInjector.get<Directionality | null>(Directionality, null, InjectFlags.Optional))) {\n providers.push({\n provide: Directionality,\n useValue: {value: config.direction, change: observableOf()}\n });\n }\n\n return Injector.create({parent: userInjector || this._injector, providers});\n }\n\n /** Creates a new dialog ref. */\n private _createDialogRef(overlayRef: OverlayRef,\n dialogContainer: CdkDialogContainer,\n config: DialogConfig) {\n const dialogRef = new this._dialogRefConstructor(overlayRef, dialogContainer, config.id);\n dialogRef.disableClose = config.disableClose;\n dialogRef.updateSize(config).updatePosition(config.position);\n return dialogRef;\n }\n\n /**\n * Expands the provided configuration object to include the default values for properties which\n * are undefined.\n */\n private _applyConfigDefaults(config?: DialogConfig): DialogConfig {\n const dialogConfig = this._injector.get(DIALOG_CONFIG) as typeof DialogConfig;\n return {...new dialogConfig(), ...config};\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {Dialog} from './dialog';\nimport {CdkDialogContainer} from './dialog-container';\nimport {DialogConfig} from './dialog-config';\nimport {DialogRef} from './dialog-ref';\nimport {\n DIALOG_CONFIG,\n DIALOG_CONTAINER,\n DIALOG_REF,\n MAT_DIALOG_SCROLL_STRATEGY_PROVIDER\n} from './dialog-injectors';\n\n\n@NgModule({\n imports: [\n OverlayModule,\n PortalModule,\n A11yModule,\n ],\n exports: [\n // Re-export the PortalModule so that people extending the `CdkDialogContainer`\n // don't have to remember to import it or be faced with an unhelpful error.\n PortalModule,\n CdkDialogContainer,\n ],\n declarations: [\n CdkDialogContainer,\n ],\n providers: [\n Dialog,\n MAT_DIALOG_SCROLL_STRATEGY_PROVIDER,\n {provide: DIALOG_REF, useValue: DialogRef},\n {provide: DIALOG_CONTAINER, useValue: CdkDialogContainer},\n {provide: DIALOG_CONFIG, useValue: DialogConfig},\n ],\n entryComponents: [CdkDialogContainer],\n})\nexport class DialogModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './dialog-container';\nexport * from './dialog-config';\nexport * from './dialog-ref';\nexport * from './dialog';\nexport * from './dialog-module';\nexport * from './dialog-injectors';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Subject","distinctUntilChanged","_getFocusedElementPierceShadowDom","BasePortalOutlet","Component","ViewEncapsulation","ChangeDetectionStrategy","trigger","state","style","transition","animate","ElementRef","FocusTrapFactory","ChangeDetectorRef","InteractivityChecker","NgZone","Optional","Inject","DOCUMENT","HostBinding","ViewChild","CdkPortalOutlet","filter","ESCAPE","hasModifierKey","map","InjectionToken","Overlay","defer","startWith","OverlayConfig","Injector","ComponentPortal","TemplatePortal","Directionality","InjectFlags","observableOf","Injectable","Type","SkipSelf","Location","NgModule","OverlayModule","PortalModule","A11yModule"],"mappings":"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"}
@@ -239,7 +239,7 @@
239
239
  ar[i] = from[i];
240
240
  }
241
241
  }
242
- return to.concat(ar || from);
242
+ return to.concat(ar || Array.prototype.slice.call(from));
243
243
  }
244
244
  function __await(v) {
245
245
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-experimental-listbox.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/listbox/listbox.ts","../../../../../src/cdk-experimental/listbox/listbox-module.ts","../../../../../src/cdk-experimental/listbox/public-api.ts","../../../../../src/cdk-experimental/listbox/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef, EventEmitter, forwardRef,\n Inject, InjectionToken,\n Input, OnDestroy, OnInit, Optional, Output,\n QueryList\n} from '@angular/core';\nimport {ActiveDescendantKeyManager, Highlightable, ListKeyManagerOption} from '@angular/cdk/a11y';\nimport {DOWN_ARROW, ENTER, SPACE, UP_ARROW, LEFT_ARROW, RIGHT_ARROW} from '@angular/cdk/keycodes';\nimport {BooleanInput, coerceBooleanProperty, coerceArray} from '@angular/cdk/coercion';\nimport {SelectionChange, SelectionModel} from '@angular/cdk/collections';\nimport {defer, merge, Observable, Subject} from 'rxjs';\nimport {startWith, switchMap, takeUntil} from 'rxjs/operators';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CdkComboboxPanel} from '@angular/cdk-experimental/combobox';\nimport {Directionality} from '@angular/cdk/bidi';\n\nlet nextId = 0;\nlet listboxId = 0;\n\nexport const CDK_LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CdkListbox),\n multi: true\n};\n\nexport const PANEL = new InjectionToken<CdkComboboxPanel>('CdkComboboxPanel');\n\n@Directive({\n selector: '[cdkOption]',\n exportAs: 'cdkOption',\n host: {\n 'role': 'option',\n 'class': 'cdk-option',\n '(click)': 'toggle()',\n '(focus)': 'activate()',\n '(blur)': 'deactivate()',\n '[id]': 'id',\n '[attr.aria-selected]': 'selected || null',\n '[attr.tabindex]': '_getTabIndex()',\n '[attr.aria-disabled]': '_isInteractionDisabled()',\n '[class.cdk-option-disabled]': '_isInteractionDisabled()',\n '[class.cdk-option-active]': '_active',\n '[class.cdk-option-selected]': 'selected'\n }\n})\nexport class CdkOption<T = unknown> implements ListKeyManagerOption, Highlightable {\n private _selected: boolean = false;\n private _disabled: boolean = false;\n private _value: T;\n _active: boolean = false;\n\n /** The id of the option, set to a uniqueid if the user does not provide one. */\n @Input() id = `cdk-option-${nextId++}`;\n\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: boolean) {\n if (!this._disabled) {\n this._selected = coerceBooleanProperty(value);\n }\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** The form value of the option. */\n @Input()\n get value(): T {\n return this._value;\n }\n set value(value: T) {\n if (this.selected && value !== this._value) {\n this.deselect();\n }\n this._value = value;\n }\n\n @Output() readonly selectionChange =\n new EventEmitter<OptionSelectionChangeEvent<T>>();\n\n constructor(private readonly _elementRef: ElementRef,\n @Inject(forwardRef(() => CdkListbox)) readonly listbox: CdkListbox<T>) {\n }\n\n /** Toggles the selected state, emits a change event through the injected listbox. */\n toggle() {\n if (!this._isInteractionDisabled()) {\n this.selected = !this.selected;\n this._emitSelectionChange(true);\n }\n }\n\n /** Sets the active property true if the option and listbox aren't disabled. */\n activate() {\n if (!this._isInteractionDisabled()) {\n this._active = true;\n }\n }\n\n /** Sets the active property false. */\n deactivate() {\n if (!this._isInteractionDisabled()) {\n this._active = false;\n }\n }\n\n /** Sets the selected property true if it was false. */\n select() {\n if (!this.selected) {\n this.selected = true;\n this._emitSelectionChange();\n }\n }\n\n /** Sets the selected property false if it was true. */\n deselect() {\n if (this.selected) {\n this.selected = false;\n this._emitSelectionChange();\n }\n }\n\n /** Applies focus to the option. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n\n /** Returns true if the option or listbox are disabled, and false otherwise. */\n _isInteractionDisabled(): boolean {\n return (this.listbox.disabled || this._disabled);\n }\n\n /** Emits a change event extending the Option Selection Change Event interface. */\n private _emitSelectionChange(isUserInput = false) {\n this.selectionChange.emit({\n source: this,\n isUserInput: isUserInput\n });\n }\n\n /** Returns the tab index which depends on the disabled property. */\n _getTabIndex(): string | null {\n return this._isInteractionDisabled() ? null : '-1';\n }\n\n /** Get the label for this element which is required by the FocusableOption interface. */\n getLabel() {\n // we know that the current node is an element type\n const clone = this._elementRef.nativeElement.cloneNode(true) as Element;\n this._removeIcons(clone);\n\n return clone.textContent?.trim() || '';\n }\n\n /** Remove any child from the given element which can be identified as an icon. */\n private _removeIcons(element: Element) {\n // TODO: make this a configurable function that can removed any desired type of node.\n for (const icon of Array.from(element.querySelectorAll('mat-icon, .material-icons'))) {\n icon.parentNode?.removeChild(icon);\n }\n }\n\n getElementRef() {\n return this._elementRef;\n }\n\n /** Sets the active property to true to enable the active css class. */\n setActiveStyles() {\n this._active = true;\n }\n\n /** Sets the active property to false to disable the active css class. */\n setInactiveStyles() {\n this._active = false;\n }\n\n static ngAcceptInputType_selected: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n\n@Directive({\n selector: '[cdkListbox]',\n exportAs: 'cdkListbox',\n host: {\n 'role': 'listbox',\n 'class': 'cdk-listbox',\n '[id]': 'id',\n '(focus)': '_focusActiveOption()',\n '(keydown)': '_keydown($event)',\n '[attr.tabindex]': '_tabIndex',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-multiselectable]': 'multiple',\n '[attr.aria-activedescendant]': '_getAriaActiveDescendant()',\n '[attr.aria-orientation]': 'orientation'\n },\n providers: [CDK_LISTBOX_VALUE_ACCESSOR]\n})\nexport class CdkListbox<T> implements AfterContentInit, OnDestroy, OnInit, ControlValueAccessor {\n\n _listKeyManager: ActiveDescendantKeyManager<CdkOption<T>>;\n _selectionModel: SelectionModel<CdkOption<T>>;\n _tabIndex = 0;\n\n /** `View -> model callback called when select has been touched` */\n _onTouched: () => void = () => {};\n\n /** `View -> model callback called when value changes` */\n _onChange: (value: T) => void = () => {};\n\n readonly optionSelectionChanges: Observable<OptionSelectionChangeEvent<T>> = defer(() => {\n const options = this._options;\n\n return options.changes.pipe(\n startWith(options),\n switchMap(() => merge(...options.map(option => option.selectionChange)))\n );\n }) as Observable<OptionSelectionChangeEvent<T>>;\n\n private _disabled: boolean = false;\n private _multiple: boolean = false;\n private _useActiveDescendant: boolean = false;\n private _autoFocus: boolean = true;\n private _activeOption: CdkOption<T>;\n private readonly _destroyed = new Subject<void>();\n\n @ContentChildren(CdkOption, {descendants: true}) _options: QueryList<CdkOption<T>>;\n\n @Output() readonly selectionChange =\n new EventEmitter<ListboxSelectionChangeEvent<T>>();\n\n @Input() id = `cdk-listbox-${listboxId++}`;\n\n /**\n * Whether the listbox allows multiple options to be selected.\n * If `multiple` switches from `true` to `false`, all options are deselected.\n */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._updateSelectionOnMultiSelectionChange(value);\n this._multiple = coerceBooleanProperty(value);\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Whether the listbox will use active descendant or will move focus onto the options. */\n @Input()\n get useActiveDescendant(): boolean {\n return this._useActiveDescendant;\n }\n set useActiveDescendant(shouldUseActiveDescendant: boolean) {\n this._useActiveDescendant = coerceBooleanProperty(shouldUseActiveDescendant);\n }\n\n /** Whether on focus the listbox will focus its active option, default to true. */\n @Input()\n get autoFocus(): boolean {\n return this._autoFocus;\n }\n set autoFocus(shouldAutoFocus: boolean) {\n this._autoFocus = coerceBooleanProperty(shouldAutoFocus);\n }\n\n /** Determines the orientation for the list key manager. Affects keyboard interaction. */\n @Input('listboxOrientation') orientation: 'horizontal' | 'vertical' = 'vertical';\n\n @Input() compareWith: (o1: T, o2: T) => boolean = (a1, a2) => a1 === a2;\n\n @Input('parentPanel') private readonly _explicitPanel: CdkComboboxPanel;\n\n constructor(\n @Optional() @Inject(PANEL) readonly _parentPanel?: CdkComboboxPanel<T>,\n @Optional() private readonly _dir?: Directionality\n ) { }\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<CdkOption<T>>(this.multiple);\n }\n\n ngAfterContentInit() {\n this._initKeyManager();\n this._initSelectionModel();\n this._registerWithPanel();\n\n this.optionSelectionChanges.subscribe(event => {\n this._emitChangeEvent(event.source);\n this._updateSelectionModel(event.source);\n this.setActiveOption(event.source);\n this._updatePanelForSelection(event.source);\n });\n }\n\n ngOnDestroy() {\n this._listKeyManager.change.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n private _registerWithPanel(): void {\n const panel = this._parentPanel || this._explicitPanel;\n panel?._registerContent(this.id, 'listbox');\n }\n\n private _initKeyManager() {\n this._listKeyManager = new ActiveDescendantKeyManager(this._options)\n .withWrap()\n .withTypeAhead()\n .withHomeAndEnd()\n .withAllowedModifierKeys(['shiftKey']);\n\n if (this.orientation === 'vertical') {\n this._listKeyManager.withVerticalOrientation();\n } else {\n this._listKeyManager.withHorizontalOrientation(this._dir?.value || 'ltr');\n }\n\n this._listKeyManager.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._updateActiveOption();\n });\n }\n\n private _initSelectionModel() {\n this._selectionModel.changed.pipe(takeUntil(this._destroyed))\n .subscribe((event: SelectionChange<CdkOption<T>>) => {\n\n for (const option of event.added) {\n option.selected = true;\n }\n\n for (const option of event.removed) {\n option.selected = false;\n }\n });\n }\n\n _keydown(event: KeyboardEvent) {\n if (this._disabled) {\n return;\n }\n\n const manager = this._listKeyManager;\n const {keyCode} = event;\n const previousActiveIndex = manager.activeItemIndex;\n\n if (keyCode === SPACE || keyCode === ENTER) {\n if (manager.activeItem && !manager.isTyping()) {\n this._toggleActiveOption();\n }\n event.preventDefault();\n\n } else {\n manager.onKeydown(event);\n }\n\n /** Will select an option if shift was pressed while navigating to the option */\n const isArrow = (keyCode === UP_ARROW\n || keyCode === DOWN_ARROW\n || keyCode === LEFT_ARROW\n || keyCode === RIGHT_ARROW);\n if (isArrow && event.shiftKey && previousActiveIndex !== this._listKeyManager.activeItemIndex) {\n this._toggleActiveOption();\n }\n }\n\n /** Emits a selection change event, called when an option has its selected state changed. */\n _emitChangeEvent(option: CdkOption<T>) {\n this.selectionChange.emit({\n source: this,\n option: option\n });\n }\n\n /** Updates the selection model after a toggle. */\n _updateSelectionModel(option: CdkOption<T>) {\n if (!this.multiple && this._selectionModel.selected.length !== 0) {\n const previouslySelected = this._selectionModel.selected[0];\n this.deselect(previouslySelected);\n }\n\n option.selected ? this._selectionModel.select(option) :\n this._selectionModel.deselect(option);\n }\n\n _updatePanelForSelection(option: CdkOption<T>) {\n const panel = this._parentPanel || this._explicitPanel;\n if (!this.multiple) {\n option.selected ? panel?.closePanel(option.value) : panel?.closePanel();\n } else {\n panel?.closePanel(this.getSelectedValues());\n }\n }\n\n /** Toggles the selected state of the active option if not disabled. */\n private _toggleActiveOption() {\n const activeOption = this._listKeyManager.activeItem;\n if (activeOption && !activeOption.disabled) {\n activeOption.toggle();\n }\n }\n\n /** Returns the id of the active option if active descendant is being used. */\n _getAriaActiveDescendant(): string | null | undefined {\n return this._useActiveDescendant ? this._listKeyManager?.activeItem?.id : null;\n }\n\n /** Updates the activeOption and the active and focus properties of the option. */\n private _updateActiveOption() {\n if (!this._listKeyManager.activeItem) {\n return;\n }\n\n this._activeOption?.deactivate();\n this._activeOption = this._listKeyManager.activeItem;\n this._activeOption.activate();\n\n if (!this.useActiveDescendant) {\n this._activeOption.focus();\n }\n }\n\n /** Updates selection states of options when the 'multiple' property changes. */\n private _updateSelectionOnMultiSelectionChange(value: boolean) {\n if (this.multiple && !value) {\n // Deselect all options instead of arbitrarily keeping one of the selected options.\n this.setAllSelected(false);\n } else if (!this.multiple && value) {\n this._selectionModel =\n new SelectionModel<CdkOption<T>>(value, this._selectionModel?.selected);\n }\n }\n\n _focusActiveOption() {\n if (!this.autoFocus) {\n return;\n }\n\n if (this._listKeyManager.activeItem) {\n this.setActiveOption(this._listKeyManager.activeItem);\n } else if (this._options.first) {\n this.setActiveOption(this._options.first);\n }\n }\n\n /** Selects the given option if the option and listbox aren't disabled. */\n select(option: CdkOption<T>) {\n if (!this.disabled && !option.disabled) {\n option.select();\n }\n }\n\n /** Deselects the given option if the option and listbox aren't disabled. */\n deselect(option: CdkOption<T>) {\n if (!this.disabled && !option.disabled) {\n option.deselect();\n }\n }\n\n /** Sets the selected state of all options to be the given value. */\n setAllSelected(isSelected: boolean) {\n for (const option of this._options.toArray()) {\n isSelected ? this.select(option) : this.deselect(option);\n }\n }\n\n /** Updates the key manager's active item to the given option. */\n setActiveOption(option: CdkOption<T>) {\n this._listKeyManager.updateActiveItem(option);\n this._updateActiveOption();\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Required to implement ControlValueAccessor.\n */\n registerOnChange(fn: (value: T) => void): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Required to implement ControlValueAccessor.\n */\n registerOnTouched(fn: () => {}): void {\n this._onTouched = fn;\n }\n\n /** Sets the select's value. Required to implement ControlValueAccessor. */\n writeValue(values: T | T[]): void {\n if (this._options) {\n this._setSelectionByValue(values);\n }\n }\n\n /** Disables the select. Required to implement ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Returns the values of the currently selected options. */\n getSelectedValues(): T[] {\n return this._options.filter(option => option.selected).map(option => option.value);\n }\n\n /** Selects an option that has the corresponding given value. */\n private _setSelectionByValue(values: T | T[]) {\n for (const option of this._options.toArray()) {\n this.deselect(option);\n }\n\n const valuesArray = coerceArray(values);\n for (const value of valuesArray) {\n const correspondingOption = this._options.find((option: CdkOption<T>) => {\n return option.value != null && this.compareWith(option.value, value);\n });\n\n if (correspondingOption) {\n this.select(correspondingOption);\n if (!this.multiple) {\n return;\n }\n }\n }\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_multiple: BooleanInput;\n static ngAcceptInputType_useActiveDescendant: BooleanInput;\n static ngAcceptInputType_autoFocus: BooleanInput;\n}\n\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport interface ListboxSelectionChangeEvent<T> {\n /** Reference to the listbox that emitted the event. */\n readonly source: CdkListbox<T>;\n\n /** Reference to the option that has been changed. */\n readonly option: CdkOption<T>;\n}\n\n/** Event object emitted by MatOption when selected or deselected. */\nexport interface OptionSelectionChangeEvent<T> {\n /** Reference to the option that emitted the event. */\n source: CdkOption<T>;\n\n /** Whether the change in the option's value was a result of a user action. */\n isUserInput: boolean;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkListbox, CdkOption} from './listbox';\n\nconst EXPORTED_DECLARATIONS = [CdkListbox, CdkOption];\n@NgModule({\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class CdkListboxModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './listbox';\nexport * from './listbox-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","InjectionToken","EventEmitter","coerceBooleanProperty","Directive","ElementRef","Inject","Input","Output","defer","startWith","switchMap","merge","Subject","SelectionModel","ActiveDescendantKeyManager","takeUntil","SPACE","ENTER","UP_ARROW","DOWN_ARROW","LEFT_ARROW","RIGHT_ARROW","coerceArray","CdkComboboxPanel","Optional","Directionality","ContentChildren","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"cdk-experimental-listbox.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/listbox/listbox.ts","../../../../../src/cdk-experimental/listbox/listbox-module.ts","../../../../../src/cdk-experimental/listbox/public-api.ts","../../../../../src/cdk-experimental/listbox/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef, EventEmitter, forwardRef,\n Inject, InjectionToken,\n Input, OnDestroy, OnInit, Optional, Output,\n QueryList\n} from '@angular/core';\nimport {ActiveDescendantKeyManager, Highlightable, ListKeyManagerOption} from '@angular/cdk/a11y';\nimport {DOWN_ARROW, ENTER, SPACE, UP_ARROW, LEFT_ARROW, RIGHT_ARROW} from '@angular/cdk/keycodes';\nimport {BooleanInput, coerceBooleanProperty, coerceArray} from '@angular/cdk/coercion';\nimport {SelectionChange, SelectionModel} from '@angular/cdk/collections';\nimport {defer, merge, Observable, Subject} from 'rxjs';\nimport {startWith, switchMap, takeUntil} from 'rxjs/operators';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CdkComboboxPanel} from '@angular/cdk-experimental/combobox';\nimport {Directionality} from '@angular/cdk/bidi';\n\nlet nextId = 0;\nlet listboxId = 0;\n\nexport const CDK_LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CdkListbox),\n multi: true\n};\n\nexport const PANEL = new InjectionToken<CdkComboboxPanel>('CdkComboboxPanel');\n\n@Directive({\n selector: '[cdkOption]',\n exportAs: 'cdkOption',\n host: {\n 'role': 'option',\n 'class': 'cdk-option',\n '(click)': 'toggle()',\n '(focus)': 'activate()',\n '(blur)': 'deactivate()',\n '[id]': 'id',\n '[attr.aria-selected]': 'selected || null',\n '[attr.tabindex]': '_getTabIndex()',\n '[attr.aria-disabled]': '_isInteractionDisabled()',\n '[class.cdk-option-disabled]': '_isInteractionDisabled()',\n '[class.cdk-option-active]': '_active',\n '[class.cdk-option-selected]': 'selected'\n }\n})\nexport class CdkOption<T = unknown> implements ListKeyManagerOption, Highlightable {\n private _selected: boolean = false;\n private _disabled: boolean = false;\n private _value: T;\n _active: boolean = false;\n\n /** The id of the option, set to a uniqueid if the user does not provide one. */\n @Input() id = `cdk-option-${nextId++}`;\n\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: boolean) {\n if (!this._disabled) {\n this._selected = coerceBooleanProperty(value);\n }\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** The form value of the option. */\n @Input()\n get value(): T {\n return this._value;\n }\n set value(value: T) {\n if (this.selected && value !== this._value) {\n this.deselect();\n }\n this._value = value;\n }\n\n @Output() readonly selectionChange =\n new EventEmitter<OptionSelectionChangeEvent<T>>();\n\n constructor(private readonly _elementRef: ElementRef,\n @Inject(forwardRef(() => CdkListbox)) readonly listbox: CdkListbox<T>) {\n }\n\n /** Toggles the selected state, emits a change event through the injected listbox. */\n toggle() {\n if (!this._isInteractionDisabled()) {\n this.selected = !this.selected;\n this._emitSelectionChange(true);\n }\n }\n\n /** Sets the active property true if the option and listbox aren't disabled. */\n activate() {\n if (!this._isInteractionDisabled()) {\n this._active = true;\n }\n }\n\n /** Sets the active property false. */\n deactivate() {\n if (!this._isInteractionDisabled()) {\n this._active = false;\n }\n }\n\n /** Sets the selected property true if it was false. */\n select() {\n if (!this.selected) {\n this.selected = true;\n this._emitSelectionChange();\n }\n }\n\n /** Sets the selected property false if it was true. */\n deselect() {\n if (this.selected) {\n this.selected = false;\n this._emitSelectionChange();\n }\n }\n\n /** Applies focus to the option. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n\n /** Returns true if the option or listbox are disabled, and false otherwise. */\n _isInteractionDisabled(): boolean {\n return (this.listbox.disabled || this._disabled);\n }\n\n /** Emits a change event extending the Option Selection Change Event interface. */\n private _emitSelectionChange(isUserInput = false) {\n this.selectionChange.emit({\n source: this,\n isUserInput: isUserInput\n });\n }\n\n /** Returns the tab index which depends on the disabled property. */\n _getTabIndex(): string | null {\n return this._isInteractionDisabled() ? null : '-1';\n }\n\n /** Get the label for this element which is required by the FocusableOption interface. */\n getLabel() {\n // we know that the current node is an element type\n const clone = this._elementRef.nativeElement.cloneNode(true) as Element;\n this._removeIcons(clone);\n\n return clone.textContent?.trim() || '';\n }\n\n /** Remove any child from the given element which can be identified as an icon. */\n private _removeIcons(element: Element) {\n // TODO: make this a configurable function that can removed any desired type of node.\n for (const icon of Array.from(element.querySelectorAll('mat-icon, .material-icons'))) {\n icon.parentNode?.removeChild(icon);\n }\n }\n\n getElementRef() {\n return this._elementRef;\n }\n\n /** Sets the active property to true to enable the active css class. */\n setActiveStyles() {\n this._active = true;\n }\n\n /** Sets the active property to false to disable the active css class. */\n setInactiveStyles() {\n this._active = false;\n }\n\n static ngAcceptInputType_selected: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n\n@Directive({\n selector: '[cdkListbox]',\n exportAs: 'cdkListbox',\n host: {\n 'role': 'listbox',\n 'class': 'cdk-listbox',\n '[id]': 'id',\n '(focus)': '_focusActiveOption()',\n '(keydown)': '_keydown($event)',\n '[attr.tabindex]': '_tabIndex',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-multiselectable]': 'multiple',\n '[attr.aria-activedescendant]': '_getAriaActiveDescendant()',\n '[attr.aria-orientation]': 'orientation'\n },\n providers: [CDK_LISTBOX_VALUE_ACCESSOR]\n})\nexport class CdkListbox<T> implements AfterContentInit, OnDestroy, OnInit, ControlValueAccessor {\n\n _listKeyManager: ActiveDescendantKeyManager<CdkOption<T>>;\n _selectionModel: SelectionModel<CdkOption<T>>;\n _tabIndex = 0;\n\n /** `View -> model callback called when select has been touched` */\n _onTouched: () => void = () => {};\n\n /** `View -> model callback called when value changes` */\n _onChange: (value: T) => void = () => {};\n\n readonly optionSelectionChanges: Observable<OptionSelectionChangeEvent<T>> = defer(() => {\n const options = this._options;\n\n return options.changes.pipe(\n startWith(options),\n switchMap(() => merge(...options.map(option => option.selectionChange)))\n );\n }) as Observable<OptionSelectionChangeEvent<T>>;\n\n private _disabled: boolean = false;\n private _multiple: boolean = false;\n private _useActiveDescendant: boolean = false;\n private _autoFocus: boolean = true;\n private _activeOption: CdkOption<T>;\n private readonly _destroyed = new Subject<void>();\n\n @ContentChildren(CdkOption, {descendants: true}) _options: QueryList<CdkOption<T>>;\n\n @Output() readonly selectionChange =\n new EventEmitter<ListboxSelectionChangeEvent<T>>();\n\n @Input() id = `cdk-listbox-${listboxId++}`;\n\n /**\n * Whether the listbox allows multiple options to be selected.\n * If `multiple` switches from `true` to `false`, all options are deselected.\n */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._updateSelectionOnMultiSelectionChange(value);\n this._multiple = coerceBooleanProperty(value);\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Whether the listbox will use active descendant or will move focus onto the options. */\n @Input()\n get useActiveDescendant(): boolean {\n return this._useActiveDescendant;\n }\n set useActiveDescendant(shouldUseActiveDescendant: boolean) {\n this._useActiveDescendant = coerceBooleanProperty(shouldUseActiveDescendant);\n }\n\n /** Whether on focus the listbox will focus its active option, default to true. */\n @Input()\n get autoFocus(): boolean {\n return this._autoFocus;\n }\n set autoFocus(shouldAutoFocus: boolean) {\n this._autoFocus = coerceBooleanProperty(shouldAutoFocus);\n }\n\n /** Determines the orientation for the list key manager. Affects keyboard interaction. */\n @Input('listboxOrientation') orientation: 'horizontal' | 'vertical' = 'vertical';\n\n @Input() compareWith: (o1: T, o2: T) => boolean = (a1, a2) => a1 === a2;\n\n @Input('parentPanel') private readonly _explicitPanel: CdkComboboxPanel;\n\n constructor(\n @Optional() @Inject(PANEL) readonly _parentPanel?: CdkComboboxPanel<T>,\n @Optional() private readonly _dir?: Directionality\n ) { }\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<CdkOption<T>>(this.multiple);\n }\n\n ngAfterContentInit() {\n this._initKeyManager();\n this._initSelectionModel();\n this._registerWithPanel();\n\n this.optionSelectionChanges.subscribe(event => {\n this._emitChangeEvent(event.source);\n this._updateSelectionModel(event.source);\n this.setActiveOption(event.source);\n this._updatePanelForSelection(event.source);\n });\n }\n\n ngOnDestroy() {\n this._listKeyManager.change.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n private _registerWithPanel(): void {\n const panel = this._parentPanel || this._explicitPanel;\n panel?._registerContent(this.id, 'listbox');\n }\n\n private _initKeyManager() {\n this._listKeyManager = new ActiveDescendantKeyManager(this._options)\n .withWrap()\n .withTypeAhead()\n .withHomeAndEnd()\n .withAllowedModifierKeys(['shiftKey']);\n\n if (this.orientation === 'vertical') {\n this._listKeyManager.withVerticalOrientation();\n } else {\n this._listKeyManager.withHorizontalOrientation(this._dir?.value || 'ltr');\n }\n\n this._listKeyManager.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._updateActiveOption();\n });\n }\n\n private _initSelectionModel() {\n this._selectionModel.changed.pipe(takeUntil(this._destroyed))\n .subscribe((event: SelectionChange<CdkOption<T>>) => {\n\n for (const option of event.added) {\n option.selected = true;\n }\n\n for (const option of event.removed) {\n option.selected = false;\n }\n });\n }\n\n _keydown(event: KeyboardEvent) {\n if (this._disabled) {\n return;\n }\n\n const manager = this._listKeyManager;\n const {keyCode} = event;\n const previousActiveIndex = manager.activeItemIndex;\n\n if (keyCode === SPACE || keyCode === ENTER) {\n if (manager.activeItem && !manager.isTyping()) {\n this._toggleActiveOption();\n }\n event.preventDefault();\n\n } else {\n manager.onKeydown(event);\n }\n\n /** Will select an option if shift was pressed while navigating to the option */\n const isArrow = (keyCode === UP_ARROW\n || keyCode === DOWN_ARROW\n || keyCode === LEFT_ARROW\n || keyCode === RIGHT_ARROW);\n if (isArrow && event.shiftKey && previousActiveIndex !== this._listKeyManager.activeItemIndex) {\n this._toggleActiveOption();\n }\n }\n\n /** Emits a selection change event, called when an option has its selected state changed. */\n _emitChangeEvent(option: CdkOption<T>) {\n this.selectionChange.emit({\n source: this,\n option: option\n });\n }\n\n /** Updates the selection model after a toggle. */\n _updateSelectionModel(option: CdkOption<T>) {\n if (!this.multiple && this._selectionModel.selected.length !== 0) {\n const previouslySelected = this._selectionModel.selected[0];\n this.deselect(previouslySelected);\n }\n\n option.selected ? this._selectionModel.select(option) :\n this._selectionModel.deselect(option);\n }\n\n _updatePanelForSelection(option: CdkOption<T>) {\n const panel = this._parentPanel || this._explicitPanel;\n if (!this.multiple) {\n option.selected ? panel?.closePanel(option.value) : panel?.closePanel();\n } else {\n panel?.closePanel(this.getSelectedValues());\n }\n }\n\n /** Toggles the selected state of the active option if not disabled. */\n private _toggleActiveOption() {\n const activeOption = this._listKeyManager.activeItem;\n if (activeOption && !activeOption.disabled) {\n activeOption.toggle();\n }\n }\n\n /** Returns the id of the active option if active descendant is being used. */\n _getAriaActiveDescendant(): string | null | undefined {\n return this._useActiveDescendant ? this._listKeyManager?.activeItem?.id : null;\n }\n\n /** Updates the activeOption and the active and focus properties of the option. */\n private _updateActiveOption() {\n if (!this._listKeyManager.activeItem) {\n return;\n }\n\n this._activeOption?.deactivate();\n this._activeOption = this._listKeyManager.activeItem;\n this._activeOption.activate();\n\n if (!this.useActiveDescendant) {\n this._activeOption.focus();\n }\n }\n\n /** Updates selection states of options when the 'multiple' property changes. */\n private _updateSelectionOnMultiSelectionChange(value: boolean) {\n if (this.multiple && !value) {\n // Deselect all options instead of arbitrarily keeping one of the selected options.\n this.setAllSelected(false);\n } else if (!this.multiple && value) {\n this._selectionModel =\n new SelectionModel<CdkOption<T>>(value, this._selectionModel?.selected);\n }\n }\n\n _focusActiveOption() {\n if (!this.autoFocus) {\n return;\n }\n\n if (this._listKeyManager.activeItem) {\n this.setActiveOption(this._listKeyManager.activeItem);\n } else if (this._options.first) {\n this.setActiveOption(this._options.first);\n }\n }\n\n /** Selects the given option if the option and listbox aren't disabled. */\n select(option: CdkOption<T>) {\n if (!this.disabled && !option.disabled) {\n option.select();\n }\n }\n\n /** Deselects the given option if the option and listbox aren't disabled. */\n deselect(option: CdkOption<T>) {\n if (!this.disabled && !option.disabled) {\n option.deselect();\n }\n }\n\n /** Sets the selected state of all options to be the given value. */\n setAllSelected(isSelected: boolean) {\n for (const option of this._options.toArray()) {\n isSelected ? this.select(option) : this.deselect(option);\n }\n }\n\n /** Updates the key manager's active item to the given option. */\n setActiveOption(option: CdkOption<T>) {\n this._listKeyManager.updateActiveItem(option);\n this._updateActiveOption();\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Required to implement ControlValueAccessor.\n */\n registerOnChange(fn: (value: T) => void): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Required to implement ControlValueAccessor.\n */\n registerOnTouched(fn: () => {}): void {\n this._onTouched = fn;\n }\n\n /** Sets the select's value. Required to implement ControlValueAccessor. */\n writeValue(values: T | T[]): void {\n if (this._options) {\n this._setSelectionByValue(values);\n }\n }\n\n /** Disables the select. Required to implement ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Returns the values of the currently selected options. */\n getSelectedValues(): T[] {\n return this._options.filter(option => option.selected).map(option => option.value);\n }\n\n /** Selects an option that has the corresponding given value. */\n private _setSelectionByValue(values: T | T[]) {\n for (const option of this._options.toArray()) {\n this.deselect(option);\n }\n\n const valuesArray = coerceArray(values);\n for (const value of valuesArray) {\n const correspondingOption = this._options.find((option: CdkOption<T>) => {\n return option.value != null && this.compareWith(option.value, value);\n });\n\n if (correspondingOption) {\n this.select(correspondingOption);\n if (!this.multiple) {\n return;\n }\n }\n }\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_multiple: BooleanInput;\n static ngAcceptInputType_useActiveDescendant: BooleanInput;\n static ngAcceptInputType_autoFocus: BooleanInput;\n}\n\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport interface ListboxSelectionChangeEvent<T> {\n /** Reference to the listbox that emitted the event. */\n readonly source: CdkListbox<T>;\n\n /** Reference to the option that has been changed. */\n readonly option: CdkOption<T>;\n}\n\n/** Event object emitted by MatOption when selected or deselected. */\nexport interface OptionSelectionChangeEvent<T> {\n /** Reference to the option that emitted the event. */\n source: CdkOption<T>;\n\n /** Whether the change in the option's value was a result of a user action. */\n isUserInput: boolean;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkListbox, CdkOption} from './listbox';\n\nconst EXPORTED_DECLARATIONS = [CdkListbox, CdkOption];\n@NgModule({\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class CdkListboxModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './listbox';\nexport * from './listbox-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","InjectionToken","EventEmitter","coerceBooleanProperty","Directive","ElementRef","Inject","Input","Output","defer","startWith","switchMap","merge","Subject","SelectionModel","ActiveDescendantKeyManager","takeUntil","SPACE","ENTER","UP_ARROW","DOWN_ARROW","LEFT_ARROW","RIGHT_ARROW","coerceArray","CdkComboboxPanel","Optional","Directionality","ContentChildren","NgModule"],"mappings":"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"}
@@ -261,7 +261,7 @@
261
261
  ar[i] = from[i];
262
262
  }
263
263
  }
264
- return to.concat(ar || from);
264
+ return to.concat(ar || Array.prototype.slice.call(from));
265
265
  }
266
266
  function __await(v) {
267
267
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-experimental-menu.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/menu/menu-interface.ts","../../../../../src/cdk-experimental/menu/menu-stack.ts","../../../../../src/cdk-experimental/menu/menu-errors.ts","../../../../../src/cdk-experimental/menu/menu-aim.ts","../../../../../src/cdk-experimental/menu/menu-item-trigger.ts","../../../../../src/cdk-experimental/menu/menu-item.ts","../../../../../src/cdk-experimental/menu/menu-item-selectable.ts","../../../../../src/cdk-experimental/menu/menu-group.ts","../../../../../src/cdk-experimental/menu/menu-panel.ts","../../../../../src/cdk-experimental/menu/pointer-focus-tracker.ts","../../../../../src/cdk-experimental/menu/menu.ts","../../../../../src/cdk-experimental/menu/menu-bar.ts","../../../../../src/cdk-experimental/menu/menu-item-radio.ts","../../../../../src/cdk-experimental/menu/menu-item-checkbox.ts","../../../../../src/cdk-experimental/menu/context-menu.ts","../../../../../src/cdk-experimental/menu/menu-module.ts","../../../../../src/cdk-experimental/menu/public-api.ts","../../../../../src/cdk-experimental/menu/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken, ElementRef} from '@angular/core';\nimport {MenuStackItem} from './menu-stack';\nimport {FocusOrigin} from '@angular/cdk/a11y';\n\n/** Injection token used to return classes implementing the Menu interface */\nexport const CDK_MENU = new InjectionToken<Menu>('cdk-menu');\n\n/** Interface which specifies Menu operations and used to break circular dependency issues */\nexport interface Menu extends MenuStackItem {\n /** The element the Menu directive is placed on. */\n _elementRef: ElementRef<HTMLElement>;\n\n /** The orientation of the menu */\n orientation: 'horizontal' | 'vertical';\n\n /** Place focus on the first MenuItem in the menu. */\n focusFirstItem(focusOrigin: FocusOrigin): void;\n\n /** Place focus on the last MenuItem in the menu. */\n focusLastItem(focusOrigin: FocusOrigin): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Subject, Observable} from 'rxjs';\n\n/** Events to emit as specified by the caller once the MenuStack is empty. */\nexport const enum FocusNext {\n nextItem,\n previousItem,\n currentItem,\n}\n\n/**\n * Interface for the elements tracked in the MenuStack.\n */\nexport interface MenuStackItem {\n /** A reference to the previous Menus MenuStack instance. */\n _menuStack: MenuStack | null;\n}\n\n/**\n * MenuStack allows subscribers to listen for close events (when a MenuStackItem is popped off\n * of the stack) in order to perform closing actions. Upon the MenuStack being empty it emits\n * from the `empty` observable specifying the next focus action which the listener should perform\n * as requested by the closer.\n */\nexport class MenuStack {\n /** All MenuStackItems tracked by this MenuStack. */\n private readonly _elements: MenuStackItem[] = [];\n\n /** Emits the element which was popped off of the stack when requested by a closer. */\n private readonly _close: Subject<MenuStackItem | undefined> = new Subject();\n\n /** Emits once the MenuStack has become empty after popping off elements. */\n private readonly _empty: Subject<FocusNext | undefined> = new Subject();\n\n /** Observable which emits the MenuStackItem which has been requested to close. */\n readonly closed: Observable<MenuStackItem | undefined> = this._close;\n\n /**\n * Observable which emits when the MenuStack is empty after popping off the last element. It\n * emits a FocusNext event which specifies the action the closer has requested the listener\n * perform.\n */\n readonly emptied: Observable<FocusNext | undefined> = this._empty;\n\n /** @param menu the MenuStackItem to put on the stack. */\n push(menu: MenuStackItem) {\n this._elements.push(menu);\n }\n\n /**\n * Pop items off of the stack up to and including `lastItem` and emit each on the close\n * observable. If the stack is empty or `lastItem` is not on the stack it does nothing.\n * @param lastItem the last item to pop off the stack.\n * @param focusNext the event to emit on the `empty` observable if the method call resulted in an\n * empty stack. Does not emit if the stack was initially empty or if `lastItem` was not on the\n * stack.\n */\n close(lastItem: MenuStackItem, focusNext?: FocusNext) {\n if (this._elements.indexOf(lastItem) >= 0) {\n let poppedElement: MenuStackItem | undefined;\n do {\n poppedElement = this._elements.pop();\n this._close.next(poppedElement);\n } while (poppedElement !== lastItem);\n\n if (this.isEmpty()) {\n this._empty.next(focusNext);\n }\n }\n }\n\n /**\n * Pop items off of the stack up to but excluding `lastItem` and emit each on the close\n * observable. If the stack is empty or `lastItem` is not on the stack it does nothing.\n * @param lastItem the element which should be left on the stack\n * @return whether or not an item was removed from the stack\n */\n closeSubMenuOf(lastItem: MenuStackItem) {\n let removed = false;\n if (this._elements.indexOf(lastItem) >= 0) {\n removed = this.peek() !== lastItem;\n while (this.peek() !== lastItem) {\n this._close.next(this._elements.pop());\n }\n }\n return removed;\n }\n\n /**\n * Pop off all MenuStackItems and emit each one on the `close` observable one by one.\n * @param focusNext the event to emit on the `empty` observable once the stack is emptied. Does\n * not emit if the stack was initially empty.\n */\n closeAll(focusNext?: FocusNext) {\n if (!this.isEmpty()) {\n while (!this.isEmpty()) {\n const menuStackItem = this._elements.pop();\n if (menuStackItem) {\n this._close.next(menuStackItem);\n }\n }\n\n this._empty.next(focusNext);\n }\n }\n\n /** Return true if this stack is empty. */\n isEmpty() {\n return !this._elements.length;\n }\n\n /** Return the length of the stack. */\n length() {\n return this._elements.length;\n }\n\n /** Get the top most element on the stack. */\n peek(): MenuStackItem | undefined {\n return this._elements[this._elements.length - 1];\n }\n}\n\n/** NoopMenuStack is a placeholder MenuStack used for inline menus. */\nexport class NoopMenuStack extends MenuStack {\n /** Noop push - does not add elements to the MenuStack. */\n override push(_: MenuStackItem) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Throws an exception when a menu panel already has a menu stack.\n * @docs-private\n */\nexport function throwExistingMenuStackError() {\n throw Error(\n 'CdkMenuPanel is already referenced by different CdkMenuTrigger. Ensure that a menu is' +\n ' opened by a single trigger only.'\n );\n}\n\n/**\n * Throws an exception when an instance of the PointerFocusTracker is not provided.\n * @docs-private\n */\nexport function throwMissingPointerFocusTracker() {\n throw Error('expected an instance of PointerFocusTracker to be provided');\n}\n\n/**\n * Throws an exception when a reference to the parent menu is not provided.\n * @docs-private\n */\nexport function throwMissingMenuReference() {\n throw Error('expected a reference to the parent menu');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone, OnDestroy, InjectionToken, Directive} from '@angular/core';\nimport {fromEvent, Subject} from 'rxjs';\nimport {takeUntil, filter} from 'rxjs/operators';\nimport {PointerFocusTracker, FocusableElement} from './pointer-focus-tracker';\nimport {Menu} from './menu-interface';\nimport {throwMissingPointerFocusTracker, throwMissingMenuReference} from './menu-errors';\n\n/**\n * MenuAim is responsible for determining if a sibling menuitem's menu should be closed when a\n * Toggler item is hovered into. It is up to the hovered in item to call the MenuAim service in\n * order to determine if it may perform its close actions.\n */\nexport interface MenuAim {\n /** Set the Menu and its PointerFocusTracker. */\n initialize(menu: Menu, pointerTracker: PointerFocusTracker<FocusableElement & Toggler>): void;\n\n /**\n * Calls the `doToggle` callback when it is deemed that the user is not moving towards\n * the submenu.\n * @param doToggle the function called when the user is not moving towards the submenu.\n */\n toggle(doToggle: () => void): void;\n}\n\n/** Injection token used for an implementation of MenuAim. */\nexport const MENU_AIM = new InjectionToken<MenuAim>('cdk-menu-aim');\n\n/** Capture every nth mouse move event. */\nconst MOUSE_MOVE_SAMPLE_FREQUENCY = 3;\n\n/** The number of mouse move events to track. */\nconst NUM_POINTS = 5;\n\n/**\n * How long to wait before closing a sibling menu if a user stops short of the submenu they were\n * predicted to go into.\n */\nconst CLOSE_DELAY = 300;\n\n/**\n * An element which when hovered over may perform closing actions on the open submenu and\n * potentially open its own menu.\n */\nexport interface Toggler {\n getMenu(): Menu | undefined;\n}\n\n/** Calculate the slope between point a and b. */\nfunction getSlope(a: Point, b: Point) {\n return (b.y - a.y) / (b.x - a.x);\n}\n\n/** Calculate the y intercept for the given point and slope. */\nfunction getYIntercept(point: Point, slope: number) {\n return point.y - slope * point.x;\n}\n\n/** Represents a coordinate of mouse travel. */\ntype Point = {x: number; y: number};\n\n/**\n * Whether the given mouse trajectory line defined by the slope and y intercept falls within the\n * submenu as defined by `submenuPoints`\n * @param submenuPoints the submenu DOMRect points.\n * @param m the slope of the trajectory line.\n * @param b the y intercept of the trajectory line.\n *\n * @return true if any point on the line falls within the submenu.\n */\nfunction isWithinSubmenu(submenuPoints: DOMRect, m: number, b: number) {\n const {left, right, top, bottom} = submenuPoints;\n\n // Check for intersection with each edge of the submenu (left, right, top, bottom)\n // by fixing one coordinate to that edge's coordinate (either x or y) and checking if the\n // other coordinate is within bounds.\n return (\n (m * left + b >= top && m * left + b <= bottom) ||\n (m * right + b >= top && m * right + b <= bottom) ||\n ((top - b) / m >= left && (top - b) / m <= right) ||\n ((bottom - b) / m >= left && (bottom - b) / m <= right)\n );\n}\n/**\n * TargetMenuAim predicts if a user is moving into a submenu. It calculates the\n * trajectory of the user's mouse movement in the current menu to determine if the\n * mouse is moving towards an open submenu.\n *\n * The determination is made by calculating the slope of the users last NUM_POINTS moves where each\n * pair of points determines if the trajectory line points into the submenu. It uses consensus\n * approach by checking if at least NUM_POINTS / 2 pairs determine that the user is moving towards\n * to submenu.\n */\n@Injectable()\nexport class TargetMenuAim implements MenuAim, OnDestroy {\n /** The last NUM_POINTS mouse move events. */\n private readonly _points: Point[] = [];\n\n /** Reference to the root menu in which we are tracking mouse moves. */\n private _menu: Menu;\n\n /** Reference to the root menu's mouse manager. */\n private _pointerTracker: PointerFocusTracker<Toggler & FocusableElement>;\n\n /** The id associated with the current timeout call waiting to resolve. */\n private _timeoutId: number | null;\n\n /** Emits when this service is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject();\n\n constructor(private readonly _ngZone: NgZone) {}\n\n /** Set the Menu and its PointerFocusTracker. */\n initialize(menu: Menu, pointerTracker: PointerFocusTracker<FocusableElement & Toggler>) {\n this._menu = menu;\n this._pointerTracker = pointerTracker;\n this._subscribeToMouseMoves();\n }\n\n /**\n * Calls the `doToggle` callback when it is deemed that the user is not moving towards\n * the submenu.\n * @param doToggle the function called when the user is not moving towards the submenu.\n */\n toggle(doToggle: () => void) {\n // If the menu is horizontal the sub-menus open below and there is no risk of premature\n // closing of any sub-menus therefore we automatically resolve the callback.\n if (this._menu.orientation === 'horizontal') {\n doToggle();\n }\n\n this._checkConfigured();\n\n const siblingItemIsWaiting = !!this._timeoutId;\n const hasPoints = this._points.length > 1;\n\n if (hasPoints && !siblingItemIsWaiting) {\n if (this._isMovingToSubmenu()) {\n this._startTimeout(doToggle);\n } else {\n doToggle();\n }\n } else if (!siblingItemIsWaiting) {\n doToggle();\n }\n }\n\n /**\n * Start the delayed toggle handler if one isn't running already.\n *\n * The delayed toggle handler executes the `doToggle` callback after some period of time iff the\n * users mouse is on an item in the current menu.\n */\n private _startTimeout(doToggle: () => void) {\n // If the users mouse is moving towards a submenu we don't want to immediately resolve.\n // Wait for some period of time before determining if the previous menu should close in\n // cases where the user may have moved towards the submenu but stopped on a sibling menu\n // item intentionally.\n const timeoutId = (setTimeout(() => {\n // Resolve if the user is currently moused over some element in the root menu\n if (this._pointerTracker!.activeElement && timeoutId === this._timeoutId) {\n doToggle();\n }\n this._timeoutId = null;\n }, CLOSE_DELAY) as any) as number;\n\n this._timeoutId = timeoutId;\n }\n\n /** Whether the user is heading towards the open submenu. */\n private _isMovingToSubmenu() {\n const submenuPoints = this._getSubmenuBounds();\n if (!submenuPoints) {\n return false;\n }\n\n let numMoving = 0;\n const currPoint = this._points[this._points.length - 1];\n // start from the second last point and calculate the slope between each point and the last\n // point.\n for (let i = this._points.length - 2; i >= 0; i--) {\n const previous = this._points[i];\n const slope = getSlope(currPoint, previous);\n if (isWithinSubmenu(submenuPoints, slope, getYIntercept(currPoint, slope))) {\n numMoving++;\n }\n }\n return numMoving >= Math.floor(NUM_POINTS / 2);\n }\n\n /** Get the bounding DOMRect for the open submenu. */\n private _getSubmenuBounds(): DOMRect | undefined {\n return this._pointerTracker?.previousElement\n ?.getMenu()\n ?._elementRef.nativeElement.getBoundingClientRect();\n }\n\n /**\n * Check if a reference to the PointerFocusTracker and menu element is provided.\n * @throws an error if neither reference is provided.\n */\n private _checkConfigured() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._pointerTracker) {\n throwMissingPointerFocusTracker();\n }\n if (!this._menu) {\n throwMissingMenuReference();\n }\n }\n }\n\n /** Subscribe to the root menus mouse move events and update the tracked mouse points. */\n private _subscribeToMouseMoves() {\n this._ngZone.runOutsideAngular(() => {\n fromEvent<MouseEvent>(this._menu._elementRef.nativeElement, 'mousemove')\n .pipe(\n filter((_: MouseEvent, index: number) => index % MOUSE_MOVE_SAMPLE_FREQUENCY === 0),\n takeUntil(this._destroyed)\n )\n .subscribe((event: MouseEvent) => {\n this._points.push({x: event.clientX, y: event.clientY});\n if (this._points.length > NUM_POINTS) {\n this._points.shift();\n }\n });\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n}\n\n/**\n * CdkTargetMenuAim is a provider for the TargetMenuAim service. It should be added to an\n * element with either the `cdkMenu` or `cdkMenuBar` directive and child menu items.\n */\n@Directive({\n selector: '[cdkTargetMenuAim]',\n exportAs: 'cdkTargetMenuAim',\n providers: [{provide: MENU_AIM, useClass: TargetMenuAim}],\n})\nexport class CdkTargetMenuAim {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n ViewContainerRef,\n Inject,\n OnDestroy,\n Optional,\n NgZone,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n OverlayRef,\n Overlay,\n OverlayConfig,\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n} from '@angular/cdk/overlay';\nimport {SPACE, ENTER, RIGHT_ARROW, LEFT_ARROW, DOWN_ARROW, UP_ARROW} from '@angular/cdk/keycodes';\nimport {fromEvent, Subject, merge} from 'rxjs';\nimport {takeUntil, filter} from 'rxjs/operators';\nimport {CdkMenuPanel} from './menu-panel';\nimport {Menu, CDK_MENU} from './menu-interface';\nimport {FocusNext, MenuStack} from './menu-stack';\nimport {throwExistingMenuStackError} from './menu-errors';\nimport {MENU_AIM, MenuAim} from './menu-aim';\n\n/**\n * Whether the target element is a menu item to be ignored by the overlay background click handler.\n */\nexport function isClickInsideMenuOverlay(target: Element): boolean {\n while (target?.parentElement) {\n const isOpenTrigger =\n target.getAttribute('aria-expanded') === 'true' &&\n target.classList.contains('cdk-menu-trigger');\n const isOverlayMenu =\n target.classList.contains('cdk-menu') && !target.classList.contains('cdk-menu-inline');\n\n if (isOpenTrigger || isOverlayMenu) {\n return true;\n }\n target = target.parentElement;\n }\n return false;\n}\n\n/**\n * A directive to be combined with CdkMenuItem which opens the Menu it is bound to. If the\n * element is in a top level MenuBar it will open the menu on click, or if a sibling is already\n * opened it will open on hover. If it is inside of a Menu it will open the attached Submenu on\n * hover regardless of its sibling state.\n *\n * The directive must be placed along with the `cdkMenuItem` directive in order to enable full\n * functionality.\n */\n@Directive({\n selector: '[cdkMenuTriggerFor]',\n exportAs: 'cdkMenuTriggerFor',\n host: {\n '(keydown)': '_toggleOnKeydown($event)',\n '(click)': 'toggle()',\n 'class': 'cdk-menu-trigger',\n 'aria-haspopup': 'menu',\n '[attr.aria-expanded]': 'isMenuOpen()',\n },\n})\nexport class CdkMenuItemTrigger implements OnDestroy {\n /** Template reference variable to the menu this trigger opens */\n @Input('cdkMenuTriggerFor')\n get menuPanel(): CdkMenuPanel | undefined {\n return this._menuPanel;\n }\n set menuPanel(panel: CdkMenuPanel | undefined) {\n // If the provided panel already has a stack, that means it already has a trigger configured.\n // Note however that there are some edge cases where two triggers **may** share the same menu,\n // e.g. two triggers in two separate menus.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && panel?._menuStack) {\n throwExistingMenuStackError();\n }\n\n this._menuPanel = panel;\n if (this._menuPanel) {\n this._menuPanel._menuStack = this._getMenuStack();\n }\n }\n\n /** Reference to the MenuPanel this trigger toggles. */\n private _menuPanel?: CdkMenuPanel;\n\n /** Emits when the attached menu is requested to open */\n @Output('cdkMenuOpened') readonly opened: EventEmitter<void> = new EventEmitter();\n\n /** Emits when the attached menu is requested to close */\n @Output('cdkMenuClosed') readonly closed: EventEmitter<void> = new EventEmitter();\n\n /** The menu stack for this trigger and its sub-menus. */\n _menuStack: MenuStack = new MenuStack();\n\n /** A reference to the overlay which manages the triggered menu */\n private _overlayRef: OverlayRef | null = null;\n\n /** The content of the menu panel opened by this trigger. */\n private _panelContent: TemplatePortal;\n\n /** Emits when this trigger is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject();\n\n /** Emits when the outside pointer events listener on the overlay should be stopped. */\n private readonly _stopOutsideClicksListener = merge(this.closed, this._destroyed);\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n protected readonly _viewContainerRef: ViewContainerRef,\n private readonly _overlay: Overlay,\n private readonly _ngZone: NgZone,\n @Optional() @Inject(CDK_MENU) private readonly _parentMenu?: Menu,\n @Optional() @Inject(MENU_AIM) private readonly _menuAim?: MenuAim,\n @Optional() private readonly _directionality?: Directionality\n ) {\n this._registerCloseHandler();\n this._subscribeToMouseEnter();\n }\n\n /** Open/close the attached menu if the trigger has been configured with one */\n toggle() {\n if (this.hasMenu()) {\n this.isMenuOpen() ? this.closeMenu() : this.openMenu();\n }\n }\n\n /** Open the attached menu. */\n openMenu() {\n if (!this.isMenuOpen()) {\n this.opened.next();\n\n this._overlayRef = this._overlayRef || this._overlay.create(this._getOverlayConfig());\n this._overlayRef.attach(this._getPortal());\n this._subscribeToOutsideClicks();\n }\n }\n\n /** Close the opened menu. */\n closeMenu() {\n if (this.isMenuOpen()) {\n this.closed.next();\n\n this._overlayRef!.detach();\n }\n this._closeSiblingTriggers();\n }\n\n /** Return true if the trigger has an attached menu */\n hasMenu() {\n return !!this.menuPanel;\n }\n\n /** Whether the menu this button is a trigger for is open */\n isMenuOpen() {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n /**\n * Get a reference to the rendered Menu if the Menu is open and it is visible in the DOM.\n * @return the menu if it is open, otherwise undefined.\n */\n getMenu(): Menu | undefined {\n return this.menuPanel?._menu;\n }\n\n /**\n * Subscribe to the mouseenter events and close any sibling menu items if this element is moused\n * into.\n */\n private _subscribeToMouseEnter() {\n // Closes any sibling menu items and opens the menu associated with this trigger.\n const toggleMenus = () =>\n this._ngZone.run(() => {\n this._closeSiblingTriggers();\n this.openMenu();\n });\n\n this._ngZone.runOutsideAngular(() => {\n fromEvent(this._elementRef.nativeElement, 'mouseenter')\n .pipe(\n filter(() => !this._getMenuStack()?.isEmpty() && !this.isMenuOpen()),\n takeUntil(this._destroyed)\n )\n .subscribe(() => {\n if (this._menuAim) {\n this._menuAim.toggle(toggleMenus);\n } else {\n toggleMenus();\n }\n });\n });\n }\n\n /**\n * Handles keyboard events for the menu item, specifically opening/closing the attached menu and\n * focusing the appropriate submenu item.\n * @param event the keyboard event to handle\n */\n _toggleOnKeydown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n switch (keyCode) {\n case SPACE:\n case ENTER:\n event.preventDefault();\n this.toggle();\n this.menuPanel?._menu?.focusFirstItem('keyboard');\n break;\n\n case RIGHT_ARROW:\n if (this._parentMenu && this._isParentVertical()) {\n event.preventDefault();\n if (this._directionality?.value === 'rtl') {\n this._getMenuStack().close(this._parentMenu, FocusNext.currentItem);\n } else {\n this.openMenu();\n this.menuPanel?._menu?.focusFirstItem('keyboard');\n }\n }\n break;\n\n case LEFT_ARROW:\n if (this._parentMenu && this._isParentVertical()) {\n event.preventDefault();\n if (this._directionality?.value === 'rtl') {\n this.openMenu();\n this.menuPanel?._menu?.focusFirstItem('keyboard');\n } else {\n this._getMenuStack().close(this._parentMenu, FocusNext.currentItem);\n }\n }\n break;\n\n case DOWN_ARROW:\n case UP_ARROW:\n if (!this._isParentVertical()) {\n event.preventDefault();\n this.openMenu();\n keyCode === DOWN_ARROW\n ? this.menuPanel?._menu?.focusFirstItem('keyboard')\n : this.menuPanel?._menu?.focusLastItem('keyboard');\n }\n break;\n }\n }\n\n /** Close out any sibling menu trigger menus. */\n private _closeSiblingTriggers() {\n if (this._parentMenu) {\n const menuStack = this._getMenuStack();\n\n // If nothing was removed from the stack and the last element is not the parent item\n // that means that the parent menu is a menu bar since we don't put the menu bar on the\n // stack\n const isParentMenuBar =\n !menuStack.closeSubMenuOf(this._parentMenu) && menuStack.peek() !== this._parentMenu;\n\n if (isParentMenuBar) {\n menuStack.closeAll();\n }\n } else {\n this._getMenuStack().closeAll();\n }\n }\n\n /** Get the configuration object used to create the overlay */\n private _getOverlayConfig() {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPositionStrategy(),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n direction: this._directionality,\n });\n }\n\n /** Build the position strategy for the overlay which specifies where to place the menu */\n private _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withPositions(this._getOverlayPositions());\n }\n\n /** Determine and return where to position the opened menu relative to the menu item */\n private _getOverlayPositions(): ConnectedPosition[] {\n // TODO: use a common positioning config from (possibly) cdk/overlay\n return !this._parentMenu || this._parentMenu.orientation === 'horizontal'\n ? [\n {originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top'},\n {originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom'},\n {originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top'},\n {originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom'},\n ]\n : [\n {originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top'},\n {originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom'},\n {originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'top'},\n {originX: 'start', originY: 'bottom', overlayX: 'end', overlayY: 'bottom'},\n ];\n }\n\n /**\n * Get the portal to be attached to the overlay which contains the menu. Allows for the menu\n * content to change dynamically and be reflected in the application.\n */\n private _getPortal() {\n const hasMenuContentChanged = this.menuPanel?._templateRef !== this._panelContent?.templateRef;\n if (this.menuPanel && (!this._panelContent || hasMenuContentChanged)) {\n this._panelContent = new TemplatePortal(this.menuPanel._templateRef, this._viewContainerRef);\n }\n\n return this._panelContent;\n }\n\n /**\n * @return true if if the enclosing parent menu is configured in a vertical orientation.\n */\n private _isParentVertical() {\n return this._parentMenu?.orientation === 'vertical';\n }\n\n /**\n * Subscribe to the MenuStack close events if this is a standalone trigger and close out the menu\n * this triggers when requested.\n */\n private _registerCloseHandler() {\n if (!this._parentMenu) {\n this._menuStack.closed.pipe(takeUntil(this._destroyed)).subscribe(item => {\n if (item === this._menuPanel?._menu) {\n this.closeMenu();\n }\n });\n }\n }\n\n /** Get the menu stack for this trigger - either from the parent or this trigger. */\n private _getMenuStack() {\n // We use a function since at the construction of the MenuItemTrigger the parent Menu won't have\n // its menu stack set. Therefore we need to reference the menu stack from the parent each time\n // we want to use it.\n return this._parentMenu?._menuStack || this._menuStack;\n }\n\n ngOnDestroy() {\n this._destroyOverlay();\n this._resetPanelMenuStack();\n\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Set the menu panels menu stack back to null. */\n private _resetPanelMenuStack() {\n // If a CdkMenuTrigger is placed in a submenu, each time the trigger is rendered (its parent\n // menu is opened) the panel setter for CdkMenuPanel is called. From the first render onward,\n // the attached CdkMenuPanel has the MenuStack set. Since we throw an error if a panel already\n // has a stack set, we want to reset the attached stack here to prevent the error from being\n // thrown if the trigger re-configures its attached panel (in the case where there is a 1:1\n // relationship between the panel and trigger).\n if (this._menuPanel) {\n this._menuPanel._menuStack = null;\n }\n }\n\n /**\n * Subscribe to the overlays outside pointer events stream and handle closing out the stack if a\n * click occurs outside the menus.\n */\n private _subscribeToOutsideClicks() {\n if (this._overlayRef) {\n this._overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this._stopOutsideClicksListener))\n .subscribe(event => {\n if (!isClickInsideMenuOverlay(event.target as Element)) {\n this._getMenuStack().closeAll();\n }\n });\n }\n }\n\n /** Destroy and unset the overlay reference it if exists */\n private _destroyOverlay() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n Optional,\n Self,\n ElementRef,\n Output,\n EventEmitter,\n Inject,\n HostListener,\n NgZone,\n OnDestroy,\n} from '@angular/core';\nimport {coerceBooleanProperty, BooleanInput} from '@angular/cdk/coercion';\nimport {FocusableOption} from '@angular/cdk/a11y';\nimport {SPACE, ENTER, RIGHT_ARROW, LEFT_ARROW} from '@angular/cdk/keycodes';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {Subject, fromEvent} from 'rxjs';\nimport {takeUntil, filter} from 'rxjs/operators';\nimport {CdkMenuItemTrigger} from './menu-item-trigger';\nimport {Menu, CDK_MENU} from './menu-interface';\nimport {FocusNext} from './menu-stack';\nimport {FocusableElement} from './pointer-focus-tracker';\nimport {Toggler, MENU_AIM, MenuAim} from './menu-aim';\n\n// TODO refactor this to be configurable allowing for custom elements to be removed\n/** Removes all icons from within the given element. */\nfunction removeIcons(element: Element) {\n for (const icon of Array.from(element.querySelectorAll('mat-icon, .material-icons'))) {\n icon.parentNode?.removeChild(icon);\n }\n}\n\n/**\n * Directive which provides the ability for an element to be focused and navigated to using the\n * keyboard when residing in a CdkMenu, CdkMenuBar, or CdkMenuGroup. It performs user defined\n * behavior when clicked.\n */\n@Directive({\n selector: '[cdkMenuItem]',\n exportAs: 'cdkMenuItem',\n host: {\n '[tabindex]': '_tabindex',\n 'type': 'button',\n 'role': 'menuitem',\n 'class': 'cdk-menu-item',\n '[attr.aria-disabled]': 'disabled || null',\n },\n})\nexport class CdkMenuItem implements FocusableOption, FocusableElement, Toggler, OnDestroy {\n /** Whether the CdkMenuItem is disabled - defaults to false */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n /**\n * If this MenuItem is a regular MenuItem, outputs when it is triggered by a keyboard or mouse\n * event.\n */\n @Output('cdkMenuItemTriggered') readonly triggered: EventEmitter<void> = new EventEmitter();\n\n /**\n * The tabindex for this menu item managed internally and used for implementing roving a\n * tab index.\n */\n _tabindex: 0 | -1 = -1;\n\n /** Emits when the menu item is destroyed. */\n private readonly _destroyed = new Subject<void>();\n\n constructor(\n readonly _elementRef: ElementRef<HTMLElement>,\n private readonly _ngZone: NgZone,\n @Optional() @Inject(CDK_MENU) private readonly _parentMenu?: Menu,\n @Optional() @Inject(MENU_AIM) private readonly _menuAim?: MenuAim,\n @Optional() private readonly _dir?: Directionality,\n /** Reference to the CdkMenuItemTrigger directive if one is added to the same element */\n // `CdkMenuItem` is commonly used in combination with a `CdkMenuItemTrigger`.\n // tslint:disable-next-line: lightweight-tokens\n @Self() @Optional() private readonly _menuTrigger?: CdkMenuItemTrigger\n ) {\n this._setupMouseEnter();\n\n if (this._isStandaloneItem()) {\n this._tabindex = 0;\n }\n }\n\n /** Place focus on the element. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('blur')\n @HostListener('mouseout')\n /** Reset the _tabindex to -1. */\n _resetTabIndex() {\n if (!this._isStandaloneItem()) {\n this._tabindex = -1;\n }\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('focus')\n @HostListener('mouseenter', ['$event'])\n /**\n * Set the tab index to 0 if not disabled and it's a focus event, or a mouse enter if this element\n * is not in a menu bar.\n */\n _setTabIndex(event?: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n // don't set the tabindex if there are no open sibling or parent menus\n if (!event || !this._getMenuStack()?.isEmpty()) {\n this._tabindex = 0;\n }\n }\n\n /** Whether this menu item is standalone or within a menu or menu bar. */\n _isStandaloneItem() {\n return !this._parentMenu;\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('click')\n /**\n * If the menu item is not disabled and the element does not have a menu trigger attached, emit\n * on the cdkMenuItemTriggered emitter and close all open menus.\n */\n trigger() {\n if (!this.disabled && !this.hasMenu()) {\n this.triggered.next();\n this._getMenuStack()?.closeAll();\n }\n }\n\n /** Whether the menu item opens a menu. */\n hasMenu() {\n return !!this._menuTrigger?.hasMenu();\n }\n\n /** Return true if this MenuItem has an attached menu and it is open. */\n isMenuOpen() {\n return !!this._menuTrigger?.isMenuOpen();\n }\n\n /**\n * Get a reference to the rendered Menu if the Menu is open and it is visible in the DOM.\n * @return the menu if it is open, otherwise undefined.\n */\n getMenu(): Menu | undefined {\n return this._menuTrigger?.getMenu();\n }\n\n /** Get the MenuItemTrigger associated with this element. */\n getMenuTrigger(): CdkMenuItemTrigger | undefined {\n return this._menuTrigger;\n }\n\n /** Get the label for this element which is required by the FocusableOption interface. */\n getLabel(): string {\n // TODO cloning the tree may be expensive; implement a better method\n // we know that the current node is an element type\n const clone = this._elementRef.nativeElement.cloneNode(true) as Element;\n removeIcons(clone);\n\n return clone.textContent?.trim() || '';\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('keydown', ['$event'])\n /**\n * Handles keyboard events for the menu item, specifically either triggering the user defined\n * callback or opening/closing the current menu based on whether the left or right arrow key was\n * pressed.\n * @param event the keyboard event to handle\n */\n _onKeydown(event: KeyboardEvent) {\n switch (event.keyCode) {\n case SPACE:\n case ENTER:\n event.preventDefault();\n this.trigger();\n break;\n\n case RIGHT_ARROW:\n if (this._parentMenu && this._isParentVertical() && !this.hasMenu()) {\n event.preventDefault();\n this._dir?.value === 'rtl'\n ? this._getMenuStack()?.close(this._parentMenu, FocusNext.previousItem)\n : this._getMenuStack()?.closeAll(FocusNext.nextItem);\n }\n break;\n\n case LEFT_ARROW:\n if (this._parentMenu && this._isParentVertical() && !this.hasMenu()) {\n event.preventDefault();\n this._dir?.value === 'rtl'\n ? this._getMenuStack()?.closeAll(FocusNext.nextItem)\n : this._getMenuStack()?.close(this._parentMenu, FocusNext.previousItem);\n }\n break;\n }\n }\n\n /**\n * Subscribe to the mouseenter events and close any sibling menu items if this element is moused\n * into.\n */\n private _setupMouseEnter() {\n if (!this._isStandaloneItem()) {\n const closeOpenSiblings = () =>\n this._ngZone.run(() => this._getMenuStack()?.closeSubMenuOf(this._parentMenu!));\n\n this._ngZone.runOutsideAngular(() =>\n fromEvent(this._elementRef.nativeElement, 'mouseenter')\n .pipe(\n filter(() => !this._getMenuStack()?.isEmpty() && !this.hasMenu()),\n takeUntil(this._destroyed)\n )\n .subscribe(() => {\n if (this._menuAim) {\n this._menuAim.toggle(closeOpenSiblings);\n } else {\n closeOpenSiblings();\n }\n })\n );\n }\n }\n\n /**\n * Return true if the enclosing parent menu is configured in a horizontal orientation, false\n * otherwise or if no parent.\n */\n private _isParentVertical() {\n return this._parentMenu?.orientation === 'vertical';\n }\n\n /** Get the MenuStack from the parent menu. */\n private _getMenuStack() {\n // We use a function since at the construction of the MenuItemTrigger the parent Menu won't have\n // its menu stack set. Therefore we need to reference the menu stack from the parent each time\n // we want to use it.\n return this._parentMenu?._menuStack;\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty, BooleanInput} from '@angular/cdk/coercion';\nimport {Input, Directive, Output, EventEmitter} from '@angular/core';\nimport {CdkMenuItem} from './menu-item';\n\n/** Counter used to set a unique id and name for a selectable item */\nlet nextId = 0;\n\n/**\n * Base class providing checked state for MenuItems along with outputting a clicked event when the\n * element is triggered. It provides functionality for selectable elements.\n */\n@Directive()\nexport abstract class CdkMenuItemSelectable extends CdkMenuItem {\n /** Event emitted when the selectable item is clicked */\n @Output('cdkMenuItemToggled') readonly toggled: EventEmitter<CdkMenuItemSelectable> =\n new EventEmitter();\n\n /** Whether the element is checked */\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n this._checked = coerceBooleanProperty(value);\n }\n private _checked = false;\n\n /** The name of the selectable element with a default value */\n @Input() name: string = `cdk-selectable-item-${nextId++}`;\n\n /** The id of the selectable element with a default value */\n @Input() id: string = `cdk-selectable-item-${nextId++}`;\n\n /** If the element is not disabled emit the click event */\n override trigger() {\n if (!this.disabled) {\n this.toggled.next(this);\n }\n }\n\n static ngAcceptInputType_checked: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Output,\n EventEmitter,\n ContentChildren,\n AfterContentInit,\n QueryList,\n OnDestroy,\n} from '@angular/core';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {takeUntil} from 'rxjs/operators';\nimport {CdkMenuItemSelectable} from './menu-item-selectable';\nimport {CdkMenuItem} from './menu-item';\n\n/**\n * Directive which acts as a grouping container for `CdkMenuItem` instances with\n * `role=\"menuitemradio\"`, similar to a `role=\"radiogroup\"` element.\n */\n@Directive({\n selector: '[cdkMenuGroup]',\n exportAs: 'cdkMenuGroup',\n host: {\n 'role': 'group',\n 'class': 'cdk-menu-group',\n },\n providers: [{provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher}],\n})\nexport class CdkMenuGroup implements AfterContentInit, OnDestroy {\n /** Emits the element when checkbox or radiobutton state changed */\n @Output() readonly change: EventEmitter<CdkMenuItem> = new EventEmitter();\n\n /** List of menuitemcheckbox or menuitemradio elements which reside in this group */\n @ContentChildren(CdkMenuItemSelectable, {descendants: true})\n private readonly _selectableItems: QueryList<CdkMenuItemSelectable>;\n\n /** Emits when the _selectableItems QueryList triggers a change */\n private readonly _selectableChanges: EventEmitter<void> = new EventEmitter();\n\n ngAfterContentInit() {\n this._registerMenuSelectionListeners();\n }\n\n /**\n * Register the child selectable elements with the change emitter and ensure any new child\n * elements do so as well.\n */\n private _registerMenuSelectionListeners() {\n this._selectableItems.forEach(selectable => this._registerClickListener(selectable));\n\n this._selectableItems.changes.subscribe((selectableItems: QueryList<CdkMenuItemSelectable>) => {\n this._selectableChanges.next();\n selectableItems.forEach(selectable => this._registerClickListener(selectable));\n });\n }\n\n /** Register each selectable to emit on the change Emitter when clicked */\n private _registerClickListener(selectable: CdkMenuItemSelectable) {\n selectable.toggled\n .pipe(takeUntil(this._selectableChanges))\n .subscribe(() => this.change.next(selectable));\n }\n\n ngOnDestroy() {\n this._selectableChanges.next();\n this._selectableChanges.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, TemplateRef} from '@angular/core';\nimport {Menu} from './menu-interface';\nimport {MenuStack} from './menu-stack';\n\n/**\n * Directive applied to an ng-template which wraps a CdkMenu and provides a reference to the\n * child element it wraps which allows for opening of the CdkMenu in an overlay.\n */\n@Directive({selector: 'ng-template[cdkMenuPanel]', exportAs: 'cdkMenuPanel'})\nexport class CdkMenuPanel {\n /** Reference to the child menu component */\n _menu?: Menu;\n\n /** Keep track of open Menus. */\n _menuStack: MenuStack | null;\n\n constructor(readonly _templateRef: TemplateRef<unknown>) {}\n\n /**\n * Set the Menu component on the menu panel. Since we cannot use ContentChild to fetch the\n * child Menu component, the child Menu must register its self with the parent MenuPanel.\n */\n _registerMenu(child: Menu) {\n this._menu = child;\n\n // The ideal solution would be to affect the CdkMenuPanel injector from the CdkMenuTrigger and\n // inject the menu stack reference into the child menu and menu items, however this isn't\n // possible at this time.\n this._menu._menuStack = this._menuStack;\n this._menuStack?.push(child);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {QueryList, ElementRef} from '@angular/core';\nimport {fromEvent, Observable, defer, Subject} from 'rxjs';\nimport {mapTo, mergeAll, takeUntil, startWith, mergeMap} from 'rxjs/operators';\n\n/** Item to track for mouse focus events. */\nexport interface FocusableElement {\n /** A reference to the element to be tracked. */\n _elementRef: ElementRef<HTMLElement>;\n}\n\n/**\n * PointerFocusTracker keeps track of the currently active item under mouse focus. It also has\n * observables which emit when the users mouse enters and leaves a tracked element.\n */\nexport class PointerFocusTracker<T extends FocusableElement> {\n /** Emits when an element is moused into. */\n readonly entered: Observable<T> = this._getItemPointerEntries();\n\n /** Emits when an element is moused out. */\n readonly exited: Observable<T> = this._getItemPointerExits();\n\n /** The element currently under mouse focus. */\n activeElement?: T;\n\n /** The element previously under mouse focus. */\n previousElement?: T;\n\n /** Emits when this is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject();\n\n constructor(private readonly _items: QueryList<T>) {\n this.entered.subscribe(element => (this.activeElement = element));\n this.exited.subscribe(() => {\n this.previousElement = this.activeElement;\n this.activeElement = undefined;\n });\n }\n\n /**\n * Gets a stream of pointer (mouse) entries into the given items.\n * This should typically run outside the Angular zone.\n */\n private _getItemPointerEntries(): Observable<T> {\n return defer(() =>\n this._items.changes.pipe(\n startWith(this._items),\n mergeMap((list: QueryList<T>) =>\n list.map(element =>\n fromEvent(element._elementRef.nativeElement, 'mouseenter').pipe(\n mapTo(element),\n takeUntil(this._items.changes)\n )\n )\n ),\n mergeAll()\n )\n );\n }\n\n /**\n * Gets a stream of pointer (mouse) exits out of the given items.\n * This should typically run outside the Angular zone.\n */\n private _getItemPointerExits() {\n return defer(() =>\n this._items.changes.pipe(\n startWith(this._items),\n mergeMap((list: QueryList<T>) =>\n list.map(element =>\n fromEvent(element._elementRef.nativeElement, 'mouseout').pipe(\n mapTo(element),\n takeUntil(this._items.changes)\n )\n )\n ),\n mergeAll()\n )\n );\n }\n\n /** Stop the managers listeners. */\n destroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n Output,\n EventEmitter,\n QueryList,\n ContentChildren,\n AfterContentInit,\n OnDestroy,\n Optional,\n OnInit,\n NgZone,\n HostListener,\n ElementRef,\n Inject,\n Self,\n} from '@angular/core';\nimport {FocusKeyManager, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n LEFT_ARROW,\n RIGHT_ARROW,\n UP_ARROW,\n DOWN_ARROW,\n ESCAPE,\n TAB,\n hasModifierKey,\n} from '@angular/cdk/keycodes';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {merge} from 'rxjs';\nimport {take, takeUntil, startWith, mergeMap, mapTo, mergeAll, switchMap} from 'rxjs/operators';\nimport {CdkMenuGroup} from './menu-group';\nimport {CdkMenuPanel} from './menu-panel';\nimport {Menu, CDK_MENU} from './menu-interface';\nimport {CdkMenuItem} from './menu-item';\nimport {MenuStack, MenuStackItem, FocusNext, NoopMenuStack} from './menu-stack';\nimport {PointerFocusTracker} from './pointer-focus-tracker';\nimport {MENU_AIM, MenuAim} from './menu-aim';\n\n/**\n * Directive which configures the element as a Menu which should contain child elements marked as\n * CdkMenuItem or CdkMenuGroup. Sets the appropriate role and aria-attributes for a menu and\n * contains accessible keyboard and mouse handling logic.\n *\n * It also acts as a RadioGroup for elements marked with role `menuitemradio`.\n */\n@Directive({\n selector: '[cdkMenu]',\n exportAs: 'cdkMenu',\n host: {\n '[tabindex]': '_isInline() ? 0 : null',\n 'role': 'menu',\n 'class': 'cdk-menu',\n '[class.cdk-menu-inline]': '_isInline()',\n '[attr.aria-orientation]': 'orientation',\n },\n providers: [\n {provide: CdkMenuGroup, useExisting: CdkMenu},\n {provide: CDK_MENU, useExisting: CdkMenu},\n ],\n})\nexport class CdkMenu extends CdkMenuGroup implements Menu, AfterContentInit, OnInit, OnDestroy {\n /**\n * Sets the aria-orientation attribute and determines where menus will be opened.\n * Does not affect styling/layout.\n */\n @Input('cdkMenuOrientation') orientation: 'horizontal' | 'vertical' = 'vertical';\n\n /** Event emitted when the menu is closed. */\n @Output() readonly closed: EventEmitter<void | 'click' | 'tab' | 'escape'> = new EventEmitter();\n\n // We provide a default MenuStack implementation in case the menu is an inline menu.\n // For Menus part of a MenuBar nested within a MenuPanel this will be overwritten\n // to the correct parent MenuStack.\n /** Track the Menus making up the open menu stack. */\n _menuStack: MenuStack = new NoopMenuStack();\n\n /** Handles keyboard events for the menu. */\n private _keyManager: FocusKeyManager<CdkMenuItem>;\n\n /** Manages items under mouse focus. */\n private _pointerTracker?: PointerFocusTracker<CdkMenuItem>;\n\n /** List of nested CdkMenuGroup elements */\n @ContentChildren(CdkMenuGroup, {descendants: true})\n private readonly _nestedGroups: QueryList<CdkMenuGroup>;\n\n /** All child MenuItem elements nested in this Menu. */\n @ContentChildren(CdkMenuItem, {descendants: true})\n private readonly _allItems: QueryList<CdkMenuItem>;\n\n /** The Menu Item which triggered the open submenu. */\n private _openItem?: CdkMenuItem;\n\n /**\n * A reference to the enclosing parent menu panel.\n *\n * Required to be set when using ViewEngine since ViewEngine does support injecting a reference to\n * the parent directive if the parent directive is placed on an `ng-template`. If using Ivy, the\n * injected value will be used over this one.\n */\n @Input('cdkMenuPanel') private readonly _explicitPanel?: CdkMenuPanel;\n\n constructor(\n private readonly _ngZone: NgZone,\n readonly _elementRef: ElementRef<HTMLElement>,\n @Self() @Optional() @Inject(MENU_AIM) private readonly _menuAim?: MenuAim,\n @Optional() private readonly _dir?: Directionality,\n // `CdkMenuPanel` is always used in combination with a `CdkMenu`.\n // tslint:disable-next-line: lightweight-tokens\n @Optional() private readonly _menuPanel?: CdkMenuPanel\n ) {\n super();\n }\n\n ngOnInit() {\n this._registerWithParentPanel();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n\n this._completeChangeEmitter();\n this._setKeyManager();\n this._subscribeToMenuOpen();\n this._subscribeToMenuStack();\n this._subscribeToMouseManager();\n\n this._menuAim?.initialize(this, this._pointerTracker!);\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('focus')\n /** Place focus on the first MenuItem in the menu and set the focus origin. */\n focusFirstItem(focusOrigin: FocusOrigin = 'program') {\n this._keyManager.setFocusOrigin(focusOrigin);\n this._keyManager.setFirstItemActive();\n }\n\n /** Place focus on the last MenuItem in the menu and set the focus origin. */\n focusLastItem(focusOrigin: FocusOrigin = 'program') {\n this._keyManager.setFocusOrigin(focusOrigin);\n this._keyManager.setLastItemActive();\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('keydown', ['$event'])\n /** Handle keyboard events for the Menu. */\n _handleKeyEvent(event: KeyboardEvent) {\n const keyManager = this._keyManager;\n switch (event.keyCode) {\n case LEFT_ARROW:\n case RIGHT_ARROW:\n if (this._isHorizontal()) {\n event.preventDefault();\n keyManager.setFocusOrigin('keyboard');\n keyManager.onKeydown(event);\n }\n break;\n\n case UP_ARROW:\n case DOWN_ARROW:\n if (!this._isHorizontal()) {\n event.preventDefault();\n keyManager.setFocusOrigin('keyboard');\n keyManager.onKeydown(event);\n }\n break;\n\n case ESCAPE:\n if (!hasModifierKey(event)) {\n event.preventDefault();\n this._menuStack.close(this, FocusNext.currentItem);\n }\n break;\n\n case TAB:\n this._menuStack.closeAll();\n break;\n\n default:\n keyManager.onKeydown(event);\n }\n }\n\n /** Register this menu with its enclosing parent menu panel */\n private _registerWithParentPanel() {\n this._getMenuPanel()?._registerMenu(this);\n }\n\n /**\n * Get the enclosing CdkMenuPanel defaulting to the injected reference over the developer\n * provided reference.\n */\n private _getMenuPanel() {\n return this._menuPanel || this._explicitPanel;\n }\n\n /**\n * Complete the change emitter if there are any nested MenuGroups or register to complete the\n * change emitter if a MenuGroup is rendered at some point\n */\n private _completeChangeEmitter() {\n if (this._hasNestedGroups()) {\n this.change.complete();\n } else {\n this._nestedGroups.changes.pipe(take(1)).subscribe(() => this.change.complete());\n }\n }\n\n /** Return true if there are nested CdkMenuGroup elements within the Menu */\n private _hasNestedGroups() {\n // view engine has a bug where @ContentChildren will return the current element\n // along with children if the selectors match - not just the children.\n // Here, if there is at least one element, we check to see if the first element is a CdkMenu in\n // order to ensure that we return true iff there are child CdkMenuGroup elements.\n return this._nestedGroups.length > 0 && !(this._nestedGroups.first instanceof CdkMenu);\n }\n\n /** Setup the FocusKeyManager with the correct orientation for the menu. */\n private _setKeyManager() {\n this._keyManager = new FocusKeyManager(this._allItems)\n .withWrap()\n .withTypeAhead()\n .withHomeAndEnd();\n\n if (this._isHorizontal()) {\n this._keyManager.withHorizontalOrientation(this._dir?.value || 'ltr');\n } else {\n this._keyManager.withVerticalOrientation();\n }\n }\n\n /**\n * Set the PointerFocusTracker and ensure that when mouse focus changes the key manager is updated\n * with the latest menu item under mouse focus.\n */\n private _subscribeToMouseManager() {\n this._ngZone.runOutsideAngular(() => {\n this._pointerTracker = new PointerFocusTracker(this._allItems);\n this._pointerTracker.entered\n .pipe(takeUntil(this.closed))\n .subscribe(item => this._keyManager.setActiveItem(item));\n });\n }\n\n /** Subscribe to the MenuStack close and empty observables. */\n private _subscribeToMenuStack() {\n this._menuStack.closed\n .pipe(takeUntil(this.closed))\n .subscribe(item => this._closeOpenMenu(item));\n\n this._menuStack.emptied\n .pipe(takeUntil(this.closed))\n .subscribe(event => this._toggleMenuFocus(event));\n }\n\n /**\n * Close the open menu if the current active item opened the requested MenuStackItem.\n * @param item the MenuStackItem requested to be closed.\n */\n private _closeOpenMenu(menu: MenuStackItem | undefined) {\n const keyManager = this._keyManager;\n const trigger = this._openItem;\n if (menu === trigger?.getMenuTrigger()?.getMenu()) {\n trigger?.getMenuTrigger()?.closeMenu();\n // If the user has moused over a sibling item we want to focus the element under mouse focus\n // not the trigger which previously opened the now closed menu.\n if (trigger) {\n keyManager.setActiveItem(this._pointerTracker?.activeElement || trigger);\n }\n }\n }\n\n /** Set focus the either the current, previous or next item based on the FocusNext event. */\n private _toggleMenuFocus(event: FocusNext | undefined) {\n const keyManager = this._keyManager;\n switch (event) {\n case FocusNext.nextItem:\n keyManager.setFocusOrigin('keyboard');\n keyManager.setNextItemActive();\n break;\n\n case FocusNext.previousItem:\n keyManager.setFocusOrigin('keyboard');\n keyManager.setPreviousItemActive();\n break;\n\n case FocusNext.currentItem:\n if (keyManager.activeItem) {\n keyManager.setFocusOrigin('keyboard');\n keyManager.setActiveItem(keyManager.activeItem);\n }\n break;\n }\n }\n\n // TODO(andy9775): remove duplicate logic between menu an menu bar\n /**\n * Subscribe to the menu trigger's open events in order to track the trigger which opened the menu\n * and stop tracking it when the menu is closed.\n */\n private _subscribeToMenuOpen() {\n const exitCondition = merge(this._allItems.changes, this.closed);\n this._allItems.changes\n .pipe(\n startWith(this._allItems),\n mergeMap((list: QueryList<CdkMenuItem>) =>\n list\n .filter(item => item.hasMenu())\n .map(item => item.getMenuTrigger()!.opened.pipe(mapTo(item), takeUntil(exitCondition)))\n ),\n mergeAll(),\n switchMap((item: CdkMenuItem) => {\n this._openItem = item;\n return item.getMenuTrigger()!.closed;\n }),\n takeUntil(this.closed)\n )\n .subscribe(() => (this._openItem = undefined));\n }\n\n /** Return true if this menu has been configured in a horizontal orientation. */\n private _isHorizontal() {\n return this.orientation === 'horizontal';\n }\n\n /**\n * Return true if this menu is an inline menu. That is, it does not exist in a pop-up and is\n * always visible in the dom.\n */\n _isInline() {\n // NoopMenuStack is the default. If this menu is not inline than the NoopMenuStack is replaced\n // automatically.\n return this._menuStack instanceof NoopMenuStack;\n }\n\n override ngOnDestroy() {\n this._emitClosedEvent();\n this._pointerTracker?.destroy();\n }\n\n /** Emit and complete the closed event emitter */\n private _emitClosedEvent() {\n this.closed.next();\n this.closed.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n OnDestroy,\n Optional,\n NgZone,\n HostListener,\n ElementRef,\n Inject,\n Self,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {FocusKeyManager, FocusOrigin} from '@angular/cdk/a11y';\nimport {LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, ESCAPE, TAB} from '@angular/cdk/keycodes';\nimport {takeUntil, mergeAll, mapTo, startWith, mergeMap, switchMap} from 'rxjs/operators';\nimport {Subject, merge} from 'rxjs';\nimport {CdkMenuGroup} from './menu-group';\nimport {CDK_MENU, Menu} from './menu-interface';\nimport {CdkMenuItem} from './menu-item';\nimport {MenuStack, MenuStackItem, FocusNext} from './menu-stack';\nimport {PointerFocusTracker} from './pointer-focus-tracker';\nimport {MenuAim, MENU_AIM} from './menu-aim';\n\n/**\n * Directive applied to an element which configures it as a MenuBar by setting the appropriate\n * role, aria attributes, and accessible keyboard and mouse handling logic. The component that\n * this directive is applied to should contain components marked with CdkMenuItem.\n *\n */\n@Directive({\n selector: '[cdkMenuBar]',\n exportAs: 'cdkMenuBar',\n host: {\n 'role': 'menubar',\n 'class': 'cdk-menu-bar',\n 'tabindex': '0',\n '[attr.aria-orientation]': 'orientation',\n },\n providers: [\n {provide: CdkMenuGroup, useExisting: CdkMenuBar},\n {provide: CDK_MENU, useExisting: CdkMenuBar},\n {provide: MenuStack, useClass: MenuStack},\n ],\n})\nexport class CdkMenuBar extends CdkMenuGroup implements Menu, AfterContentInit, OnDestroy {\n /**\n * Sets the aria-orientation attribute and determines where menus will be opened.\n * Does not affect styling/layout.\n */\n @Input('cdkMenuBarOrientation') orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /** Handles keyboard events for the MenuBar. */\n private _keyManager: FocusKeyManager<CdkMenuItem>;\n\n /** Manages items under mouse focus */\n private _pointerTracker?: PointerFocusTracker<CdkMenuItem>;\n\n /** Emits when the MenuBar is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject();\n\n /** All child MenuItem elements nested in this MenuBar. */\n @ContentChildren(CdkMenuItem, {descendants: true})\n private readonly _allItems: QueryList<CdkMenuItem>;\n\n /** The Menu Item which triggered the open submenu. */\n private _openItem?: CdkMenuItem;\n\n constructor(\n readonly _menuStack: MenuStack,\n private readonly _ngZone: NgZone,\n readonly _elementRef: ElementRef<HTMLElement>,\n @Self() @Optional() @Inject(MENU_AIM) private readonly _menuAim?: MenuAim,\n @Optional() private readonly _dir?: Directionality\n ) {\n super();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n\n this._setKeyManager();\n this._subscribeToMenuOpen();\n this._subscribeToMenuStack();\n this._subscribeToMouseManager();\n\n this._menuAim?.initialize(this, this._pointerTracker!);\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('focus')\n /** Place focus on the first MenuItem in the menu and set the focus origin. */\n focusFirstItem(focusOrigin: FocusOrigin = 'program') {\n this._keyManager.setFocusOrigin(focusOrigin);\n this._keyManager.setFirstItemActive();\n }\n\n /** Place focus on the last MenuItem in the menu and set the focus origin. */\n focusLastItem(focusOrigin: FocusOrigin = 'program') {\n this._keyManager.setFocusOrigin(focusOrigin);\n this._keyManager.setLastItemActive();\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('keydown', ['$event'])\n /**\n * Handle keyboard events, specifically changing the focused element and/or toggling the active\n * items menu.\n * @param event the KeyboardEvent to handle.\n */\n _handleKeyEvent(event: KeyboardEvent) {\n const keyManager = this._keyManager;\n switch (event.keyCode) {\n case UP_ARROW:\n case DOWN_ARROW:\n case LEFT_ARROW:\n case RIGHT_ARROW:\n const horizontalArrows = event.keyCode === LEFT_ARROW || event.keyCode === RIGHT_ARROW;\n // For a horizontal menu if the left/right keys were clicked, or a vertical menu if the\n // up/down keys were clicked: if the current menu is open, close it then focus and open the\n // next menu.\n if (\n (this._isHorizontal() && horizontalArrows) ||\n (!this._isHorizontal() && !horizontalArrows)\n ) {\n event.preventDefault();\n\n const prevIsOpen = keyManager.activeItem?.isMenuOpen();\n keyManager.activeItem?.getMenuTrigger()?.closeMenu();\n\n keyManager.setFocusOrigin('keyboard');\n keyManager.onKeydown(event);\n if (prevIsOpen) {\n keyManager.activeItem?.getMenuTrigger()?.openMenu();\n }\n }\n break;\n\n case ESCAPE:\n event.preventDefault();\n keyManager.activeItem?.getMenuTrigger()?.closeMenu();\n break;\n\n case TAB:\n keyManager.activeItem?.getMenuTrigger()?.closeMenu();\n break;\n\n default:\n keyManager.onKeydown(event);\n }\n }\n\n /** Setup the FocusKeyManager with the correct orientation for the menu bar. */\n private _setKeyManager() {\n this._keyManager = new FocusKeyManager(this._allItems)\n .withWrap()\n .withTypeAhead()\n .withHomeAndEnd();\n\n if (this._isHorizontal()) {\n this._keyManager.withHorizontalOrientation(this._dir?.value || 'ltr');\n } else {\n this._keyManager.withVerticalOrientation();\n }\n }\n\n /**\n * Set the PointerFocusTracker and ensure that when mouse focus changes the key manager is updated\n * with the latest menu item under mouse focus.\n */\n private _subscribeToMouseManager() {\n this._ngZone.runOutsideAngular(() => {\n this._pointerTracker = new PointerFocusTracker(this._allItems);\n this._pointerTracker.entered.pipe(takeUntil(this._destroyed)).subscribe(item => {\n if (this._hasOpenSubmenu()) {\n this._keyManager.setActiveItem(item);\n }\n });\n });\n }\n\n /** Subscribe to the MenuStack close and empty observables. */\n private _subscribeToMenuStack() {\n this._menuStack.closed\n .pipe(takeUntil(this._destroyed))\n .subscribe(item => this._closeOpenMenu(item));\n\n this._menuStack.emptied\n .pipe(takeUntil(this._destroyed))\n .subscribe(event => this._toggleOpenMenu(event));\n }\n\n /**\n * Close the open menu if the current active item opened the requested MenuStackItem.\n * @param item the MenuStackItem requested to be closed.\n */\n private _closeOpenMenu(menu: MenuStackItem | undefined) {\n const trigger = this._openItem;\n const keyManager = this._keyManager;\n if (menu === trigger?.getMenuTrigger()?.getMenu()) {\n trigger?.getMenuTrigger()?.closeMenu();\n // If the user has moused over a sibling item we want to focus the element under mouse focus\n // not the trigger which previously opened the now closed menu.\n if (trigger) {\n keyManager.setActiveItem(this._pointerTracker?.activeElement || trigger);\n }\n }\n }\n\n /**\n * Set focus to either the current, previous or next item based on the FocusNext event, then\n * open the previous or next item.\n */\n private _toggleOpenMenu(event: FocusNext | undefined) {\n const keyManager = this._keyManager;\n switch (event) {\n case FocusNext.nextItem:\n keyManager.setFocusOrigin('keyboard');\n keyManager.setNextItemActive();\n keyManager.activeItem?.getMenuTrigger()?.openMenu();\n break;\n\n case FocusNext.previousItem:\n keyManager.setFocusOrigin('keyboard');\n keyManager.setPreviousItemActive();\n keyManager.activeItem?.getMenuTrigger()?.openMenu();\n break;\n\n case FocusNext.currentItem:\n if (keyManager.activeItem) {\n keyManager.setFocusOrigin('keyboard');\n keyManager.setActiveItem(keyManager.activeItem);\n }\n break;\n }\n }\n\n /**\n * @return true if the menu bar is configured to be horizontal.\n */\n private _isHorizontal() {\n return this.orientation === 'horizontal';\n }\n\n /**\n * Subscribe to the menu trigger's open events in order to track the trigger which opened the menu\n * and stop tracking it when the menu is closed.\n */\n private _subscribeToMenuOpen() {\n const exitCondition = merge(this._allItems.changes, this._destroyed);\n this._allItems.changes\n .pipe(\n startWith(this._allItems),\n mergeMap((list: QueryList<CdkMenuItem>) =>\n list\n .filter(item => item.hasMenu())\n .map(item => item.getMenuTrigger()!.opened.pipe(mapTo(item), takeUntil(exitCondition)))\n ),\n mergeAll(),\n switchMap((item: CdkMenuItem) => {\n this._openItem = item;\n return item.getMenuTrigger()!.closed;\n }),\n takeUntil(this._destroyed)\n )\n .subscribe(() => (this._openItem = undefined));\n }\n\n /** Return true if the MenuBar has an open submenu. */\n private _hasOpenSubmenu() {\n return !!this._openItem;\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n\n this._destroyed.next();\n this._destroyed.complete();\n\n this._pointerTracker?.destroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {Directive, OnDestroy, ElementRef, Self, Optional, Inject, NgZone} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {CdkMenuItemSelectable} from './menu-item-selectable';\nimport {CdkMenuItem} from './menu-item';\nimport {CdkMenuItemTrigger} from './menu-item-trigger';\nimport {CDK_MENU, Menu} from './menu-interface';\nimport {MENU_AIM, MenuAim} from './menu-aim';\n\n/**\n * A directive providing behavior for the \"menuitemradio\" ARIA role, which behaves similarly to\n * a conventional radio-button. Any sibling `CdkMenuItemRadio` instances within the same `CdkMenu`\n * or `CdkMenuGroup` comprise a radio group with unique selection enforced.\n */\n@Directive({\n selector: '[cdkMenuItemRadio]',\n exportAs: 'cdkMenuItemRadio',\n host: {\n '[tabindex]': '_tabindex',\n 'type': 'button',\n 'role': 'menuitemradio',\n '[attr.aria-checked]': 'checked || null',\n '[attr.aria-disabled]': 'disabled || null',\n },\n providers: [\n {provide: CdkMenuItemSelectable, useExisting: CdkMenuItemRadio},\n {provide: CdkMenuItem, useExisting: CdkMenuItemSelectable},\n ],\n})\nexport class CdkMenuItemRadio extends CdkMenuItemSelectable implements OnDestroy {\n /** Function to unregister the selection dispatcher */\n private _removeDispatcherListener: () => void;\n\n constructor(\n private readonly _selectionDispatcher: UniqueSelectionDispatcher,\n element: ElementRef<HTMLElement>,\n ngZone: NgZone,\n @Optional() @Inject(CDK_MENU) parentMenu?: Menu,\n @Optional() @Inject(MENU_AIM) menuAim?: MenuAim,\n @Optional() dir?: Directionality,\n /** Reference to the CdkMenuItemTrigger directive if one is added to the same element */\n // `CdkMenuItemRadio` is commonly used in combination with a `CdkMenuItemTrigger`.\n // tslint:disable-next-line: lightweight-tokens\n @Self() @Optional() menuTrigger?: CdkMenuItemTrigger\n ) {\n super(element, ngZone, parentMenu, menuAim, dir, menuTrigger);\n\n this._registerDispatcherListener();\n }\n\n /** Configure the unique selection dispatcher listener in order to toggle the checked state */\n private _registerDispatcherListener() {\n this._removeDispatcherListener = this._selectionDispatcher.listen(\n (id: string, name: string) => (this.checked = this.id === id && this.name === name)\n );\n }\n\n /** Toggles the checked state of the radio-button. */\n override trigger() {\n super.trigger();\n\n if (!this.disabled) {\n this._selectionDispatcher.notify(this.id, this.name);\n }\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this._removeDispatcherListener();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\nimport {CdkMenuItemSelectable} from './menu-item-selectable';\nimport {CdkMenuItem} from './menu-item';\n\n/**\n * A directive providing behavior for the \"menuitemcheckbox\" ARIA role, which behaves similarly to a\n * conventional checkbox.\n */\n@Directive({\n selector: '[cdkMenuItemCheckbox]',\n exportAs: 'cdkMenuItemCheckbox',\n host: {\n '[tabindex]': '_tabindex',\n 'type': 'button',\n 'role': 'menuitemcheckbox',\n '[attr.aria-checked]': 'checked || null',\n '[attr.aria-disabled]': 'disabled || null',\n },\n providers: [\n {provide: CdkMenuItemSelectable, useExisting: CdkMenuItemCheckbox},\n {provide: CdkMenuItem, useExisting: CdkMenuItemSelectable},\n ],\n})\nexport class CdkMenuItemCheckbox extends CdkMenuItemSelectable {\n /** Toggle the checked state of the checkbox. */\n override trigger() {\n super.trigger();\n\n if (!this.disabled) {\n this.checked = !this.checked;\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n ViewContainerRef,\n Output,\n EventEmitter,\n Optional,\n OnDestroy,\n Inject,\n Injectable,\n InjectionToken,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n OverlayRef,\n Overlay,\n OverlayConfig,\n FlexibleConnectedPositionStrategy,\n ConnectedPosition,\n} from '@angular/cdk/overlay';\nimport {TemplatePortal, Portal} from '@angular/cdk/portal';\nimport {coerceBooleanProperty, BooleanInput} from '@angular/cdk/coercion';\nimport {Subject, merge} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {CdkMenuPanel} from './menu-panel';\nimport {MenuStack} from './menu-stack';\nimport {throwExistingMenuStackError} from './menu-errors';\nimport {isClickInsideMenuOverlay} from './menu-item-trigger';\n\n/** Tracks the last open context menu trigger across the entire application. */\n@Injectable({providedIn: 'root'})\nexport class ContextMenuTracker {\n /** The last open context menu trigger. */\n private static _openContextMenuTrigger?: CdkContextMenuTrigger;\n\n /**\n * Close the previous open context menu and set the given one as being open.\n * @param trigger the trigger for the currently open Context Menu.\n */\n update(trigger: CdkContextMenuTrigger) {\n if (ContextMenuTracker._openContextMenuTrigger !== trigger) {\n ContextMenuTracker._openContextMenuTrigger?.close();\n ContextMenuTracker._openContextMenuTrigger = trigger;\n }\n }\n}\n\n/** Configuration options passed to the context menu. */\nexport type ContextMenuOptions = {\n /** The opened menus X coordinate offset from the triggering position. */\n offsetX: number;\n\n /** The opened menus Y coordinate offset from the triggering position. */\n offsetY: number;\n};\n\n/** Injection token for the ContextMenu options object. */\nexport const CDK_CONTEXT_MENU_DEFAULT_OPTIONS = new InjectionToken<ContextMenuOptions>(\n 'cdk-context-menu-default-options'\n);\n\n/** The coordinates of where the context menu should open. */\nexport type ContextMenuCoordinates = {x: number; y: number};\n\n/**\n * A directive which when placed on some element opens a the Menu it is bound to when a user\n * right-clicks within that element. It is aware of nested Context Menus and the lowest level\n * non-disabled context menu will trigger.\n */\n@Directive({\n selector: '[cdkContextMenuTriggerFor]',\n exportAs: 'cdkContextMenuTriggerFor',\n host: {\n '(contextmenu)': '_openOnContextMenu($event)',\n },\n providers: [\n // In cases where the first menu item in the context menu is a trigger the submenu opens on a\n // hover event. Offsetting the opened context menu by 2px prevents this from occurring.\n {provide: CDK_CONTEXT_MENU_DEFAULT_OPTIONS, useValue: {offsetX: 2, offsetY: 2}},\n ],\n})\nexport class CdkContextMenuTrigger implements OnDestroy {\n /** Template reference variable to the menu to open on right click. */\n @Input('cdkContextMenuTriggerFor')\n get menuPanel(): CdkMenuPanel {\n return this._menuPanel;\n }\n set menuPanel(panel: CdkMenuPanel) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && panel._menuStack) {\n throwExistingMenuStackError();\n }\n this._menuPanel = panel;\n\n if (this._menuPanel) {\n this._menuPanel._menuStack = this._menuStack;\n }\n }\n /** Reference to the MenuPanel this trigger toggles. */\n private _menuPanel: CdkMenuPanel;\n\n /** Emits when the attached menu is requested to open. */\n @Output('cdkContextMenuOpened') readonly opened: EventEmitter<void> = new EventEmitter();\n\n /** Emits when the attached menu is requested to close. */\n @Output('cdkContextMenuClosed') readonly closed: EventEmitter<void> = new EventEmitter();\n\n /** Whether the context menu should be disabled. */\n @Input('cdkContextMenuDisabled')\n get disabled() {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n /** A reference to the overlay which manages the triggered menu. */\n private _overlayRef: OverlayRef | null = null;\n\n /** The content of the menu panel opened by this trigger. */\n private _panelContent: TemplatePortal;\n\n /** Emits when the element is destroyed. */\n private readonly _destroyed = new Subject<void>();\n\n /** The menu stack for this trigger and its associated menus. */\n private readonly _menuStack = new MenuStack();\n\n /** Emits when the outside pointer events listener on the overlay should be stopped. */\n private readonly _stopOutsideClicksListener = merge(this.closed, this._destroyed);\n\n constructor(\n protected readonly _viewContainerRef: ViewContainerRef,\n private readonly _overlay: Overlay,\n private readonly _contextMenuTracker: ContextMenuTracker,\n @Inject(CDK_CONTEXT_MENU_DEFAULT_OPTIONS) private readonly _options: ContextMenuOptions,\n @Optional() private readonly _directionality?: Directionality\n ) {\n this._setMenuStackListener();\n }\n\n /**\n * Open the attached menu at the specified location.\n * @param coordinates where to open the context menu\n */\n open(coordinates: ContextMenuCoordinates) {\n if (this.disabled) {\n return;\n } else if (this.isOpen()) {\n // since we're moving this menu we need to close any submenus first otherwise they end up\n // disconnected from this one.\n this._menuStack.closeSubMenuOf(this._menuPanel._menu!);\n\n (this._overlayRef!.getConfig()\n .positionStrategy as FlexibleConnectedPositionStrategy).setOrigin(coordinates);\n this._overlayRef!.updatePosition();\n } else {\n this.opened.next();\n\n if (this._overlayRef) {\n (this._overlayRef.getConfig()\n .positionStrategy as FlexibleConnectedPositionStrategy).setOrigin(coordinates);\n this._overlayRef.updatePosition();\n } else {\n this._overlayRef = this._overlay.create(this._getOverlayConfig(coordinates));\n }\n\n this._overlayRef.attach(this._getMenuContent());\n this._subscribeToOutsideClicks();\n }\n }\n\n /** Close the opened menu. */\n close() {\n this._menuStack.closeAll();\n }\n\n /**\n * Open the context menu and close any previously open menus.\n * @param event the mouse event which opens the context menu.\n */\n _openOnContextMenu(event: MouseEvent) {\n if (!this.disabled) {\n // Prevent the native context menu from opening because we're opening a custom one.\n event.preventDefault();\n\n // Stop event propagation to ensure that only the closest enabled context menu opens.\n // Otherwise, any context menus attached to containing elements would *also* open,\n // resulting in multiple stacked context menus being displayed.\n event.stopPropagation();\n\n this._contextMenuTracker.update(this);\n this.open({x: event.clientX, y: event.clientY});\n\n // A context menu can be triggered via a mouse right click or a keyboard shortcut.\n if (event.button === 2) {\n this._menuPanel._menu?.focusFirstItem('mouse');\n } else if (event.button === 0) {\n this._menuPanel._menu?.focusFirstItem('keyboard');\n } else {\n this._menuPanel._menu?.focusFirstItem('program');\n }\n }\n }\n\n /** Whether the attached menu is open. */\n isOpen() {\n return !!this._overlayRef?.hasAttached();\n }\n\n /**\n * Get the configuration object used to create the overlay.\n * @param coordinates the location to place the opened menu\n */\n private _getOverlayConfig(coordinates: ContextMenuCoordinates) {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPositionStrategy(coordinates),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n direction: this._directionality,\n });\n }\n\n /**\n * Build the position strategy for the overlay which specifies where to place the menu.\n * @param coordinates the location to place the opened menu\n */\n private _getOverlayPositionStrategy(\n coordinates: ContextMenuCoordinates\n ): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(coordinates)\n .withDefaultOffsetX(this._options.offsetX)\n .withDefaultOffsetY(this._options.offsetY)\n .withPositions(this._getOverlayPositions());\n }\n\n /**\n * Determine and return where to position the opened menu relative to the mouse location.\n */\n private _getOverlayPositions(): ConnectedPosition[] {\n // TODO: this should be configurable through the injected context menu options\n return [\n {originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top'},\n {originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'top'},\n {originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom'},\n {originX: 'start', originY: 'bottom', overlayX: 'end', overlayY: 'bottom'},\n ];\n }\n\n /**\n * Get the portal to be attached to the overlay which contains the menu. Allows for the menu\n * content to change dynamically and be reflected in the application.\n */\n private _getMenuContent(): Portal<unknown> {\n const hasMenuContentChanged = this.menuPanel._templateRef !== this._panelContent?.templateRef;\n if (this.menuPanel && (!this._panelContent || hasMenuContentChanged)) {\n this._panelContent = new TemplatePortal(this.menuPanel._templateRef, this._viewContainerRef);\n }\n\n return this._panelContent;\n }\n\n /** Subscribe to the menu stack close events and close this menu when requested. */\n private _setMenuStackListener() {\n this._menuStack.closed.pipe(takeUntil(this._destroyed)).subscribe(item => {\n if (item === this._menuPanel._menu && this.isOpen()) {\n this.closed.next();\n this._overlayRef!.detach();\n }\n });\n }\n\n /**\n * Subscribe to the overlays outside pointer events stream and handle closing out the stack if a\n * click occurs outside the menus.\n */\n private _subscribeToOutsideClicks() {\n if (this._overlayRef) {\n this._overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this._stopOutsideClicksListener))\n .subscribe(event => {\n if (!isClickInsideMenuOverlay(event.target as Element)) {\n this._menuStack.closeAll();\n }\n });\n }\n }\n\n ngOnDestroy() {\n this._destroyOverlay();\n this._resetPanelMenuStack();\n\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Destroy and unset the overlay reference it if exists. */\n private _destroyOverlay() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n }\n\n /** Set the menu panels menu stack back to null. */\n private _resetPanelMenuStack() {\n // If a ContextMenuTrigger is placed in a conditionally rendered view, each time the trigger is\n // rendered the panel setter for ContextMenuTrigger is called. From the first render onward,\n // the attached CdkMenuPanel has the MenuStack set. Since we throw an error if a panel already\n // has a stack set, we want to reset the attached stack here to prevent the error from being\n // thrown if the trigger re-configures its attached panel (in the case where there is a 1:1\n // relationship between the panel and trigger).\n if (this._menuPanel) {\n this._menuPanel._menuStack = null;\n }\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CdkMenu} from './menu';\nimport {CdkMenuBar} from './menu-bar';\nimport {CdkMenuPanel} from './menu-panel';\nimport {CdkMenuItem} from './menu-item';\nimport {CdkMenuGroup} from './menu-group';\nimport {CdkMenuItemRadio} from './menu-item-radio';\nimport {CdkMenuItemCheckbox} from './menu-item-checkbox';\nimport {CdkMenuItemTrigger} from './menu-item-trigger';\nimport {CdkContextMenuTrigger} from './context-menu';\nimport {CdkTargetMenuAim} from './menu-aim';\n\nconst EXPORTED_DECLARATIONS = [\n CdkMenuBar,\n CdkMenu,\n CdkMenuPanel,\n CdkMenuItem,\n CdkMenuItemRadio,\n CdkMenuItemCheckbox,\n CdkMenuItemTrigger,\n CdkMenuGroup,\n CdkContextMenuTrigger,\n CdkTargetMenuAim,\n];\n@NgModule({\n imports: [OverlayModule],\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class CdkMenuModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './menu-module';\nexport * from './menu-bar';\nexport * from './menu';\nexport * from './menu-item';\nexport * from './menu-item-checkbox';\nexport * from './menu-item-radio';\nexport * from './menu-item-trigger';\nexport * from './menu-panel';\nexport * from './menu-group';\nexport * from './context-menu';\n\nexport {MenuStack, MenuStackItem} from './menu-stack';\nexport {CDK_MENU} from './menu-interface';\nexport {TargetMenuAim, MenuAim, MENU_AIM, CdkTargetMenuAim} from './menu-aim';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {Menu as ɵangular_material_src_cdk_experimental_menu_menu_a} from './menu-interface';\nexport {CdkMenuItemSelectable as ɵangular_material_src_cdk_experimental_menu_menu_b} from './menu-item-selectable';"],"names":["InjectionToken","Subject","fromEvent","filter","takeUntil","Injectable","NgZone","Directive","EventEmitter","merge","SPACE","ENTER","RIGHT_ARROW","LEFT_ARROW","DOWN_ARROW","UP_ARROW","OverlayConfig","TemplatePortal","ElementRef","ViewContainerRef","Overlay","Optional","Inject","Directionality","Input","Output","coerceBooleanProperty","Self","HostListener","UniqueSelectionDispatcher","ContentChildren","TemplateRef","defer","startWith","mergeMap","mapTo","mergeAll","ESCAPE","hasModifierKey","TAB","take","FocusKeyManager","switchMap","NgModule","OverlayModule"],"mappings":"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"}
1
+ {"version":3,"file":"cdk-experimental-menu.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/menu/menu-interface.ts","../../../../../src/cdk-experimental/menu/menu-stack.ts","../../../../../src/cdk-experimental/menu/menu-errors.ts","../../../../../src/cdk-experimental/menu/menu-aim.ts","../../../../../src/cdk-experimental/menu/menu-item-trigger.ts","../../../../../src/cdk-experimental/menu/menu-item.ts","../../../../../src/cdk-experimental/menu/menu-item-selectable.ts","../../../../../src/cdk-experimental/menu/menu-group.ts","../../../../../src/cdk-experimental/menu/menu-panel.ts","../../../../../src/cdk-experimental/menu/pointer-focus-tracker.ts","../../../../../src/cdk-experimental/menu/menu.ts","../../../../../src/cdk-experimental/menu/menu-bar.ts","../../../../../src/cdk-experimental/menu/menu-item-radio.ts","../../../../../src/cdk-experimental/menu/menu-item-checkbox.ts","../../../../../src/cdk-experimental/menu/context-menu.ts","../../../../../src/cdk-experimental/menu/menu-module.ts","../../../../../src/cdk-experimental/menu/public-api.ts","../../../../../src/cdk-experimental/menu/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken, ElementRef} from '@angular/core';\nimport {MenuStackItem} from './menu-stack';\nimport {FocusOrigin} from '@angular/cdk/a11y';\n\n/** Injection token used to return classes implementing the Menu interface */\nexport const CDK_MENU = new InjectionToken<Menu>('cdk-menu');\n\n/** Interface which specifies Menu operations and used to break circular dependency issues */\nexport interface Menu extends MenuStackItem {\n /** The element the Menu directive is placed on. */\n _elementRef: ElementRef<HTMLElement>;\n\n /** The orientation of the menu */\n orientation: 'horizontal' | 'vertical';\n\n /** Place focus on the first MenuItem in the menu. */\n focusFirstItem(focusOrigin: FocusOrigin): void;\n\n /** Place focus on the last MenuItem in the menu. */\n focusLastItem(focusOrigin: FocusOrigin): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Subject, Observable} from 'rxjs';\n\n/** Events to emit as specified by the caller once the MenuStack is empty. */\nexport const enum FocusNext {\n nextItem,\n previousItem,\n currentItem,\n}\n\n/**\n * Interface for the elements tracked in the MenuStack.\n */\nexport interface MenuStackItem {\n /** A reference to the previous Menus MenuStack instance. */\n _menuStack: MenuStack | null;\n}\n\n/**\n * MenuStack allows subscribers to listen for close events (when a MenuStackItem is popped off\n * of the stack) in order to perform closing actions. Upon the MenuStack being empty it emits\n * from the `empty` observable specifying the next focus action which the listener should perform\n * as requested by the closer.\n */\nexport class MenuStack {\n /** All MenuStackItems tracked by this MenuStack. */\n private readonly _elements: MenuStackItem[] = [];\n\n /** Emits the element which was popped off of the stack when requested by a closer. */\n private readonly _close: Subject<MenuStackItem | undefined> = new Subject();\n\n /** Emits once the MenuStack has become empty after popping off elements. */\n private readonly _empty: Subject<FocusNext | undefined> = new Subject();\n\n /** Observable which emits the MenuStackItem which has been requested to close. */\n readonly closed: Observable<MenuStackItem | undefined> = this._close;\n\n /**\n * Observable which emits when the MenuStack is empty after popping off the last element. It\n * emits a FocusNext event which specifies the action the closer has requested the listener\n * perform.\n */\n readonly emptied: Observable<FocusNext | undefined> = this._empty;\n\n /** @param menu the MenuStackItem to put on the stack. */\n push(menu: MenuStackItem) {\n this._elements.push(menu);\n }\n\n /**\n * Pop items off of the stack up to and including `lastItem` and emit each on the close\n * observable. If the stack is empty or `lastItem` is not on the stack it does nothing.\n * @param lastItem the last item to pop off the stack.\n * @param focusNext the event to emit on the `empty` observable if the method call resulted in an\n * empty stack. Does not emit if the stack was initially empty or if `lastItem` was not on the\n * stack.\n */\n close(lastItem: MenuStackItem, focusNext?: FocusNext) {\n if (this._elements.indexOf(lastItem) >= 0) {\n let poppedElement: MenuStackItem | undefined;\n do {\n poppedElement = this._elements.pop();\n this._close.next(poppedElement);\n } while (poppedElement !== lastItem);\n\n if (this.isEmpty()) {\n this._empty.next(focusNext);\n }\n }\n }\n\n /**\n * Pop items off of the stack up to but excluding `lastItem` and emit each on the close\n * observable. If the stack is empty or `lastItem` is not on the stack it does nothing.\n * @param lastItem the element which should be left on the stack\n * @return whether or not an item was removed from the stack\n */\n closeSubMenuOf(lastItem: MenuStackItem) {\n let removed = false;\n if (this._elements.indexOf(lastItem) >= 0) {\n removed = this.peek() !== lastItem;\n while (this.peek() !== lastItem) {\n this._close.next(this._elements.pop());\n }\n }\n return removed;\n }\n\n /**\n * Pop off all MenuStackItems and emit each one on the `close` observable one by one.\n * @param focusNext the event to emit on the `empty` observable once the stack is emptied. Does\n * not emit if the stack was initially empty.\n */\n closeAll(focusNext?: FocusNext) {\n if (!this.isEmpty()) {\n while (!this.isEmpty()) {\n const menuStackItem = this._elements.pop();\n if (menuStackItem) {\n this._close.next(menuStackItem);\n }\n }\n\n this._empty.next(focusNext);\n }\n }\n\n /** Return true if this stack is empty. */\n isEmpty() {\n return !this._elements.length;\n }\n\n /** Return the length of the stack. */\n length() {\n return this._elements.length;\n }\n\n /** Get the top most element on the stack. */\n peek(): MenuStackItem | undefined {\n return this._elements[this._elements.length - 1];\n }\n}\n\n/** NoopMenuStack is a placeholder MenuStack used for inline menus. */\nexport class NoopMenuStack extends MenuStack {\n /** Noop push - does not add elements to the MenuStack. */\n override push(_: MenuStackItem) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Throws an exception when a menu panel already has a menu stack.\n * @docs-private\n */\nexport function throwExistingMenuStackError() {\n throw Error(\n 'CdkMenuPanel is already referenced by different CdkMenuTrigger. Ensure that a menu is' +\n ' opened by a single trigger only.'\n );\n}\n\n/**\n * Throws an exception when an instance of the PointerFocusTracker is not provided.\n * @docs-private\n */\nexport function throwMissingPointerFocusTracker() {\n throw Error('expected an instance of PointerFocusTracker to be provided');\n}\n\n/**\n * Throws an exception when a reference to the parent menu is not provided.\n * @docs-private\n */\nexport function throwMissingMenuReference() {\n throw Error('expected a reference to the parent menu');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone, OnDestroy, InjectionToken, Directive} from '@angular/core';\nimport {fromEvent, Subject} from 'rxjs';\nimport {takeUntil, filter} from 'rxjs/operators';\nimport {PointerFocusTracker, FocusableElement} from './pointer-focus-tracker';\nimport {Menu} from './menu-interface';\nimport {throwMissingPointerFocusTracker, throwMissingMenuReference} from './menu-errors';\n\n/**\n * MenuAim is responsible for determining if a sibling menuitem's menu should be closed when a\n * Toggler item is hovered into. It is up to the hovered in item to call the MenuAim service in\n * order to determine if it may perform its close actions.\n */\nexport interface MenuAim {\n /** Set the Menu and its PointerFocusTracker. */\n initialize(menu: Menu, pointerTracker: PointerFocusTracker<FocusableElement & Toggler>): void;\n\n /**\n * Calls the `doToggle` callback when it is deemed that the user is not moving towards\n * the submenu.\n * @param doToggle the function called when the user is not moving towards the submenu.\n */\n toggle(doToggle: () => void): void;\n}\n\n/** Injection token used for an implementation of MenuAim. */\nexport const MENU_AIM = new InjectionToken<MenuAim>('cdk-menu-aim');\n\n/** Capture every nth mouse move event. */\nconst MOUSE_MOVE_SAMPLE_FREQUENCY = 3;\n\n/** The number of mouse move events to track. */\nconst NUM_POINTS = 5;\n\n/**\n * How long to wait before closing a sibling menu if a user stops short of the submenu they were\n * predicted to go into.\n */\nconst CLOSE_DELAY = 300;\n\n/**\n * An element which when hovered over may perform closing actions on the open submenu and\n * potentially open its own menu.\n */\nexport interface Toggler {\n getMenu(): Menu | undefined;\n}\n\n/** Calculate the slope between point a and b. */\nfunction getSlope(a: Point, b: Point) {\n return (b.y - a.y) / (b.x - a.x);\n}\n\n/** Calculate the y intercept for the given point and slope. */\nfunction getYIntercept(point: Point, slope: number) {\n return point.y - slope * point.x;\n}\n\n/** Represents a coordinate of mouse travel. */\ntype Point = {x: number; y: number};\n\n/**\n * Whether the given mouse trajectory line defined by the slope and y intercept falls within the\n * submenu as defined by `submenuPoints`\n * @param submenuPoints the submenu DOMRect points.\n * @param m the slope of the trajectory line.\n * @param b the y intercept of the trajectory line.\n *\n * @return true if any point on the line falls within the submenu.\n */\nfunction isWithinSubmenu(submenuPoints: DOMRect, m: number, b: number) {\n const {left, right, top, bottom} = submenuPoints;\n\n // Check for intersection with each edge of the submenu (left, right, top, bottom)\n // by fixing one coordinate to that edge's coordinate (either x or y) and checking if the\n // other coordinate is within bounds.\n return (\n (m * left + b >= top && m * left + b <= bottom) ||\n (m * right + b >= top && m * right + b <= bottom) ||\n ((top - b) / m >= left && (top - b) / m <= right) ||\n ((bottom - b) / m >= left && (bottom - b) / m <= right)\n );\n}\n/**\n * TargetMenuAim predicts if a user is moving into a submenu. It calculates the\n * trajectory of the user's mouse movement in the current menu to determine if the\n * mouse is moving towards an open submenu.\n *\n * The determination is made by calculating the slope of the users last NUM_POINTS moves where each\n * pair of points determines if the trajectory line points into the submenu. It uses consensus\n * approach by checking if at least NUM_POINTS / 2 pairs determine that the user is moving towards\n * to submenu.\n */\n@Injectable()\nexport class TargetMenuAim implements MenuAim, OnDestroy {\n /** The last NUM_POINTS mouse move events. */\n private readonly _points: Point[] = [];\n\n /** Reference to the root menu in which we are tracking mouse moves. */\n private _menu: Menu;\n\n /** Reference to the root menu's mouse manager. */\n private _pointerTracker: PointerFocusTracker<Toggler & FocusableElement>;\n\n /** The id associated with the current timeout call waiting to resolve. */\n private _timeoutId: number | null;\n\n /** Emits when this service is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject();\n\n constructor(private readonly _ngZone: NgZone) {}\n\n /** Set the Menu and its PointerFocusTracker. */\n initialize(menu: Menu, pointerTracker: PointerFocusTracker<FocusableElement & Toggler>) {\n this._menu = menu;\n this._pointerTracker = pointerTracker;\n this._subscribeToMouseMoves();\n }\n\n /**\n * Calls the `doToggle` callback when it is deemed that the user is not moving towards\n * the submenu.\n * @param doToggle the function called when the user is not moving towards the submenu.\n */\n toggle(doToggle: () => void) {\n // If the menu is horizontal the sub-menus open below and there is no risk of premature\n // closing of any sub-menus therefore we automatically resolve the callback.\n if (this._menu.orientation === 'horizontal') {\n doToggle();\n }\n\n this._checkConfigured();\n\n const siblingItemIsWaiting = !!this._timeoutId;\n const hasPoints = this._points.length > 1;\n\n if (hasPoints && !siblingItemIsWaiting) {\n if (this._isMovingToSubmenu()) {\n this._startTimeout(doToggle);\n } else {\n doToggle();\n }\n } else if (!siblingItemIsWaiting) {\n doToggle();\n }\n }\n\n /**\n * Start the delayed toggle handler if one isn't running already.\n *\n * The delayed toggle handler executes the `doToggle` callback after some period of time iff the\n * users mouse is on an item in the current menu.\n */\n private _startTimeout(doToggle: () => void) {\n // If the users mouse is moving towards a submenu we don't want to immediately resolve.\n // Wait for some period of time before determining if the previous menu should close in\n // cases where the user may have moved towards the submenu but stopped on a sibling menu\n // item intentionally.\n const timeoutId = (setTimeout(() => {\n // Resolve if the user is currently moused over some element in the root menu\n if (this._pointerTracker!.activeElement && timeoutId === this._timeoutId) {\n doToggle();\n }\n this._timeoutId = null;\n }, CLOSE_DELAY) as any) as number;\n\n this._timeoutId = timeoutId;\n }\n\n /** Whether the user is heading towards the open submenu. */\n private _isMovingToSubmenu() {\n const submenuPoints = this._getSubmenuBounds();\n if (!submenuPoints) {\n return false;\n }\n\n let numMoving = 0;\n const currPoint = this._points[this._points.length - 1];\n // start from the second last point and calculate the slope between each point and the last\n // point.\n for (let i = this._points.length - 2; i >= 0; i--) {\n const previous = this._points[i];\n const slope = getSlope(currPoint, previous);\n if (isWithinSubmenu(submenuPoints, slope, getYIntercept(currPoint, slope))) {\n numMoving++;\n }\n }\n return numMoving >= Math.floor(NUM_POINTS / 2);\n }\n\n /** Get the bounding DOMRect for the open submenu. */\n private _getSubmenuBounds(): DOMRect | undefined {\n return this._pointerTracker?.previousElement\n ?.getMenu()\n ?._elementRef.nativeElement.getBoundingClientRect();\n }\n\n /**\n * Check if a reference to the PointerFocusTracker and menu element is provided.\n * @throws an error if neither reference is provided.\n */\n private _checkConfigured() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._pointerTracker) {\n throwMissingPointerFocusTracker();\n }\n if (!this._menu) {\n throwMissingMenuReference();\n }\n }\n }\n\n /** Subscribe to the root menus mouse move events and update the tracked mouse points. */\n private _subscribeToMouseMoves() {\n this._ngZone.runOutsideAngular(() => {\n fromEvent<MouseEvent>(this._menu._elementRef.nativeElement, 'mousemove')\n .pipe(\n filter((_: MouseEvent, index: number) => index % MOUSE_MOVE_SAMPLE_FREQUENCY === 0),\n takeUntil(this._destroyed)\n )\n .subscribe((event: MouseEvent) => {\n this._points.push({x: event.clientX, y: event.clientY});\n if (this._points.length > NUM_POINTS) {\n this._points.shift();\n }\n });\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n}\n\n/**\n * CdkTargetMenuAim is a provider for the TargetMenuAim service. It should be added to an\n * element with either the `cdkMenu` or `cdkMenuBar` directive and child menu items.\n */\n@Directive({\n selector: '[cdkTargetMenuAim]',\n exportAs: 'cdkTargetMenuAim',\n providers: [{provide: MENU_AIM, useClass: TargetMenuAim}],\n})\nexport class CdkTargetMenuAim {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n ViewContainerRef,\n Inject,\n OnDestroy,\n Optional,\n NgZone,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n OverlayRef,\n Overlay,\n OverlayConfig,\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n} from '@angular/cdk/overlay';\nimport {SPACE, ENTER, RIGHT_ARROW, LEFT_ARROW, DOWN_ARROW, UP_ARROW} from '@angular/cdk/keycodes';\nimport {fromEvent, Subject, merge} from 'rxjs';\nimport {takeUntil, filter} from 'rxjs/operators';\nimport {CdkMenuPanel} from './menu-panel';\nimport {Menu, CDK_MENU} from './menu-interface';\nimport {FocusNext, MenuStack} from './menu-stack';\nimport {throwExistingMenuStackError} from './menu-errors';\nimport {MENU_AIM, MenuAim} from './menu-aim';\n\n/**\n * Whether the target element is a menu item to be ignored by the overlay background click handler.\n */\nexport function isClickInsideMenuOverlay(target: Element): boolean {\n while (target?.parentElement) {\n const isOpenTrigger =\n target.getAttribute('aria-expanded') === 'true' &&\n target.classList.contains('cdk-menu-trigger');\n const isOverlayMenu =\n target.classList.contains('cdk-menu') && !target.classList.contains('cdk-menu-inline');\n\n if (isOpenTrigger || isOverlayMenu) {\n return true;\n }\n target = target.parentElement;\n }\n return false;\n}\n\n/**\n * A directive to be combined with CdkMenuItem which opens the Menu it is bound to. If the\n * element is in a top level MenuBar it will open the menu on click, or if a sibling is already\n * opened it will open on hover. If it is inside of a Menu it will open the attached Submenu on\n * hover regardless of its sibling state.\n *\n * The directive must be placed along with the `cdkMenuItem` directive in order to enable full\n * functionality.\n */\n@Directive({\n selector: '[cdkMenuTriggerFor]',\n exportAs: 'cdkMenuTriggerFor',\n host: {\n '(keydown)': '_toggleOnKeydown($event)',\n '(click)': 'toggle()',\n 'class': 'cdk-menu-trigger',\n 'aria-haspopup': 'menu',\n '[attr.aria-expanded]': 'isMenuOpen()',\n },\n})\nexport class CdkMenuItemTrigger implements OnDestroy {\n /** Template reference variable to the menu this trigger opens */\n @Input('cdkMenuTriggerFor')\n get menuPanel(): CdkMenuPanel | undefined {\n return this._menuPanel;\n }\n set menuPanel(panel: CdkMenuPanel | undefined) {\n // If the provided panel already has a stack, that means it already has a trigger configured.\n // Note however that there are some edge cases where two triggers **may** share the same menu,\n // e.g. two triggers in two separate menus.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && panel?._menuStack) {\n throwExistingMenuStackError();\n }\n\n this._menuPanel = panel;\n if (this._menuPanel) {\n this._menuPanel._menuStack = this._getMenuStack();\n }\n }\n\n /** Reference to the MenuPanel this trigger toggles. */\n private _menuPanel?: CdkMenuPanel;\n\n /** Emits when the attached menu is requested to open */\n @Output('cdkMenuOpened') readonly opened: EventEmitter<void> = new EventEmitter();\n\n /** Emits when the attached menu is requested to close */\n @Output('cdkMenuClosed') readonly closed: EventEmitter<void> = new EventEmitter();\n\n /** The menu stack for this trigger and its sub-menus. */\n _menuStack: MenuStack = new MenuStack();\n\n /** A reference to the overlay which manages the triggered menu */\n private _overlayRef: OverlayRef | null = null;\n\n /** The content of the menu panel opened by this trigger. */\n private _panelContent: TemplatePortal;\n\n /** Emits when this trigger is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject();\n\n /** Emits when the outside pointer events listener on the overlay should be stopped. */\n private readonly _stopOutsideClicksListener = merge(this.closed, this._destroyed);\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n protected readonly _viewContainerRef: ViewContainerRef,\n private readonly _overlay: Overlay,\n private readonly _ngZone: NgZone,\n @Optional() @Inject(CDK_MENU) private readonly _parentMenu?: Menu,\n @Optional() @Inject(MENU_AIM) private readonly _menuAim?: MenuAim,\n @Optional() private readonly _directionality?: Directionality\n ) {\n this._registerCloseHandler();\n this._subscribeToMouseEnter();\n }\n\n /** Open/close the attached menu if the trigger has been configured with one */\n toggle() {\n if (this.hasMenu()) {\n this.isMenuOpen() ? this.closeMenu() : this.openMenu();\n }\n }\n\n /** Open the attached menu. */\n openMenu() {\n if (!this.isMenuOpen()) {\n this.opened.next();\n\n this._overlayRef = this._overlayRef || this._overlay.create(this._getOverlayConfig());\n this._overlayRef.attach(this._getPortal());\n this._subscribeToOutsideClicks();\n }\n }\n\n /** Close the opened menu. */\n closeMenu() {\n if (this.isMenuOpen()) {\n this.closed.next();\n\n this._overlayRef!.detach();\n }\n this._closeSiblingTriggers();\n }\n\n /** Return true if the trigger has an attached menu */\n hasMenu() {\n return !!this.menuPanel;\n }\n\n /** Whether the menu this button is a trigger for is open */\n isMenuOpen() {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n /**\n * Get a reference to the rendered Menu if the Menu is open and it is visible in the DOM.\n * @return the menu if it is open, otherwise undefined.\n */\n getMenu(): Menu | undefined {\n return this.menuPanel?._menu;\n }\n\n /**\n * Subscribe to the mouseenter events and close any sibling menu items if this element is moused\n * into.\n */\n private _subscribeToMouseEnter() {\n // Closes any sibling menu items and opens the menu associated with this trigger.\n const toggleMenus = () =>\n this._ngZone.run(() => {\n this._closeSiblingTriggers();\n this.openMenu();\n });\n\n this._ngZone.runOutsideAngular(() => {\n fromEvent(this._elementRef.nativeElement, 'mouseenter')\n .pipe(\n filter(() => !this._getMenuStack()?.isEmpty() && !this.isMenuOpen()),\n takeUntil(this._destroyed)\n )\n .subscribe(() => {\n if (this._menuAim) {\n this._menuAim.toggle(toggleMenus);\n } else {\n toggleMenus();\n }\n });\n });\n }\n\n /**\n * Handles keyboard events for the menu item, specifically opening/closing the attached menu and\n * focusing the appropriate submenu item.\n * @param event the keyboard event to handle\n */\n _toggleOnKeydown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n switch (keyCode) {\n case SPACE:\n case ENTER:\n event.preventDefault();\n this.toggle();\n this.menuPanel?._menu?.focusFirstItem('keyboard');\n break;\n\n case RIGHT_ARROW:\n if (this._parentMenu && this._isParentVertical()) {\n event.preventDefault();\n if (this._directionality?.value === 'rtl') {\n this._getMenuStack().close(this._parentMenu, FocusNext.currentItem);\n } else {\n this.openMenu();\n this.menuPanel?._menu?.focusFirstItem('keyboard');\n }\n }\n break;\n\n case LEFT_ARROW:\n if (this._parentMenu && this._isParentVertical()) {\n event.preventDefault();\n if (this._directionality?.value === 'rtl') {\n this.openMenu();\n this.menuPanel?._menu?.focusFirstItem('keyboard');\n } else {\n this._getMenuStack().close(this._parentMenu, FocusNext.currentItem);\n }\n }\n break;\n\n case DOWN_ARROW:\n case UP_ARROW:\n if (!this._isParentVertical()) {\n event.preventDefault();\n this.openMenu();\n keyCode === DOWN_ARROW\n ? this.menuPanel?._menu?.focusFirstItem('keyboard')\n : this.menuPanel?._menu?.focusLastItem('keyboard');\n }\n break;\n }\n }\n\n /** Close out any sibling menu trigger menus. */\n private _closeSiblingTriggers() {\n if (this._parentMenu) {\n const menuStack = this._getMenuStack();\n\n // If nothing was removed from the stack and the last element is not the parent item\n // that means that the parent menu is a menu bar since we don't put the menu bar on the\n // stack\n const isParentMenuBar =\n !menuStack.closeSubMenuOf(this._parentMenu) && menuStack.peek() !== this._parentMenu;\n\n if (isParentMenuBar) {\n menuStack.closeAll();\n }\n } else {\n this._getMenuStack().closeAll();\n }\n }\n\n /** Get the configuration object used to create the overlay */\n private _getOverlayConfig() {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPositionStrategy(),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n direction: this._directionality,\n });\n }\n\n /** Build the position strategy for the overlay which specifies where to place the menu */\n private _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withPositions(this._getOverlayPositions());\n }\n\n /** Determine and return where to position the opened menu relative to the menu item */\n private _getOverlayPositions(): ConnectedPosition[] {\n // TODO: use a common positioning config from (possibly) cdk/overlay\n return !this._parentMenu || this._parentMenu.orientation === 'horizontal'\n ? [\n {originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top'},\n {originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom'},\n {originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top'},\n {originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom'},\n ]\n : [\n {originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top'},\n {originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom'},\n {originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'top'},\n {originX: 'start', originY: 'bottom', overlayX: 'end', overlayY: 'bottom'},\n ];\n }\n\n /**\n * Get the portal to be attached to the overlay which contains the menu. Allows for the menu\n * content to change dynamically and be reflected in the application.\n */\n private _getPortal() {\n const hasMenuContentChanged = this.menuPanel?._templateRef !== this._panelContent?.templateRef;\n if (this.menuPanel && (!this._panelContent || hasMenuContentChanged)) {\n this._panelContent = new TemplatePortal(this.menuPanel._templateRef, this._viewContainerRef);\n }\n\n return this._panelContent;\n }\n\n /**\n * @return true if if the enclosing parent menu is configured in a vertical orientation.\n */\n private _isParentVertical() {\n return this._parentMenu?.orientation === 'vertical';\n }\n\n /**\n * Subscribe to the MenuStack close events if this is a standalone trigger and close out the menu\n * this triggers when requested.\n */\n private _registerCloseHandler() {\n if (!this._parentMenu) {\n this._menuStack.closed.pipe(takeUntil(this._destroyed)).subscribe(item => {\n if (item === this._menuPanel?._menu) {\n this.closeMenu();\n }\n });\n }\n }\n\n /** Get the menu stack for this trigger - either from the parent or this trigger. */\n private _getMenuStack() {\n // We use a function since at the construction of the MenuItemTrigger the parent Menu won't have\n // its menu stack set. Therefore we need to reference the menu stack from the parent each time\n // we want to use it.\n return this._parentMenu?._menuStack || this._menuStack;\n }\n\n ngOnDestroy() {\n this._destroyOverlay();\n this._resetPanelMenuStack();\n\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Set the menu panels menu stack back to null. */\n private _resetPanelMenuStack() {\n // If a CdkMenuTrigger is placed in a submenu, each time the trigger is rendered (its parent\n // menu is opened) the panel setter for CdkMenuPanel is called. From the first render onward,\n // the attached CdkMenuPanel has the MenuStack set. Since we throw an error if a panel already\n // has a stack set, we want to reset the attached stack here to prevent the error from being\n // thrown if the trigger re-configures its attached panel (in the case where there is a 1:1\n // relationship between the panel and trigger).\n if (this._menuPanel) {\n this._menuPanel._menuStack = null;\n }\n }\n\n /**\n * Subscribe to the overlays outside pointer events stream and handle closing out the stack if a\n * click occurs outside the menus.\n */\n private _subscribeToOutsideClicks() {\n if (this._overlayRef) {\n this._overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this._stopOutsideClicksListener))\n .subscribe(event => {\n if (!isClickInsideMenuOverlay(event.target as Element)) {\n this._getMenuStack().closeAll();\n }\n });\n }\n }\n\n /** Destroy and unset the overlay reference it if exists */\n private _destroyOverlay() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n Optional,\n Self,\n ElementRef,\n Output,\n EventEmitter,\n Inject,\n HostListener,\n NgZone,\n OnDestroy,\n} from '@angular/core';\nimport {coerceBooleanProperty, BooleanInput} from '@angular/cdk/coercion';\nimport {FocusableOption} from '@angular/cdk/a11y';\nimport {SPACE, ENTER, RIGHT_ARROW, LEFT_ARROW} from '@angular/cdk/keycodes';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {Subject, fromEvent} from 'rxjs';\nimport {takeUntil, filter} from 'rxjs/operators';\nimport {CdkMenuItemTrigger} from './menu-item-trigger';\nimport {Menu, CDK_MENU} from './menu-interface';\nimport {FocusNext} from './menu-stack';\nimport {FocusableElement} from './pointer-focus-tracker';\nimport {Toggler, MENU_AIM, MenuAim} from './menu-aim';\n\n// TODO refactor this to be configurable allowing for custom elements to be removed\n/** Removes all icons from within the given element. */\nfunction removeIcons(element: Element) {\n for (const icon of Array.from(element.querySelectorAll('mat-icon, .material-icons'))) {\n icon.parentNode?.removeChild(icon);\n }\n}\n\n/**\n * Directive which provides the ability for an element to be focused and navigated to using the\n * keyboard when residing in a CdkMenu, CdkMenuBar, or CdkMenuGroup. It performs user defined\n * behavior when clicked.\n */\n@Directive({\n selector: '[cdkMenuItem]',\n exportAs: 'cdkMenuItem',\n host: {\n '[tabindex]': '_tabindex',\n 'type': 'button',\n 'role': 'menuitem',\n 'class': 'cdk-menu-item',\n '[attr.aria-disabled]': 'disabled || null',\n },\n})\nexport class CdkMenuItem implements FocusableOption, FocusableElement, Toggler, OnDestroy {\n /** Whether the CdkMenuItem is disabled - defaults to false */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n /**\n * If this MenuItem is a regular MenuItem, outputs when it is triggered by a keyboard or mouse\n * event.\n */\n @Output('cdkMenuItemTriggered') readonly triggered: EventEmitter<void> = new EventEmitter();\n\n /**\n * The tabindex for this menu item managed internally and used for implementing roving a\n * tab index.\n */\n _tabindex: 0 | -1 = -1;\n\n /** Emits when the menu item is destroyed. */\n private readonly _destroyed = new Subject<void>();\n\n constructor(\n readonly _elementRef: ElementRef<HTMLElement>,\n private readonly _ngZone: NgZone,\n @Optional() @Inject(CDK_MENU) private readonly _parentMenu?: Menu,\n @Optional() @Inject(MENU_AIM) private readonly _menuAim?: MenuAim,\n @Optional() private readonly _dir?: Directionality,\n /** Reference to the CdkMenuItemTrigger directive if one is added to the same element */\n // `CdkMenuItem` is commonly used in combination with a `CdkMenuItemTrigger`.\n // tslint:disable-next-line: lightweight-tokens\n @Self() @Optional() private readonly _menuTrigger?: CdkMenuItemTrigger\n ) {\n this._setupMouseEnter();\n\n if (this._isStandaloneItem()) {\n this._tabindex = 0;\n }\n }\n\n /** Place focus on the element. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('blur')\n @HostListener('mouseout')\n /** Reset the _tabindex to -1. */\n _resetTabIndex() {\n if (!this._isStandaloneItem()) {\n this._tabindex = -1;\n }\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('focus')\n @HostListener('mouseenter', ['$event'])\n /**\n * Set the tab index to 0 if not disabled and it's a focus event, or a mouse enter if this element\n * is not in a menu bar.\n */\n _setTabIndex(event?: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n // don't set the tabindex if there are no open sibling or parent menus\n if (!event || !this._getMenuStack()?.isEmpty()) {\n this._tabindex = 0;\n }\n }\n\n /** Whether this menu item is standalone or within a menu or menu bar. */\n _isStandaloneItem() {\n return !this._parentMenu;\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('click')\n /**\n * If the menu item is not disabled and the element does not have a menu trigger attached, emit\n * on the cdkMenuItemTriggered emitter and close all open menus.\n */\n trigger() {\n if (!this.disabled && !this.hasMenu()) {\n this.triggered.next();\n this._getMenuStack()?.closeAll();\n }\n }\n\n /** Whether the menu item opens a menu. */\n hasMenu() {\n return !!this._menuTrigger?.hasMenu();\n }\n\n /** Return true if this MenuItem has an attached menu and it is open. */\n isMenuOpen() {\n return !!this._menuTrigger?.isMenuOpen();\n }\n\n /**\n * Get a reference to the rendered Menu if the Menu is open and it is visible in the DOM.\n * @return the menu if it is open, otherwise undefined.\n */\n getMenu(): Menu | undefined {\n return this._menuTrigger?.getMenu();\n }\n\n /** Get the MenuItemTrigger associated with this element. */\n getMenuTrigger(): CdkMenuItemTrigger | undefined {\n return this._menuTrigger;\n }\n\n /** Get the label for this element which is required by the FocusableOption interface. */\n getLabel(): string {\n // TODO cloning the tree may be expensive; implement a better method\n // we know that the current node is an element type\n const clone = this._elementRef.nativeElement.cloneNode(true) as Element;\n removeIcons(clone);\n\n return clone.textContent?.trim() || '';\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('keydown', ['$event'])\n /**\n * Handles keyboard events for the menu item, specifically either triggering the user defined\n * callback or opening/closing the current menu based on whether the left or right arrow key was\n * pressed.\n * @param event the keyboard event to handle\n */\n _onKeydown(event: KeyboardEvent) {\n switch (event.keyCode) {\n case SPACE:\n case ENTER:\n event.preventDefault();\n this.trigger();\n break;\n\n case RIGHT_ARROW:\n if (this._parentMenu && this._isParentVertical() && !this.hasMenu()) {\n event.preventDefault();\n this._dir?.value === 'rtl'\n ? this._getMenuStack()?.close(this._parentMenu, FocusNext.previousItem)\n : this._getMenuStack()?.closeAll(FocusNext.nextItem);\n }\n break;\n\n case LEFT_ARROW:\n if (this._parentMenu && this._isParentVertical() && !this.hasMenu()) {\n event.preventDefault();\n this._dir?.value === 'rtl'\n ? this._getMenuStack()?.closeAll(FocusNext.nextItem)\n : this._getMenuStack()?.close(this._parentMenu, FocusNext.previousItem);\n }\n break;\n }\n }\n\n /**\n * Subscribe to the mouseenter events and close any sibling menu items if this element is moused\n * into.\n */\n private _setupMouseEnter() {\n if (!this._isStandaloneItem()) {\n const closeOpenSiblings = () =>\n this._ngZone.run(() => this._getMenuStack()?.closeSubMenuOf(this._parentMenu!));\n\n this._ngZone.runOutsideAngular(() =>\n fromEvent(this._elementRef.nativeElement, 'mouseenter')\n .pipe(\n filter(() => !this._getMenuStack()?.isEmpty() && !this.hasMenu()),\n takeUntil(this._destroyed)\n )\n .subscribe(() => {\n if (this._menuAim) {\n this._menuAim.toggle(closeOpenSiblings);\n } else {\n closeOpenSiblings();\n }\n })\n );\n }\n }\n\n /**\n * Return true if the enclosing parent menu is configured in a horizontal orientation, false\n * otherwise or if no parent.\n */\n private _isParentVertical() {\n return this._parentMenu?.orientation === 'vertical';\n }\n\n /** Get the MenuStack from the parent menu. */\n private _getMenuStack() {\n // We use a function since at the construction of the MenuItemTrigger the parent Menu won't have\n // its menu stack set. Therefore we need to reference the menu stack from the parent each time\n // we want to use it.\n return this._parentMenu?._menuStack;\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty, BooleanInput} from '@angular/cdk/coercion';\nimport {Input, Directive, Output, EventEmitter} from '@angular/core';\nimport {CdkMenuItem} from './menu-item';\n\n/** Counter used to set a unique id and name for a selectable item */\nlet nextId = 0;\n\n/**\n * Base class providing checked state for MenuItems along with outputting a clicked event when the\n * element is triggered. It provides functionality for selectable elements.\n */\n@Directive()\nexport abstract class CdkMenuItemSelectable extends CdkMenuItem {\n /** Event emitted when the selectable item is clicked */\n @Output('cdkMenuItemToggled') readonly toggled: EventEmitter<CdkMenuItemSelectable> =\n new EventEmitter();\n\n /** Whether the element is checked */\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n this._checked = coerceBooleanProperty(value);\n }\n private _checked = false;\n\n /** The name of the selectable element with a default value */\n @Input() name: string = `cdk-selectable-item-${nextId++}`;\n\n /** The id of the selectable element with a default value */\n @Input() id: string = `cdk-selectable-item-${nextId++}`;\n\n /** If the element is not disabled emit the click event */\n override trigger() {\n if (!this.disabled) {\n this.toggled.next(this);\n }\n }\n\n static ngAcceptInputType_checked: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Output,\n EventEmitter,\n ContentChildren,\n AfterContentInit,\n QueryList,\n OnDestroy,\n} from '@angular/core';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {takeUntil} from 'rxjs/operators';\nimport {CdkMenuItemSelectable} from './menu-item-selectable';\nimport {CdkMenuItem} from './menu-item';\n\n/**\n * Directive which acts as a grouping container for `CdkMenuItem` instances with\n * `role=\"menuitemradio\"`, similar to a `role=\"radiogroup\"` element.\n */\n@Directive({\n selector: '[cdkMenuGroup]',\n exportAs: 'cdkMenuGroup',\n host: {\n 'role': 'group',\n 'class': 'cdk-menu-group',\n },\n providers: [{provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher}],\n})\nexport class CdkMenuGroup implements AfterContentInit, OnDestroy {\n /** Emits the element when checkbox or radiobutton state changed */\n @Output() readonly change: EventEmitter<CdkMenuItem> = new EventEmitter();\n\n /** List of menuitemcheckbox or menuitemradio elements which reside in this group */\n @ContentChildren(CdkMenuItemSelectable, {descendants: true})\n private readonly _selectableItems: QueryList<CdkMenuItemSelectable>;\n\n /** Emits when the _selectableItems QueryList triggers a change */\n private readonly _selectableChanges: EventEmitter<void> = new EventEmitter();\n\n ngAfterContentInit() {\n this._registerMenuSelectionListeners();\n }\n\n /**\n * Register the child selectable elements with the change emitter and ensure any new child\n * elements do so as well.\n */\n private _registerMenuSelectionListeners() {\n this._selectableItems.forEach(selectable => this._registerClickListener(selectable));\n\n this._selectableItems.changes.subscribe((selectableItems: QueryList<CdkMenuItemSelectable>) => {\n this._selectableChanges.next();\n selectableItems.forEach(selectable => this._registerClickListener(selectable));\n });\n }\n\n /** Register each selectable to emit on the change Emitter when clicked */\n private _registerClickListener(selectable: CdkMenuItemSelectable) {\n selectable.toggled\n .pipe(takeUntil(this._selectableChanges))\n .subscribe(() => this.change.next(selectable));\n }\n\n ngOnDestroy() {\n this._selectableChanges.next();\n this._selectableChanges.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, TemplateRef} from '@angular/core';\nimport {Menu} from './menu-interface';\nimport {MenuStack} from './menu-stack';\n\n/**\n * Directive applied to an ng-template which wraps a CdkMenu and provides a reference to the\n * child element it wraps which allows for opening of the CdkMenu in an overlay.\n */\n@Directive({selector: 'ng-template[cdkMenuPanel]', exportAs: 'cdkMenuPanel'})\nexport class CdkMenuPanel {\n /** Reference to the child menu component */\n _menu?: Menu;\n\n /** Keep track of open Menus. */\n _menuStack: MenuStack | null;\n\n constructor(readonly _templateRef: TemplateRef<unknown>) {}\n\n /**\n * Set the Menu component on the menu panel. Since we cannot use ContentChild to fetch the\n * child Menu component, the child Menu must register its self with the parent MenuPanel.\n */\n _registerMenu(child: Menu) {\n this._menu = child;\n\n // The ideal solution would be to affect the CdkMenuPanel injector from the CdkMenuTrigger and\n // inject the menu stack reference into the child menu and menu items, however this isn't\n // possible at this time.\n this._menu._menuStack = this._menuStack;\n this._menuStack?.push(child);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {QueryList, ElementRef} from '@angular/core';\nimport {fromEvent, Observable, defer, Subject} from 'rxjs';\nimport {mapTo, mergeAll, takeUntil, startWith, mergeMap} from 'rxjs/operators';\n\n/** Item to track for mouse focus events. */\nexport interface FocusableElement {\n /** A reference to the element to be tracked. */\n _elementRef: ElementRef<HTMLElement>;\n}\n\n/**\n * PointerFocusTracker keeps track of the currently active item under mouse focus. It also has\n * observables which emit when the users mouse enters and leaves a tracked element.\n */\nexport class PointerFocusTracker<T extends FocusableElement> {\n /** Emits when an element is moused into. */\n readonly entered: Observable<T> = this._getItemPointerEntries();\n\n /** Emits when an element is moused out. */\n readonly exited: Observable<T> = this._getItemPointerExits();\n\n /** The element currently under mouse focus. */\n activeElement?: T;\n\n /** The element previously under mouse focus. */\n previousElement?: T;\n\n /** Emits when this is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject();\n\n constructor(private readonly _items: QueryList<T>) {\n this.entered.subscribe(element => (this.activeElement = element));\n this.exited.subscribe(() => {\n this.previousElement = this.activeElement;\n this.activeElement = undefined;\n });\n }\n\n /**\n * Gets a stream of pointer (mouse) entries into the given items.\n * This should typically run outside the Angular zone.\n */\n private _getItemPointerEntries(): Observable<T> {\n return defer(() =>\n this._items.changes.pipe(\n startWith(this._items),\n mergeMap((list: QueryList<T>) =>\n list.map(element =>\n fromEvent(element._elementRef.nativeElement, 'mouseenter').pipe(\n mapTo(element),\n takeUntil(this._items.changes)\n )\n )\n ),\n mergeAll()\n )\n );\n }\n\n /**\n * Gets a stream of pointer (mouse) exits out of the given items.\n * This should typically run outside the Angular zone.\n */\n private _getItemPointerExits() {\n return defer(() =>\n this._items.changes.pipe(\n startWith(this._items),\n mergeMap((list: QueryList<T>) =>\n list.map(element =>\n fromEvent(element._elementRef.nativeElement, 'mouseout').pipe(\n mapTo(element),\n takeUntil(this._items.changes)\n )\n )\n ),\n mergeAll()\n )\n );\n }\n\n /** Stop the managers listeners. */\n destroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n Output,\n EventEmitter,\n QueryList,\n ContentChildren,\n AfterContentInit,\n OnDestroy,\n Optional,\n OnInit,\n NgZone,\n HostListener,\n ElementRef,\n Inject,\n Self,\n} from '@angular/core';\nimport {FocusKeyManager, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n LEFT_ARROW,\n RIGHT_ARROW,\n UP_ARROW,\n DOWN_ARROW,\n ESCAPE,\n TAB,\n hasModifierKey,\n} from '@angular/cdk/keycodes';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {merge} from 'rxjs';\nimport {take, takeUntil, startWith, mergeMap, mapTo, mergeAll, switchMap} from 'rxjs/operators';\nimport {CdkMenuGroup} from './menu-group';\nimport {CdkMenuPanel} from './menu-panel';\nimport {Menu, CDK_MENU} from './menu-interface';\nimport {CdkMenuItem} from './menu-item';\nimport {MenuStack, MenuStackItem, FocusNext, NoopMenuStack} from './menu-stack';\nimport {PointerFocusTracker} from './pointer-focus-tracker';\nimport {MENU_AIM, MenuAim} from './menu-aim';\n\n/**\n * Directive which configures the element as a Menu which should contain child elements marked as\n * CdkMenuItem or CdkMenuGroup. Sets the appropriate role and aria-attributes for a menu and\n * contains accessible keyboard and mouse handling logic.\n *\n * It also acts as a RadioGroup for elements marked with role `menuitemradio`.\n */\n@Directive({\n selector: '[cdkMenu]',\n exportAs: 'cdkMenu',\n host: {\n '[tabindex]': '_isInline() ? 0 : null',\n 'role': 'menu',\n 'class': 'cdk-menu',\n '[class.cdk-menu-inline]': '_isInline()',\n '[attr.aria-orientation]': 'orientation',\n },\n providers: [\n {provide: CdkMenuGroup, useExisting: CdkMenu},\n {provide: CDK_MENU, useExisting: CdkMenu},\n ],\n})\nexport class CdkMenu extends CdkMenuGroup implements Menu, AfterContentInit, OnInit, OnDestroy {\n /**\n * Sets the aria-orientation attribute and determines where menus will be opened.\n * Does not affect styling/layout.\n */\n @Input('cdkMenuOrientation') orientation: 'horizontal' | 'vertical' = 'vertical';\n\n /** Event emitted when the menu is closed. */\n @Output() readonly closed: EventEmitter<void | 'click' | 'tab' | 'escape'> = new EventEmitter();\n\n // We provide a default MenuStack implementation in case the menu is an inline menu.\n // For Menus part of a MenuBar nested within a MenuPanel this will be overwritten\n // to the correct parent MenuStack.\n /** Track the Menus making up the open menu stack. */\n _menuStack: MenuStack = new NoopMenuStack();\n\n /** Handles keyboard events for the menu. */\n private _keyManager: FocusKeyManager<CdkMenuItem>;\n\n /** Manages items under mouse focus. */\n private _pointerTracker?: PointerFocusTracker<CdkMenuItem>;\n\n /** List of nested CdkMenuGroup elements */\n @ContentChildren(CdkMenuGroup, {descendants: true})\n private readonly _nestedGroups: QueryList<CdkMenuGroup>;\n\n /** All child MenuItem elements nested in this Menu. */\n @ContentChildren(CdkMenuItem, {descendants: true})\n private readonly _allItems: QueryList<CdkMenuItem>;\n\n /** The Menu Item which triggered the open submenu. */\n private _openItem?: CdkMenuItem;\n\n /**\n * A reference to the enclosing parent menu panel.\n *\n * Required to be set when using ViewEngine since ViewEngine does support injecting a reference to\n * the parent directive if the parent directive is placed on an `ng-template`. If using Ivy, the\n * injected value will be used over this one.\n */\n @Input('cdkMenuPanel') private readonly _explicitPanel?: CdkMenuPanel;\n\n constructor(\n private readonly _ngZone: NgZone,\n readonly _elementRef: ElementRef<HTMLElement>,\n @Self() @Optional() @Inject(MENU_AIM) private readonly _menuAim?: MenuAim,\n @Optional() private readonly _dir?: Directionality,\n // `CdkMenuPanel` is always used in combination with a `CdkMenu`.\n // tslint:disable-next-line: lightweight-tokens\n @Optional() private readonly _menuPanel?: CdkMenuPanel\n ) {\n super();\n }\n\n ngOnInit() {\n this._registerWithParentPanel();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n\n this._completeChangeEmitter();\n this._setKeyManager();\n this._subscribeToMenuOpen();\n this._subscribeToMenuStack();\n this._subscribeToMouseManager();\n\n this._menuAim?.initialize(this, this._pointerTracker!);\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('focus')\n /** Place focus on the first MenuItem in the menu and set the focus origin. */\n focusFirstItem(focusOrigin: FocusOrigin = 'program') {\n this._keyManager.setFocusOrigin(focusOrigin);\n this._keyManager.setFirstItemActive();\n }\n\n /** Place focus on the last MenuItem in the menu and set the focus origin. */\n focusLastItem(focusOrigin: FocusOrigin = 'program') {\n this._keyManager.setFocusOrigin(focusOrigin);\n this._keyManager.setLastItemActive();\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('keydown', ['$event'])\n /** Handle keyboard events for the Menu. */\n _handleKeyEvent(event: KeyboardEvent) {\n const keyManager = this._keyManager;\n switch (event.keyCode) {\n case LEFT_ARROW:\n case RIGHT_ARROW:\n if (this._isHorizontal()) {\n event.preventDefault();\n keyManager.setFocusOrigin('keyboard');\n keyManager.onKeydown(event);\n }\n break;\n\n case UP_ARROW:\n case DOWN_ARROW:\n if (!this._isHorizontal()) {\n event.preventDefault();\n keyManager.setFocusOrigin('keyboard');\n keyManager.onKeydown(event);\n }\n break;\n\n case ESCAPE:\n if (!hasModifierKey(event)) {\n event.preventDefault();\n this._menuStack.close(this, FocusNext.currentItem);\n }\n break;\n\n case TAB:\n this._menuStack.closeAll();\n break;\n\n default:\n keyManager.onKeydown(event);\n }\n }\n\n /** Register this menu with its enclosing parent menu panel */\n private _registerWithParentPanel() {\n this._getMenuPanel()?._registerMenu(this);\n }\n\n /**\n * Get the enclosing CdkMenuPanel defaulting to the injected reference over the developer\n * provided reference.\n */\n private _getMenuPanel() {\n return this._menuPanel || this._explicitPanel;\n }\n\n /**\n * Complete the change emitter if there are any nested MenuGroups or register to complete the\n * change emitter if a MenuGroup is rendered at some point\n */\n private _completeChangeEmitter() {\n if (this._hasNestedGroups()) {\n this.change.complete();\n } else {\n this._nestedGroups.changes.pipe(take(1)).subscribe(() => this.change.complete());\n }\n }\n\n /** Return true if there are nested CdkMenuGroup elements within the Menu */\n private _hasNestedGroups() {\n // view engine has a bug where @ContentChildren will return the current element\n // along with children if the selectors match - not just the children.\n // Here, if there is at least one element, we check to see if the first element is a CdkMenu in\n // order to ensure that we return true iff there are child CdkMenuGroup elements.\n return this._nestedGroups.length > 0 && !(this._nestedGroups.first instanceof CdkMenu);\n }\n\n /** Setup the FocusKeyManager with the correct orientation for the menu. */\n private _setKeyManager() {\n this._keyManager = new FocusKeyManager(this._allItems)\n .withWrap()\n .withTypeAhead()\n .withHomeAndEnd();\n\n if (this._isHorizontal()) {\n this._keyManager.withHorizontalOrientation(this._dir?.value || 'ltr');\n } else {\n this._keyManager.withVerticalOrientation();\n }\n }\n\n /**\n * Set the PointerFocusTracker and ensure that when mouse focus changes the key manager is updated\n * with the latest menu item under mouse focus.\n */\n private _subscribeToMouseManager() {\n this._ngZone.runOutsideAngular(() => {\n this._pointerTracker = new PointerFocusTracker(this._allItems);\n this._pointerTracker.entered\n .pipe(takeUntil(this.closed))\n .subscribe(item => this._keyManager.setActiveItem(item));\n });\n }\n\n /** Subscribe to the MenuStack close and empty observables. */\n private _subscribeToMenuStack() {\n this._menuStack.closed\n .pipe(takeUntil(this.closed))\n .subscribe(item => this._closeOpenMenu(item));\n\n this._menuStack.emptied\n .pipe(takeUntil(this.closed))\n .subscribe(event => this._toggleMenuFocus(event));\n }\n\n /**\n * Close the open menu if the current active item opened the requested MenuStackItem.\n * @param item the MenuStackItem requested to be closed.\n */\n private _closeOpenMenu(menu: MenuStackItem | undefined) {\n const keyManager = this._keyManager;\n const trigger = this._openItem;\n if (menu === trigger?.getMenuTrigger()?.getMenu()) {\n trigger?.getMenuTrigger()?.closeMenu();\n // If the user has moused over a sibling item we want to focus the element under mouse focus\n // not the trigger which previously opened the now closed menu.\n if (trigger) {\n keyManager.setActiveItem(this._pointerTracker?.activeElement || trigger);\n }\n }\n }\n\n /** Set focus the either the current, previous or next item based on the FocusNext event. */\n private _toggleMenuFocus(event: FocusNext | undefined) {\n const keyManager = this._keyManager;\n switch (event) {\n case FocusNext.nextItem:\n keyManager.setFocusOrigin('keyboard');\n keyManager.setNextItemActive();\n break;\n\n case FocusNext.previousItem:\n keyManager.setFocusOrigin('keyboard');\n keyManager.setPreviousItemActive();\n break;\n\n case FocusNext.currentItem:\n if (keyManager.activeItem) {\n keyManager.setFocusOrigin('keyboard');\n keyManager.setActiveItem(keyManager.activeItem);\n }\n break;\n }\n }\n\n // TODO(andy9775): remove duplicate logic between menu an menu bar\n /**\n * Subscribe to the menu trigger's open events in order to track the trigger which opened the menu\n * and stop tracking it when the menu is closed.\n */\n private _subscribeToMenuOpen() {\n const exitCondition = merge(this._allItems.changes, this.closed);\n this._allItems.changes\n .pipe(\n startWith(this._allItems),\n mergeMap((list: QueryList<CdkMenuItem>) =>\n list\n .filter(item => item.hasMenu())\n .map(item => item.getMenuTrigger()!.opened.pipe(mapTo(item), takeUntil(exitCondition)))\n ),\n mergeAll(),\n switchMap((item: CdkMenuItem) => {\n this._openItem = item;\n return item.getMenuTrigger()!.closed;\n }),\n takeUntil(this.closed)\n )\n .subscribe(() => (this._openItem = undefined));\n }\n\n /** Return true if this menu has been configured in a horizontal orientation. */\n private _isHorizontal() {\n return this.orientation === 'horizontal';\n }\n\n /**\n * Return true if this menu is an inline menu. That is, it does not exist in a pop-up and is\n * always visible in the dom.\n */\n _isInline() {\n // NoopMenuStack is the default. If this menu is not inline than the NoopMenuStack is replaced\n // automatically.\n return this._menuStack instanceof NoopMenuStack;\n }\n\n override ngOnDestroy() {\n this._emitClosedEvent();\n this._pointerTracker?.destroy();\n }\n\n /** Emit and complete the closed event emitter */\n private _emitClosedEvent() {\n this.closed.next();\n this.closed.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n OnDestroy,\n Optional,\n NgZone,\n HostListener,\n ElementRef,\n Inject,\n Self,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {FocusKeyManager, FocusOrigin} from '@angular/cdk/a11y';\nimport {LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, ESCAPE, TAB} from '@angular/cdk/keycodes';\nimport {takeUntil, mergeAll, mapTo, startWith, mergeMap, switchMap} from 'rxjs/operators';\nimport {Subject, merge} from 'rxjs';\nimport {CdkMenuGroup} from './menu-group';\nimport {CDK_MENU, Menu} from './menu-interface';\nimport {CdkMenuItem} from './menu-item';\nimport {MenuStack, MenuStackItem, FocusNext} from './menu-stack';\nimport {PointerFocusTracker} from './pointer-focus-tracker';\nimport {MenuAim, MENU_AIM} from './menu-aim';\n\n/**\n * Directive applied to an element which configures it as a MenuBar by setting the appropriate\n * role, aria attributes, and accessible keyboard and mouse handling logic. The component that\n * this directive is applied to should contain components marked with CdkMenuItem.\n *\n */\n@Directive({\n selector: '[cdkMenuBar]',\n exportAs: 'cdkMenuBar',\n host: {\n 'role': 'menubar',\n 'class': 'cdk-menu-bar',\n 'tabindex': '0',\n '[attr.aria-orientation]': 'orientation',\n },\n providers: [\n {provide: CdkMenuGroup, useExisting: CdkMenuBar},\n {provide: CDK_MENU, useExisting: CdkMenuBar},\n {provide: MenuStack, useClass: MenuStack},\n ],\n})\nexport class CdkMenuBar extends CdkMenuGroup implements Menu, AfterContentInit, OnDestroy {\n /**\n * Sets the aria-orientation attribute and determines where menus will be opened.\n * Does not affect styling/layout.\n */\n @Input('cdkMenuBarOrientation') orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /** Handles keyboard events for the MenuBar. */\n private _keyManager: FocusKeyManager<CdkMenuItem>;\n\n /** Manages items under mouse focus */\n private _pointerTracker?: PointerFocusTracker<CdkMenuItem>;\n\n /** Emits when the MenuBar is destroyed. */\n private readonly _destroyed: Subject<void> = new Subject();\n\n /** All child MenuItem elements nested in this MenuBar. */\n @ContentChildren(CdkMenuItem, {descendants: true})\n private readonly _allItems: QueryList<CdkMenuItem>;\n\n /** The Menu Item which triggered the open submenu. */\n private _openItem?: CdkMenuItem;\n\n constructor(\n readonly _menuStack: MenuStack,\n private readonly _ngZone: NgZone,\n readonly _elementRef: ElementRef<HTMLElement>,\n @Self() @Optional() @Inject(MENU_AIM) private readonly _menuAim?: MenuAim,\n @Optional() private readonly _dir?: Directionality\n ) {\n super();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n\n this._setKeyManager();\n this._subscribeToMenuOpen();\n this._subscribeToMenuStack();\n this._subscribeToMouseManager();\n\n this._menuAim?.initialize(this, this._pointerTracker!);\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('focus')\n /** Place focus on the first MenuItem in the menu and set the focus origin. */\n focusFirstItem(focusOrigin: FocusOrigin = 'program') {\n this._keyManager.setFocusOrigin(focusOrigin);\n this._keyManager.setFirstItemActive();\n }\n\n /** Place focus on the last MenuItem in the menu and set the focus origin. */\n focusLastItem(focusOrigin: FocusOrigin = 'program') {\n this._keyManager.setFocusOrigin(focusOrigin);\n this._keyManager.setLastItemActive();\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('keydown', ['$event'])\n /**\n * Handle keyboard events, specifically changing the focused element and/or toggling the active\n * items menu.\n * @param event the KeyboardEvent to handle.\n */\n _handleKeyEvent(event: KeyboardEvent) {\n const keyManager = this._keyManager;\n switch (event.keyCode) {\n case UP_ARROW:\n case DOWN_ARROW:\n case LEFT_ARROW:\n case RIGHT_ARROW:\n const horizontalArrows = event.keyCode === LEFT_ARROW || event.keyCode === RIGHT_ARROW;\n // For a horizontal menu if the left/right keys were clicked, or a vertical menu if the\n // up/down keys were clicked: if the current menu is open, close it then focus and open the\n // next menu.\n if (\n (this._isHorizontal() && horizontalArrows) ||\n (!this._isHorizontal() && !horizontalArrows)\n ) {\n event.preventDefault();\n\n const prevIsOpen = keyManager.activeItem?.isMenuOpen();\n keyManager.activeItem?.getMenuTrigger()?.closeMenu();\n\n keyManager.setFocusOrigin('keyboard');\n keyManager.onKeydown(event);\n if (prevIsOpen) {\n keyManager.activeItem?.getMenuTrigger()?.openMenu();\n }\n }\n break;\n\n case ESCAPE:\n event.preventDefault();\n keyManager.activeItem?.getMenuTrigger()?.closeMenu();\n break;\n\n case TAB:\n keyManager.activeItem?.getMenuTrigger()?.closeMenu();\n break;\n\n default:\n keyManager.onKeydown(event);\n }\n }\n\n /** Setup the FocusKeyManager with the correct orientation for the menu bar. */\n private _setKeyManager() {\n this._keyManager = new FocusKeyManager(this._allItems)\n .withWrap()\n .withTypeAhead()\n .withHomeAndEnd();\n\n if (this._isHorizontal()) {\n this._keyManager.withHorizontalOrientation(this._dir?.value || 'ltr');\n } else {\n this._keyManager.withVerticalOrientation();\n }\n }\n\n /**\n * Set the PointerFocusTracker and ensure that when mouse focus changes the key manager is updated\n * with the latest menu item under mouse focus.\n */\n private _subscribeToMouseManager() {\n this._ngZone.runOutsideAngular(() => {\n this._pointerTracker = new PointerFocusTracker(this._allItems);\n this._pointerTracker.entered.pipe(takeUntil(this._destroyed)).subscribe(item => {\n if (this._hasOpenSubmenu()) {\n this._keyManager.setActiveItem(item);\n }\n });\n });\n }\n\n /** Subscribe to the MenuStack close and empty observables. */\n private _subscribeToMenuStack() {\n this._menuStack.closed\n .pipe(takeUntil(this._destroyed))\n .subscribe(item => this._closeOpenMenu(item));\n\n this._menuStack.emptied\n .pipe(takeUntil(this._destroyed))\n .subscribe(event => this._toggleOpenMenu(event));\n }\n\n /**\n * Close the open menu if the current active item opened the requested MenuStackItem.\n * @param item the MenuStackItem requested to be closed.\n */\n private _closeOpenMenu(menu: MenuStackItem | undefined) {\n const trigger = this._openItem;\n const keyManager = this._keyManager;\n if (menu === trigger?.getMenuTrigger()?.getMenu()) {\n trigger?.getMenuTrigger()?.closeMenu();\n // If the user has moused over a sibling item we want to focus the element under mouse focus\n // not the trigger which previously opened the now closed menu.\n if (trigger) {\n keyManager.setActiveItem(this._pointerTracker?.activeElement || trigger);\n }\n }\n }\n\n /**\n * Set focus to either the current, previous or next item based on the FocusNext event, then\n * open the previous or next item.\n */\n private _toggleOpenMenu(event: FocusNext | undefined) {\n const keyManager = this._keyManager;\n switch (event) {\n case FocusNext.nextItem:\n keyManager.setFocusOrigin('keyboard');\n keyManager.setNextItemActive();\n keyManager.activeItem?.getMenuTrigger()?.openMenu();\n break;\n\n case FocusNext.previousItem:\n keyManager.setFocusOrigin('keyboard');\n keyManager.setPreviousItemActive();\n keyManager.activeItem?.getMenuTrigger()?.openMenu();\n break;\n\n case FocusNext.currentItem:\n if (keyManager.activeItem) {\n keyManager.setFocusOrigin('keyboard');\n keyManager.setActiveItem(keyManager.activeItem);\n }\n break;\n }\n }\n\n /**\n * @return true if the menu bar is configured to be horizontal.\n */\n private _isHorizontal() {\n return this.orientation === 'horizontal';\n }\n\n /**\n * Subscribe to the menu trigger's open events in order to track the trigger which opened the menu\n * and stop tracking it when the menu is closed.\n */\n private _subscribeToMenuOpen() {\n const exitCondition = merge(this._allItems.changes, this._destroyed);\n this._allItems.changes\n .pipe(\n startWith(this._allItems),\n mergeMap((list: QueryList<CdkMenuItem>) =>\n list\n .filter(item => item.hasMenu())\n .map(item => item.getMenuTrigger()!.opened.pipe(mapTo(item), takeUntil(exitCondition)))\n ),\n mergeAll(),\n switchMap((item: CdkMenuItem) => {\n this._openItem = item;\n return item.getMenuTrigger()!.closed;\n }),\n takeUntil(this._destroyed)\n )\n .subscribe(() => (this._openItem = undefined));\n }\n\n /** Return true if the MenuBar has an open submenu. */\n private _hasOpenSubmenu() {\n return !!this._openItem;\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n\n this._destroyed.next();\n this._destroyed.complete();\n\n this._pointerTracker?.destroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {Directive, OnDestroy, ElementRef, Self, Optional, Inject, NgZone} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {CdkMenuItemSelectable} from './menu-item-selectable';\nimport {CdkMenuItem} from './menu-item';\nimport {CdkMenuItemTrigger} from './menu-item-trigger';\nimport {CDK_MENU, Menu} from './menu-interface';\nimport {MENU_AIM, MenuAim} from './menu-aim';\n\n/**\n * A directive providing behavior for the \"menuitemradio\" ARIA role, which behaves similarly to\n * a conventional radio-button. Any sibling `CdkMenuItemRadio` instances within the same `CdkMenu`\n * or `CdkMenuGroup` comprise a radio group with unique selection enforced.\n */\n@Directive({\n selector: '[cdkMenuItemRadio]',\n exportAs: 'cdkMenuItemRadio',\n host: {\n '[tabindex]': '_tabindex',\n 'type': 'button',\n 'role': 'menuitemradio',\n '[attr.aria-checked]': 'checked || null',\n '[attr.aria-disabled]': 'disabled || null',\n },\n providers: [\n {provide: CdkMenuItemSelectable, useExisting: CdkMenuItemRadio},\n {provide: CdkMenuItem, useExisting: CdkMenuItemSelectable},\n ],\n})\nexport class CdkMenuItemRadio extends CdkMenuItemSelectable implements OnDestroy {\n /** Function to unregister the selection dispatcher */\n private _removeDispatcherListener: () => void;\n\n constructor(\n private readonly _selectionDispatcher: UniqueSelectionDispatcher,\n element: ElementRef<HTMLElement>,\n ngZone: NgZone,\n @Optional() @Inject(CDK_MENU) parentMenu?: Menu,\n @Optional() @Inject(MENU_AIM) menuAim?: MenuAim,\n @Optional() dir?: Directionality,\n /** Reference to the CdkMenuItemTrigger directive if one is added to the same element */\n // `CdkMenuItemRadio` is commonly used in combination with a `CdkMenuItemTrigger`.\n // tslint:disable-next-line: lightweight-tokens\n @Self() @Optional() menuTrigger?: CdkMenuItemTrigger\n ) {\n super(element, ngZone, parentMenu, menuAim, dir, menuTrigger);\n\n this._registerDispatcherListener();\n }\n\n /** Configure the unique selection dispatcher listener in order to toggle the checked state */\n private _registerDispatcherListener() {\n this._removeDispatcherListener = this._selectionDispatcher.listen(\n (id: string, name: string) => (this.checked = this.id === id && this.name === name)\n );\n }\n\n /** Toggles the checked state of the radio-button. */\n override trigger() {\n super.trigger();\n\n if (!this.disabled) {\n this._selectionDispatcher.notify(this.id, this.name);\n }\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this._removeDispatcherListener();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\nimport {CdkMenuItemSelectable} from './menu-item-selectable';\nimport {CdkMenuItem} from './menu-item';\n\n/**\n * A directive providing behavior for the \"menuitemcheckbox\" ARIA role, which behaves similarly to a\n * conventional checkbox.\n */\n@Directive({\n selector: '[cdkMenuItemCheckbox]',\n exportAs: 'cdkMenuItemCheckbox',\n host: {\n '[tabindex]': '_tabindex',\n 'type': 'button',\n 'role': 'menuitemcheckbox',\n '[attr.aria-checked]': 'checked || null',\n '[attr.aria-disabled]': 'disabled || null',\n },\n providers: [\n {provide: CdkMenuItemSelectable, useExisting: CdkMenuItemCheckbox},\n {provide: CdkMenuItem, useExisting: CdkMenuItemSelectable},\n ],\n})\nexport class CdkMenuItemCheckbox extends CdkMenuItemSelectable {\n /** Toggle the checked state of the checkbox. */\n override trigger() {\n super.trigger();\n\n if (!this.disabled) {\n this.checked = !this.checked;\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Input,\n ViewContainerRef,\n Output,\n EventEmitter,\n Optional,\n OnDestroy,\n Inject,\n Injectable,\n InjectionToken,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n OverlayRef,\n Overlay,\n OverlayConfig,\n FlexibleConnectedPositionStrategy,\n ConnectedPosition,\n} from '@angular/cdk/overlay';\nimport {TemplatePortal, Portal} from '@angular/cdk/portal';\nimport {coerceBooleanProperty, BooleanInput} from '@angular/cdk/coercion';\nimport {Subject, merge} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {CdkMenuPanel} from './menu-panel';\nimport {MenuStack} from './menu-stack';\nimport {throwExistingMenuStackError} from './menu-errors';\nimport {isClickInsideMenuOverlay} from './menu-item-trigger';\n\n/** Tracks the last open context menu trigger across the entire application. */\n@Injectable({providedIn: 'root'})\nexport class ContextMenuTracker {\n /** The last open context menu trigger. */\n private static _openContextMenuTrigger?: CdkContextMenuTrigger;\n\n /**\n * Close the previous open context menu and set the given one as being open.\n * @param trigger the trigger for the currently open Context Menu.\n */\n update(trigger: CdkContextMenuTrigger) {\n if (ContextMenuTracker._openContextMenuTrigger !== trigger) {\n ContextMenuTracker._openContextMenuTrigger?.close();\n ContextMenuTracker._openContextMenuTrigger = trigger;\n }\n }\n}\n\n/** Configuration options passed to the context menu. */\nexport type ContextMenuOptions = {\n /** The opened menus X coordinate offset from the triggering position. */\n offsetX: number;\n\n /** The opened menus Y coordinate offset from the triggering position. */\n offsetY: number;\n};\n\n/** Injection token for the ContextMenu options object. */\nexport const CDK_CONTEXT_MENU_DEFAULT_OPTIONS = new InjectionToken<ContextMenuOptions>(\n 'cdk-context-menu-default-options'\n);\n\n/** The coordinates of where the context menu should open. */\nexport type ContextMenuCoordinates = {x: number; y: number};\n\n/**\n * A directive which when placed on some element opens a the Menu it is bound to when a user\n * right-clicks within that element. It is aware of nested Context Menus and the lowest level\n * non-disabled context menu will trigger.\n */\n@Directive({\n selector: '[cdkContextMenuTriggerFor]',\n exportAs: 'cdkContextMenuTriggerFor',\n host: {\n '(contextmenu)': '_openOnContextMenu($event)',\n },\n providers: [\n // In cases where the first menu item in the context menu is a trigger the submenu opens on a\n // hover event. Offsetting the opened context menu by 2px prevents this from occurring.\n {provide: CDK_CONTEXT_MENU_DEFAULT_OPTIONS, useValue: {offsetX: 2, offsetY: 2}},\n ],\n})\nexport class CdkContextMenuTrigger implements OnDestroy {\n /** Template reference variable to the menu to open on right click. */\n @Input('cdkContextMenuTriggerFor')\n get menuPanel(): CdkMenuPanel {\n return this._menuPanel;\n }\n set menuPanel(panel: CdkMenuPanel) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && panel._menuStack) {\n throwExistingMenuStackError();\n }\n this._menuPanel = panel;\n\n if (this._menuPanel) {\n this._menuPanel._menuStack = this._menuStack;\n }\n }\n /** Reference to the MenuPanel this trigger toggles. */\n private _menuPanel: CdkMenuPanel;\n\n /** Emits when the attached menu is requested to open. */\n @Output('cdkContextMenuOpened') readonly opened: EventEmitter<void> = new EventEmitter();\n\n /** Emits when the attached menu is requested to close. */\n @Output('cdkContextMenuClosed') readonly closed: EventEmitter<void> = new EventEmitter();\n\n /** Whether the context menu should be disabled. */\n @Input('cdkContextMenuDisabled')\n get disabled() {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n /** A reference to the overlay which manages the triggered menu. */\n private _overlayRef: OverlayRef | null = null;\n\n /** The content of the menu panel opened by this trigger. */\n private _panelContent: TemplatePortal;\n\n /** Emits when the element is destroyed. */\n private readonly _destroyed = new Subject<void>();\n\n /** The menu stack for this trigger and its associated menus. */\n private readonly _menuStack = new MenuStack();\n\n /** Emits when the outside pointer events listener on the overlay should be stopped. */\n private readonly _stopOutsideClicksListener = merge(this.closed, this._destroyed);\n\n constructor(\n protected readonly _viewContainerRef: ViewContainerRef,\n private readonly _overlay: Overlay,\n private readonly _contextMenuTracker: ContextMenuTracker,\n @Inject(CDK_CONTEXT_MENU_DEFAULT_OPTIONS) private readonly _options: ContextMenuOptions,\n @Optional() private readonly _directionality?: Directionality\n ) {\n this._setMenuStackListener();\n }\n\n /**\n * Open the attached menu at the specified location.\n * @param coordinates where to open the context menu\n */\n open(coordinates: ContextMenuCoordinates) {\n if (this.disabled) {\n return;\n } else if (this.isOpen()) {\n // since we're moving this menu we need to close any submenus first otherwise they end up\n // disconnected from this one.\n this._menuStack.closeSubMenuOf(this._menuPanel._menu!);\n\n (this._overlayRef!.getConfig()\n .positionStrategy as FlexibleConnectedPositionStrategy).setOrigin(coordinates);\n this._overlayRef!.updatePosition();\n } else {\n this.opened.next();\n\n if (this._overlayRef) {\n (this._overlayRef.getConfig()\n .positionStrategy as FlexibleConnectedPositionStrategy).setOrigin(coordinates);\n this._overlayRef.updatePosition();\n } else {\n this._overlayRef = this._overlay.create(this._getOverlayConfig(coordinates));\n }\n\n this._overlayRef.attach(this._getMenuContent());\n this._subscribeToOutsideClicks();\n }\n }\n\n /** Close the opened menu. */\n close() {\n this._menuStack.closeAll();\n }\n\n /**\n * Open the context menu and close any previously open menus.\n * @param event the mouse event which opens the context menu.\n */\n _openOnContextMenu(event: MouseEvent) {\n if (!this.disabled) {\n // Prevent the native context menu from opening because we're opening a custom one.\n event.preventDefault();\n\n // Stop event propagation to ensure that only the closest enabled context menu opens.\n // Otherwise, any context menus attached to containing elements would *also* open,\n // resulting in multiple stacked context menus being displayed.\n event.stopPropagation();\n\n this._contextMenuTracker.update(this);\n this.open({x: event.clientX, y: event.clientY});\n\n // A context menu can be triggered via a mouse right click or a keyboard shortcut.\n if (event.button === 2) {\n this._menuPanel._menu?.focusFirstItem('mouse');\n } else if (event.button === 0) {\n this._menuPanel._menu?.focusFirstItem('keyboard');\n } else {\n this._menuPanel._menu?.focusFirstItem('program');\n }\n }\n }\n\n /** Whether the attached menu is open. */\n isOpen() {\n return !!this._overlayRef?.hasAttached();\n }\n\n /**\n * Get the configuration object used to create the overlay.\n * @param coordinates the location to place the opened menu\n */\n private _getOverlayConfig(coordinates: ContextMenuCoordinates) {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPositionStrategy(coordinates),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n direction: this._directionality,\n });\n }\n\n /**\n * Build the position strategy for the overlay which specifies where to place the menu.\n * @param coordinates the location to place the opened menu\n */\n private _getOverlayPositionStrategy(\n coordinates: ContextMenuCoordinates\n ): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(coordinates)\n .withDefaultOffsetX(this._options.offsetX)\n .withDefaultOffsetY(this._options.offsetY)\n .withPositions(this._getOverlayPositions());\n }\n\n /**\n * Determine and return where to position the opened menu relative to the mouse location.\n */\n private _getOverlayPositions(): ConnectedPosition[] {\n // TODO: this should be configurable through the injected context menu options\n return [\n {originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top'},\n {originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'top'},\n {originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom'},\n {originX: 'start', originY: 'bottom', overlayX: 'end', overlayY: 'bottom'},\n ];\n }\n\n /**\n * Get the portal to be attached to the overlay which contains the menu. Allows for the menu\n * content to change dynamically and be reflected in the application.\n */\n private _getMenuContent(): Portal<unknown> {\n const hasMenuContentChanged = this.menuPanel._templateRef !== this._panelContent?.templateRef;\n if (this.menuPanel && (!this._panelContent || hasMenuContentChanged)) {\n this._panelContent = new TemplatePortal(this.menuPanel._templateRef, this._viewContainerRef);\n }\n\n return this._panelContent;\n }\n\n /** Subscribe to the menu stack close events and close this menu when requested. */\n private _setMenuStackListener() {\n this._menuStack.closed.pipe(takeUntil(this._destroyed)).subscribe(item => {\n if (item === this._menuPanel._menu && this.isOpen()) {\n this.closed.next();\n this._overlayRef!.detach();\n }\n });\n }\n\n /**\n * Subscribe to the overlays outside pointer events stream and handle closing out the stack if a\n * click occurs outside the menus.\n */\n private _subscribeToOutsideClicks() {\n if (this._overlayRef) {\n this._overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this._stopOutsideClicksListener))\n .subscribe(event => {\n if (!isClickInsideMenuOverlay(event.target as Element)) {\n this._menuStack.closeAll();\n }\n });\n }\n }\n\n ngOnDestroy() {\n this._destroyOverlay();\n this._resetPanelMenuStack();\n\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Destroy and unset the overlay reference it if exists. */\n private _destroyOverlay() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n }\n\n /** Set the menu panels menu stack back to null. */\n private _resetPanelMenuStack() {\n // If a ContextMenuTrigger is placed in a conditionally rendered view, each time the trigger is\n // rendered the panel setter for ContextMenuTrigger is called. From the first render onward,\n // the attached CdkMenuPanel has the MenuStack set. Since we throw an error if a panel already\n // has a stack set, we want to reset the attached stack here to prevent the error from being\n // thrown if the trigger re-configures its attached panel (in the case where there is a 1:1\n // relationship between the panel and trigger).\n if (this._menuPanel) {\n this._menuPanel._menuStack = null;\n }\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CdkMenu} from './menu';\nimport {CdkMenuBar} from './menu-bar';\nimport {CdkMenuPanel} from './menu-panel';\nimport {CdkMenuItem} from './menu-item';\nimport {CdkMenuGroup} from './menu-group';\nimport {CdkMenuItemRadio} from './menu-item-radio';\nimport {CdkMenuItemCheckbox} from './menu-item-checkbox';\nimport {CdkMenuItemTrigger} from './menu-item-trigger';\nimport {CdkContextMenuTrigger} from './context-menu';\nimport {CdkTargetMenuAim} from './menu-aim';\n\nconst EXPORTED_DECLARATIONS = [\n CdkMenuBar,\n CdkMenu,\n CdkMenuPanel,\n CdkMenuItem,\n CdkMenuItemRadio,\n CdkMenuItemCheckbox,\n CdkMenuItemTrigger,\n CdkMenuGroup,\n CdkContextMenuTrigger,\n CdkTargetMenuAim,\n];\n@NgModule({\n imports: [OverlayModule],\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class CdkMenuModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './menu-module';\nexport * from './menu-bar';\nexport * from './menu';\nexport * from './menu-item';\nexport * from './menu-item-checkbox';\nexport * from './menu-item-radio';\nexport * from './menu-item-trigger';\nexport * from './menu-panel';\nexport * from './menu-group';\nexport * from './context-menu';\n\nexport {MenuStack, MenuStackItem} from './menu-stack';\nexport {CDK_MENU} from './menu-interface';\nexport {TargetMenuAim, MenuAim, MENU_AIM, CdkTargetMenuAim} from './menu-aim';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {Menu as ɵangular_material_src_cdk_experimental_menu_menu_a} from './menu-interface';\nexport {CdkMenuItemSelectable as ɵangular_material_src_cdk_experimental_menu_menu_b} from './menu-item-selectable';"],"names":["InjectionToken","Subject","fromEvent","filter","takeUntil","Injectable","NgZone","Directive","EventEmitter","merge","SPACE","ENTER","RIGHT_ARROW","LEFT_ARROW","DOWN_ARROW","UP_ARROW","OverlayConfig","TemplatePortal","ElementRef","ViewContainerRef","Overlay","Optional","Inject","Directionality","Input","Output","coerceBooleanProperty","Self","HostListener","UniqueSelectionDispatcher","ContentChildren","TemplateRef","defer","startWith","mergeMap","mapTo","mergeAll","ESCAPE","hasModifierKey","TAB","take","FocusKeyManager","switchMap","NgModule","OverlayModule"],"mappings":"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"}
@@ -264,7 +264,7 @@
264
264
  ar[i] = from[i];
265
265
  }
266
266
  }
267
- return to.concat(ar || from);
267
+ return to.concat(ar || Array.prototype.slice.call(from));
268
268
  }
269
269
  function __await(v) {
270
270
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-experimental-popover-edit.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/popover-edit/constants.ts","../../../../../src/cdk-experimental/popover-edit/polyfill.ts","../../../../../src/cdk-experimental/popover-edit/edit-event-dispatcher.ts","../../../../../src/cdk-experimental/popover-edit/edit-ref.ts","../../../../../src/cdk-experimental/popover-edit/focus-dispatcher.ts","../../../../../src/cdk-experimental/popover-edit/form-value-container.ts","../../../../../src/cdk-experimental/popover-edit/lens-directives.ts","../../../../../src/cdk-experimental/popover-edit/popover-edit-position-strategy-factory.ts","../../../../../src/cdk-experimental/popover-edit/edit-services.ts","../../../../../src/cdk-experimental/popover-edit/focus-escape-notifier.ts","../../../../../src/cdk-experimental/popover-edit/table-directives.ts","../../../../../src/cdk-experimental/popover-edit/popover-edit-module.ts","../../../../../src/cdk-experimental/popover-edit/public-api.ts","../../../../../src/cdk-experimental/popover-edit/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Selector for finding table cells. */\nexport const CELL_SELECTOR = '.cdk-cell, .mat-cell, td';\n\n/** Selector for finding editable table cells. */\nexport const EDITABLE_CELL_SELECTOR = '.cdk-popover-edit-cell, .mat-popover-edit-cell';\n\n/** Selector for finding table rows. */\nexport const ROW_SELECTOR = '.cdk-row, .mat-row, tr';\n\n/** Selector for finding the table element. */\nexport const TABLE_SELECTOR = 'table, cdk-table, mat-table';\n\n/** CSS class added to the edit lens pane. */\nexport const EDIT_PANE_CLASS = 'cdk-edit-pane';\n\n/** Selector for finding the edit lens pane. */\nexport const EDIT_PANE_SELECTOR = `.${EDIT_PANE_CLASS}, .mat-edit-pane`;\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** IE 11 compatible matches implementation. */\nexport function matches(element: Element, selector: string): boolean {\n return element.matches ?\n element.matches(selector) :\n (element as any)['msMatchesSelector'](selector);\n}\n\n/** IE 11 compatible closest implementation that is able to start from non-Element Nodes. */\nexport function closest(element: EventTarget|Element|null|undefined, selector: string):\n Element|null {\n if (!(element instanceof Node)) { return null; }\n\n let curr: Node|null = element;\n while (curr != null && !(curr instanceof Element)) {\n curr = curr.parentNode;\n }\n\n return curr && (hasNativeClosest ?\n curr.closest(selector) : polyfillClosest(curr, selector)) as Element|null;\n}\n\n/** Polyfill for browsers without Element.closest. */\nfunction polyfillClosest(element: Element, selector: string): Element|null {\n let curr: Node|null = element;\n while (curr != null && !(curr instanceof Element && matches(curr, selector))) {\n curr = curr.parentNode;\n }\n\n return (curr || null) as Element|null;\n}\n\nconst hasNativeClosest = !!Element.prototype.closest;\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone} from '@angular/core';\nimport {combineLatest, MonoTypeOperatorFunction, Observable, pipe, Subject} from 'rxjs';\nimport {\n audit,\n auditTime,\n debounceTime,\n distinctUntilChanged,\n filter,\n map,\n skip,\n startWith,\n shareReplay,\n} from 'rxjs/operators';\n\nimport {CELL_SELECTOR, ROW_SELECTOR} from './constants';\nimport {closest} from './polyfill';\n\n/** The delay applied to mouse events before hiding or showing hover content. */\nconst MOUSE_EVENT_DELAY_MS = 40;\n\n/** The delay for reacting to focus/blur changes. */\nconst FOCUS_DELAY = 0;\n\n/**\n * The possible states for hover content:\n * OFF - Not rendered.\n * FOCUSABLE - Rendered in the dom and styled for its contents to be focusable but invisible.\n * ON - Rendered and fully visible.\n */\nexport const enum HoverContentState {\n OFF = 0,\n FOCUSABLE,\n ON,\n}\n\n// Note: this class is generic, rather than referencing EditRef directly, in order to avoid\n// circular imports. If we were to reference it here, importing the registry into the\n// class that is registering itself will introduce a circular import.\n\n/**\n * Service for sharing delegated events and state for triggering table edits.\n */\n@Injectable()\nexport class EditEventDispatcher<R> {\n /** A subject that indicates which table cell is currently editing (unless it is disabled). */\n readonly editing = new Subject<Element|null>();\n\n /** A subject that indicates which table row is currently hovered. */\n readonly hovering = new Subject<Element|null>();\n\n /** A subject that indicates which table row currently contains focus. */\n readonly focused = new Subject<Element|null>();\n\n /** A subject that indicates all elements in the table matching ROW_SELECTOR. */\n readonly allRows = new Subject<NodeList>();\n\n /** A subject that emits mouse move events from the table indicating the targeted row. */\n readonly mouseMove = new Subject<Element|null>();\n\n // TODO: Use WeakSet once IE11 support is dropped.\n /**\n * Tracks the currently disabled editable cells - edit calls will be ignored\n * for these cells.\n */\n readonly disabledCells = new WeakMap<Element, boolean>();\n\n /** The EditRef for the currently active edit lens (if any). */\n get editRef(): R|null {\n return this._editRef;\n }\n private _editRef: R|null = null;\n\n // Optimization: Precompute common pipeable operators used per row/cell.\n private readonly _distinctUntilChanged =\n distinctUntilChanged<Element|HoverContentState|boolean|null>();\n private readonly _startWithNull = startWith<Element|null>(null);\n private readonly _distinctShare = pipe(\n this._distinctUntilChanged as MonoTypeOperatorFunction<HoverContentState>,\n shareReplay(1),\n );\n private readonly _startWithNullDistinct = pipe(\n this._startWithNull,\n this._distinctUntilChanged as MonoTypeOperatorFunction<Element|null>,\n );\n\n readonly editingAndEnabled = this.editing.pipe(\n filter(cell => cell == null || !this.disabledCells.has(cell)),\n shareReplay(1),\n );\n\n /** An observable that emits the row containing focus or an active edit. */\n readonly editingOrFocused = combineLatest([\n this.editingAndEnabled.pipe(\n map(cell => closest(cell, ROW_SELECTOR)),\n this._startWithNull,\n ),\n this.focused.pipe(this._startWithNull),\n ]).pipe(\n map(([editingRow, focusedRow]) => focusedRow || editingRow),\n this._distinctUntilChanged as MonoTypeOperatorFunction<Element|null>,\n auditTime(FOCUS_DELAY), // Use audit to skip over blur events to the next focused element.\n this._distinctUntilChanged as MonoTypeOperatorFunction<Element|null>,\n shareReplay(1),\n );\n\n /** Tracks rows that contain hover content with a reference count. */\n private _rowsWithHoverContent = new WeakMap<Element, number>();\n\n /** The table cell that has an active edit lens (or null). */\n private _currentlyEditing: Element|null = null;\n\n /** The combined set of row hover content states organized by row. */\n private readonly _hoveredContentStateDistinct = combineLatest([\n this._getFirstRowWithHoverContent(),\n this._getLastRowWithHoverContent(),\n this.editingOrFocused,\n this.hovering.pipe(\n distinctUntilChanged(),\n audit(row => this.mouseMove.pipe(\n filter(mouseMoveRow => row === mouseMoveRow),\n this._startWithNull,\n debounceTime(MOUSE_EVENT_DELAY_MS)),\n ),\n this._startWithNullDistinct,\n ),\n ]).pipe(\n skip(1), // Skip the initial emission of [null, null, null, null].\n map(computeHoverContentState),\n distinctUntilChanged(areMapEntriesEqual),\n // Optimization: Enter the zone before shareReplay so that we trigger a single\n // ApplicationRef.tick for all row updates.\n this._enterZone(),\n shareReplay(1),\n );\n\n private readonly _editingAndEnabledDistinct = this.editingAndEnabled.pipe(\n distinctUntilChanged(),\n this._enterZone(),\n shareReplay(1),\n );\n\n // Optimization: Share row events observable with subsequent callers.\n // At startup, calls will be sequential by row.\n private _lastSeenRow: Element|null = null;\n private _lastSeenRowHoverOrFocus: Observable<HoverContentState>|null = null;\n\n constructor(private readonly _ngZone: NgZone) {\n this._editingAndEnabledDistinct.subscribe(cell => {\n this._currentlyEditing = cell;\n });\n }\n\n /**\n * Gets an Observable that emits true when the specified element's cell\n * is editing and false when not.\n */\n editingCell(element: Element|EventTarget): Observable<boolean> {\n let cell: Element|null = null;\n\n return this._editingAndEnabledDistinct.pipe(\n map(editCell => editCell === (cell || (cell = closest(element, CELL_SELECTOR)))),\n this._distinctUntilChanged as MonoTypeOperatorFunction<boolean>,\n );\n }\n\n /**\n * Stops editing for the specified cell. If the specified cell is not the current\n * edit cell, does nothing.\n */\n doneEditingCell(element: Element|EventTarget): void {\n const cell = closest(element, CELL_SELECTOR);\n\n if (this._currentlyEditing === cell) {\n this.editing.next(null);\n }\n }\n\n /** Sets the currently active EditRef. */\n setActiveEditRef(ref: R) {\n this._editRef = ref;\n }\n\n /** Unsets the currently active EditRef, if the specified editRef is active. */\n unsetActiveEditRef(ref: R) {\n if (this._editRef !== ref) {\n return;\n }\n\n this._editRef = null;\n }\n\n /** Adds the specified table row to be tracked for first/last row comparisons. */\n registerRowWithHoverContent(row: Element): void {\n this._rowsWithHoverContent.set(row, (this._rowsWithHoverContent.get(row) || 0) + 1);\n }\n\n /**\n * Reference decrements and ultimately removes the specified table row from first/last row\n * comparisons.\n */\n deregisterRowWithHoverContent(row: Element): void {\n const refCount = this._rowsWithHoverContent.get(row) || 0;\n\n if (refCount <= 1) {\n this._rowsWithHoverContent.delete(row);\n } else {\n this._rowsWithHoverContent.set(row, refCount - 1);\n }\n }\n\n /**\n * Gets an Observable that emits true when the specified element's row\n * contains the focused element or is being hovered over and false when not.\n * Hovering is defined as when the mouse has momentarily stopped moving over the cell.\n */\n hoverOrFocusOnRow(row: Element): Observable<HoverContentState> {\n if (row !== this._lastSeenRow) {\n this._lastSeenRow = row;\n this._lastSeenRowHoverOrFocus = this._hoveredContentStateDistinct.pipe(\n map(state => state.get(row) || HoverContentState.OFF),\n this._distinctShare,\n );\n }\n\n return this._lastSeenRowHoverOrFocus!;\n }\n\n /**\n * RxJS operator that enters the Angular zone, used to reduce boilerplate in\n * re-entering the zone for stream pipelines.\n */\n private _enterZone<T>(): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) =>\n new Observable<T>((observer) => source.subscribe({\n next: (value) => this._ngZone.run(() => observer.next(value)),\n error: (err) => observer.error(err),\n complete: () => observer.complete()\n }));\n }\n\n private _getFirstRowWithHoverContent(): Observable<Element|null> {\n return this._mapAllRowsToSingleRow(rows => {\n for (let i = 0, row; row = rows[i]; i++) {\n if (this._rowsWithHoverContent.has(row as Element)) {\n return row as Element;\n }\n }\n return null;\n });\n }\n\n private _getLastRowWithHoverContent(): Observable<Element|null> {\n return this._mapAllRowsToSingleRow(rows => {\n for (let i = rows.length - 1, row; row = rows[i]; i--) {\n if (this._rowsWithHoverContent.has(row as Element)) {\n return row as Element;\n }\n }\n return null;\n });\n }\n\n private _mapAllRowsToSingleRow(mapper: (rows: NodeList) => Element|null):\n Observable<Element|null> {\n return this.allRows.pipe(\n map(mapper),\n this._startWithNullDistinct,\n );\n }\n}\n\nfunction computeHoverContentState([firstRow, lastRow, activeRow, hoverRow]: (Element|null)[]):\n Map<Element, HoverContentState> {\n const hoverContentState = new Map<Element, HoverContentState>();\n\n // Add focusable rows.\n for (const focussableRow of [\n firstRow,\n lastRow,\n activeRow && activeRow.previousElementSibling,\n activeRow && activeRow.nextElementSibling,\n ]) {\n if (focussableRow) {\n hoverContentState.set(focussableRow as Element, HoverContentState.FOCUSABLE);\n }\n }\n\n // Add/overwrite with fully visible rows.\n for (const onRow of [activeRow, hoverRow]) {\n if (onRow) {\n hoverContentState.set(onRow, HoverContentState.ON);\n }\n }\n\n return hoverContentState;\n}\n\nfunction areMapEntriesEqual<K, V>(a: Map<K, V>, b: Map<K, V>): boolean {\n if (a.size !== b.size) {\n return false;\n }\n\n // TODO: use Map.prototype.entries once we're off IE11.\n for (const aKey of Array.from(a.keys())) {\n if (b.get(aKey) !== a.get(aKey)) {\n return false;\n }\n }\n\n return true;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, OnDestroy, Self, NgZone} from '@angular/core';\nimport {ControlContainer} from '@angular/forms';\nimport {Observable, Subject} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {EditEventDispatcher} from './edit-event-dispatcher';\n\n/**\n * Used for communication between the form within the edit lens and the\n * table that launched it. Provided by CdkEditControl within the lens.\n */\n@Injectable()\nexport class EditRef<FormValue> implements OnDestroy {\n /** Emits the final value of this edit instance before closing. */\n private readonly _finalValueSubject = new Subject<FormValue>();\n readonly finalValue: Observable<FormValue> = this._finalValueSubject;\n\n /** Emits when the user tabs out of this edit lens before closing. */\n private readonly _blurredSubject = new Subject<void>();\n readonly blurred: Observable<void> = this._blurredSubject;\n\n /** The value to set the form back to on revert. */\n private _revertFormValue: FormValue;\n\n constructor(\n @Self() private readonly _form: ControlContainer,\n private readonly _editEventDispatcher: EditEventDispatcher<EditRef<FormValue>>,\n private readonly _ngZone: NgZone) {\n this._editEventDispatcher.setActiveEditRef(this);\n }\n\n /**\n * Called by the host directive's OnInit hook. Reads the initial state of the\n * form and overrides it with persisted state from previous openings, if\n * applicable.\n */\n init(previousFormValue: FormValue|undefined): void {\n // Wait for the zone to stabilize before caching the initial value.\n // This ensures that all form controls have been initialized.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.updateRevertValue();\n if (previousFormValue) {\n this.reset(previousFormValue);\n }\n });\n }\n\n ngOnDestroy(): void {\n this._editEventDispatcher.unsetActiveEditRef(this);\n this._finalValueSubject.next(this._form.value);\n this._finalValueSubject.complete();\n }\n\n /** Whether the attached form is in a valid state. */\n isValid(): boolean|null {\n return this._form.valid;\n }\n\n /** Set the form's current value as what it will be set to on revert/reset. */\n updateRevertValue(): void {\n this._revertFormValue = this._form.value;\n }\n\n /** Tells the table to close the edit popup. */\n close(): void {\n this._editEventDispatcher.editing.next(null);\n }\n\n /** Notifies the active edit that the user has moved focus out of the lens. */\n blur(): void {\n this._blurredSubject.next();\n }\n\n /**\n * Resets the form value to the specified value or the previously set\n * revert value.\n */\n reset(value?: FormValue): void {\n this._form.reset(value || this._revertFormValue);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {LEFT_ARROW, UP_ARROW, RIGHT_ARROW, DOWN_ARROW} from '@angular/cdk/keycodes';\nimport {Injectable} from '@angular/core';\nimport {PartialObserver} from 'rxjs';\n\nimport {EDITABLE_CELL_SELECTOR, ROW_SELECTOR, TABLE_SELECTOR} from './constants';\nimport {closest} from './polyfill';\n\n/**\n * Service responsible for moving cell focus around in response to keyboard events.\n * May be overridden to customize the keyboard behavior of popover edit.\n */\n@Injectable({providedIn: 'root'})\nexport class FocusDispatcher {\n /** Observes keydown events triggered from the table. */\n readonly keyObserver: PartialObserver<KeyboardEvent>;\n\n constructor(protected readonly directionality: Directionality) {\n this.keyObserver = {next: (event) => this.handleKeyboardEvent(event)};\n }\n\n /**\n * Moves focus to earlier or later cells (in dom order) by offset cells relative to\n * currentCell.\n */\n moveFocusHorizontally(currentCell: HTMLElement, offset: number): void {\n const cells = Array.from(closest(currentCell, TABLE_SELECTOR)!.querySelectorAll(\n EDITABLE_CELL_SELECTOR)) as HTMLElement[];\n const currentIndex = cells.indexOf(currentCell);\n const newIndex = currentIndex + offset;\n\n if (cells[newIndex]) {\n cells[newIndex].focus();\n }\n }\n\n /** Moves focus to up or down by row by offset cells relative to currentCell. */\n moveFocusVertically(currentCell: HTMLElement, offset: number): void {\n const currentRow = closest(currentCell, ROW_SELECTOR)!;\n const rows = Array.from(closest(currentRow, TABLE_SELECTOR)!.querySelectorAll(ROW_SELECTOR));\n const currentRowIndex = rows.indexOf(currentRow);\n const currentIndexWithinRow =\n Array.from(currentRow.querySelectorAll(EDITABLE_CELL_SELECTOR)).indexOf(currentCell);\n const newRowIndex = currentRowIndex + offset;\n\n if (rows[newRowIndex]) {\n const rowToFocus =\n Array.from(rows[newRowIndex].querySelectorAll(EDITABLE_CELL_SELECTOR)) as HTMLElement[];\n\n if (rowToFocus[currentIndexWithinRow]) {\n rowToFocus[currentIndexWithinRow].focus();\n }\n }\n }\n\n /** Translates arrow keydown events into focus move operations. */\n protected handleKeyboardEvent(event: KeyboardEvent): void {\n const cell = closest(event.target, EDITABLE_CELL_SELECTOR) as HTMLElement | null;\n\n if (!cell) {\n return;\n }\n\n switch (event.keyCode) {\n case UP_ARROW:\n this.moveFocusVertically(cell, -1);\n break;\n case DOWN_ARROW:\n this.moveFocusVertically(cell, 1);\n break;\n case LEFT_ARROW:\n this.moveFocusHorizontally(cell, this.directionality.value === 'ltr' ? -1 : 1);\n break;\n case RIGHT_ARROW:\n this.moveFocusHorizontally(cell, this.directionality.value === 'ltr' ? 1 : -1);\n break;\n default:\n // If the keyboard event is not handled, return now so that we don't `preventDefault`.\n return;\n }\n\n event.preventDefault();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport interface Entry<FormValue> {\n value?: FormValue;\n}\n\n/**\n * A convenience class for preserving unsaved form state while an edit lens is closed.\n *\n * Example usage:\n * class MyComponent {\n * readonly nameEditValues = new FormValueContainer&lt;Item, {name: string}&gt;();\n * }\n *\n * &lt;form cdkEditControl [(cdkEditControlPreservedFormValue)]=\"nameEditValues.for(item).value\"&gt;\n */\nexport class FormValueContainer<Key extends object, FormValue> {\n private _formValues = new WeakMap<Key, Entry<FormValue>>();\n\n for(key: Key): Entry<FormValue> {\n const _formValues = this._formValues;\n\n let entry = _formValues.get(key);\n if (!entry) {\n // Expose entry as an object so that we can [(two-way)] bind to its value member\n entry = {};\n _formValues.set(key, entry);\n }\n\n return entry;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Subject} from 'rxjs';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n OnDestroy,\n OnInit,\n Input,\n HostListener,\n} from '@angular/core';\nimport {hasModifierKey} from '@angular/cdk/keycodes';\nimport {EDIT_PANE_SELECTOR} from './constants';\nimport {closest} from './polyfill';\nimport {EditRef} from './edit-ref';\n\n/** Options for what do to when the user clicks outside of an edit lens. */\nexport type PopoverEditClickOutBehavior = 'close' | 'submit' | 'noop';\n\n/**\n * A directive that attaches to a form within the edit lens.\n * It coordinates the form state with the table-wide edit system and handles\n * closing the edit lens when the form is submitted or the user clicks\n * out.\n */\n@Directive({\n selector: 'form[cdkEditControl]',\n inputs: [\n 'clickOutBehavior: cdkEditControlClickOutBehavior',\n 'preservedFormValue: cdkEditControlPreservedFormValue',\n 'ignoreSubmitUnlessValid: cdkEditControlIgnoreSubmitUnlessValid',\n ],\n outputs: ['preservedFormValueChange: cdkEditControlPreservedFormValueChange'],\n providers: [EditRef],\n})\nexport class CdkEditControl<FormValue> implements OnDestroy, OnInit {\n protected readonly destroyed = new Subject<void>();\n\n /**\n * Specifies what should happen when the user clicks outside of the edit lens.\n * The default behavior is to close the lens without submitting the form.\n */\n clickOutBehavior: PopoverEditClickOutBehavior = 'close';\n\n /**\n * A two-way binding for storing unsubmitted form state. If not provided\n * then form state will be discarded on close. The PeristBy directive is offered\n * as a convenient shortcut for these bindings.\n */\n preservedFormValue?: FormValue;\n readonly preservedFormValueChange = new EventEmitter<FormValue>();\n\n /**\n * Determines whether the lens will close on form submit if the form is not in a valid\n * state. By default the lens will remain open.\n */\n ignoreSubmitUnlessValid = true;\n\n constructor(protected readonly elementRef: ElementRef, readonly editRef: EditRef<FormValue>) {}\n\n ngOnInit(): void {\n this.editRef.init(this.preservedFormValue);\n this.editRef.finalValue.subscribe(this.preservedFormValueChange);\n this.editRef.blurred.subscribe(() => this._handleBlur());\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n /**\n * Called when the form submits. If ignoreSubmitUnlessValid is true, checks\n * the form for validity before proceeding.\n * Updates the revert state with the latest submitted value then closes the edit.\n */\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('ngSubmit')\n handleFormSubmit(): void {\n if (this.ignoreSubmitUnlessValid && !this.editRef.isValid()) { return; }\n\n this.editRef.updateRevertValue();\n this.editRef.close();\n }\n\n /** Called on Escape keyup. Closes the edit. */\n close(): void {\n // todo - allow this behavior to be customized as well, such as calling\n // reset before close\n this.editRef.close();\n }\n\n /**\n * Called on click anywhere in the document.\n * If the click was outside of the lens, trigger the specified click out behavior.\n */\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('document:click', ['$event'])\n handlePossibleClickOut(evt: Event): void {\n if (closest(evt.target, EDIT_PANE_SELECTOR)) { return; }\n switch (this.clickOutBehavior) {\n case 'submit':\n // Manually cause the form to submit before closing.\n this._triggerFormSubmit();\n this.editRef.close();\n break;\n case 'close':\n this.editRef.close();\n break;\n default:\n break;\n }\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('keydown', ['$event'])\n _handleKeydown(event: KeyboardEvent) {\n if (event.key === 'Escape' && !hasModifierKey(event)) {\n this.close();\n event.preventDefault();\n }\n }\n\n /** Triggers submit on tab out if clickOutBehavior is 'submit'. */\n private _handleBlur(): void {\n if (this.clickOutBehavior === 'submit') {\n // Manually cause the form to submit before closing.\n this._triggerFormSubmit();\n }\n }\n\n private _triggerFormSubmit() {\n this.elementRef.nativeElement!.dispatchEvent(new Event('submit'));\n }\n}\n\n/** Reverts the form to its initial or previously submitted state on click. */\n@Directive({\n selector: 'button[cdkEditRevert]',\n host: {\n 'type': 'button', // Prevents accidental form submits.\n }\n})\nexport class CdkEditRevert<FormValue> {\n /** Type of the button. Defaults to `button` to avoid accident form submits. */\n @Input() type: string = 'button';\n\n constructor(\n protected readonly editRef: EditRef<FormValue>) {}\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n revertEdit(): void {\n this.editRef.reset();\n }\n}\n\n/** Closes the lens on click. */\n@Directive({selector: '[cdkEditClose]'})\nexport class CdkEditClose<FormValue> {\n constructor(\n protected readonly elementRef: ElementRef<HTMLElement>,\n protected readonly editRef: EditRef<FormValue>) {\n\n const nativeElement = elementRef.nativeElement;\n\n // Prevent accidental form submits.\n if (nativeElement.nodeName === 'BUTTON' && !nativeElement.getAttribute('type')) {\n nativeElement.setAttribute('type', 'button');\n }\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click') @HostListener('keydown.enter') @HostListener('keydown.space')\n closeEdit(): void {\n // Note that we use `click` here, rather than a keyboard event, because some screen readers\n // will emit a fake click event instead of an enter keyboard event on buttons. For the keyboard\n // events we use `keydown`, rather than `keyup`, because we use `keydown` to open the overlay\n // as well. If we were to use `keyup`, the user could end up opening and closing within\n // the same event sequence if focus was moved quickly.\n this.editRef.close();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {Overlay, OverlaySizeConfig, PositionStrategy} from '@angular/cdk/overlay';\nimport {Injectable} from '@angular/core';\n\n/**\n * Overridable factory responsible for configuring how cdkPopoverEdit popovers are positioned\n * and sized.\n */\n@Injectable()\nexport abstract class PopoverEditPositionStrategyFactory {\n /**\n * Creates a PositionStrategy based on the specified table cells.\n * The cells will be provided in DOM order.\n */\n abstract positionStrategyForCells(cells: HTMLElement[]): PositionStrategy;\n\n /**\n * Creates an OverlaySizeConfig based on the specified table cells.\n * The cells will be provided in DOM order.\n */\n abstract sizeConfigForCells(cells: HTMLElement[]): OverlaySizeConfig;\n}\n\n/**\n * Default implementation of PopoverEditPositionStrategyFactory.\n * Uses a FlexibleConnectedPositionStrategy anchored to the start + top of the cell.\n * Note: This will change to CoverPositionStrategy once it implemented.\n */\n@Injectable()\nexport class DefaultPopoverEditPositionStrategyFactory extends PopoverEditPositionStrategyFactory {\n constructor(protected readonly direction: Directionality, protected readonly overlay: Overlay) {\n super();\n }\n\n positionStrategyForCells(cells: HTMLElement[]): PositionStrategy {\n return this.overlay.position()\n .flexibleConnectedTo(cells[0])\n .withGrowAfterOpen()\n .withPush()\n .withViewportMargin(16)\n .withPositions([{\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n }]);\n }\n\n sizeConfigForCells(cells: HTMLElement[]): OverlaySizeConfig {\n if (cells.length === 0) {\n return {};\n }\n\n if (cells.length === 1) {\n return {width: cells[0].getBoundingClientRect().width};\n }\n\n let firstCell, lastCell;\n if (this.direction.value === 'ltr') {\n firstCell = cells[0];\n lastCell = cells[cells.length - 1];\n } else {\n lastCell = cells[0];\n firstCell = cells[cells.length - 1];\n }\n\n return {width: lastCell.getBoundingClientRect().right - firstCell.getBoundingClientRect().left};\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone} from '@angular/core';\nimport {FocusTrapFactory} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {Overlay} from '@angular/cdk/overlay';\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\n\nimport {EditEventDispatcher} from './edit-event-dispatcher';\nimport {FocusDispatcher} from './focus-dispatcher';\nimport {PopoverEditPositionStrategyFactory} from './popover-edit-position-strategy-factory';\nimport {EditRef} from './edit-ref';\n\n/**\n * Optimization\n * Collects multiple Injectables into a singleton shared across the table. By reducing the\n * number of services injected into each CdkPopoverEdit, this saves about 0.023ms of cpu time\n * and 56 bytes of memory per instance.\n */\n@Injectable()\nexport class EditServices {\n constructor(\n readonly directionality: Directionality,\n readonly editEventDispatcher: EditEventDispatcher<EditRef<unknown>>,\n readonly focusDispatcher: FocusDispatcher,\n readonly focusTrapFactory: FocusTrapFactory, readonly ngZone: NgZone,\n readonly overlay: Overlay, readonly positionFactory: PopoverEditPositionStrategyFactory,\n readonly scrollDispatcher: ScrollDispatcher, readonly viewportRuler: ViewportRuler) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, NgZone} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {FocusTrap, InteractivityChecker} from '@angular/cdk/a11y';\nimport {Observable, Subject} from 'rxjs';\n\n/** Value indicating whether focus left the target area before or after the enclosed elements. */\nexport const enum FocusEscapeNotifierDirection {\n START,\n END,\n}\n\n/**\n * Like FocusTrap, but rather than trapping focus within a dom region, notifies subscribers when\n * focus leaves the region.\n */\nexport class FocusEscapeNotifier extends FocusTrap {\n private readonly _escapeSubject = new Subject<FocusEscapeNotifierDirection>();\n\n constructor(\n element: HTMLElement,\n checker: InteractivityChecker,\n ngZone: NgZone,\n document: Document) {\n super(element, checker, ngZone, document, true /* deferAnchors */);\n\n // The focus trap adds \"anchors\" at the beginning and end of a trapped region that redirect\n // focus. We override that redirect behavior here with simply emitting on a stream.\n this.startAnchorListener = () => {\n this._escapeSubject.next(FocusEscapeNotifierDirection.START);\n return true;\n };\n this.endAnchorListener = () => {\n this._escapeSubject.next(FocusEscapeNotifierDirection.END);\n return true;\n };\n\n this.attachAnchors();\n }\n\n escapes(): Observable<FocusEscapeNotifierDirection> {\n return this._escapeSubject;\n }\n}\n\n/** Factory that allows easy instantiation of focus escape notifiers. */\n@Injectable({providedIn: 'root'})\nexport class FocusEscapeNotifierFactory {\n private _document: Document;\n\n constructor(\n private _checker: InteractivityChecker,\n private _ngZone: NgZone,\n @Inject(DOCUMENT) _document: any) {\n\n this._document = _document;\n }\n\n /**\n * Creates a focus escape notifier region around the given element.\n * @param element The element around which focus will be monitored.\n * @returns The created focus escape notifier instance.\n */\n create(element: HTMLElement): FocusEscapeNotifier {\n return new FocusEscapeNotifier(element, this._checker, this._ngZone, this._document);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {FocusTrap} from '@angular/cdk/a11y';\nimport {OverlayRef, PositionStrategy} from '@angular/cdk/overlay';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n NgZone,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n HostListener,\n} from '@angular/core';\nimport {fromEvent, fromEventPattern, merge, Subject} from 'rxjs';\nimport {\n filter,\n map,\n mapTo,\n share,\n startWith,\n takeUntil,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {CELL_SELECTOR, EDIT_PANE_CLASS, EDIT_PANE_SELECTOR, ROW_SELECTOR} from './constants';\nimport {EditEventDispatcher, HoverContentState} from './edit-event-dispatcher';\nimport {EditServices} from './edit-services';\nimport {FocusDispatcher} from './focus-dispatcher';\nimport {\n FocusEscapeNotifier,\n FocusEscapeNotifierDirection,\n FocusEscapeNotifierFactory\n} from './focus-escape-notifier';\nimport {closest} from './polyfill';\nimport {EditRef} from './edit-ref';\n\n/**\n * Describes the number of columns before and after the originating cell that the\n * edit popup should span. In left to right locales, before means left and after means\n * right. In right to left locales before means right and after means left.\n */\nexport interface CdkPopoverEditColspan {\n before?: number;\n after?: number;\n}\n\n/** Used for rate-limiting mousemove events. */\nconst MOUSE_MOVE_THROTTLE_TIME_MS = 10;\n\n/**\n * A directive that must be attached to enable editability on a table.\n * It is responsible for setting up delegated event handlers and providing the\n * EditEventDispatcher service for use by the other edit directives.\n */\n@Directive({\n selector: 'table[editable], cdk-table[editable], mat-table[editable]',\n providers: [EditEventDispatcher, EditServices],\n})\nexport class CdkEditable implements AfterViewInit, OnDestroy {\n protected readonly destroyed = new Subject<void>();\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly editEventDispatcher: EditEventDispatcher<EditRef<unknown>>,\n protected readonly focusDispatcher: FocusDispatcher, protected readonly ngZone: NgZone) {}\n\n ngAfterViewInit(): void {\n this._listenForTableEvents();\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n private _listenForTableEvents(): void {\n const element = this.elementRef.nativeElement;\n const toClosest = (selector: string) =>\n map((event: UIEvent) => closest(event.target, selector));\n\n this.ngZone.runOutsideAngular(() => {\n // Track mouse movement over the table to hide/show hover content.\n fromEvent<MouseEvent>(element, 'mouseover').pipe(\n toClosest(ROW_SELECTOR),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.hovering);\n fromEvent<MouseEvent>(element, 'mouseleave').pipe(\n mapTo(null),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.hovering);\n fromEvent<MouseEvent>(element, 'mousemove').pipe(\n throttleTime(MOUSE_MOVE_THROTTLE_TIME_MS),\n toClosest(ROW_SELECTOR),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.mouseMove);\n\n // Track focus within the table to hide/show/make focusable hover content.\n fromEventPattern<FocusEvent>(\n handler => element.addEventListener('focus', handler, true),\n handler => element.removeEventListener('focus', handler, true)\n ).pipe(\n toClosest(ROW_SELECTOR),\n share(),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.focused);\n\n merge(\n fromEventPattern<FocusEvent>(\n handler => element.addEventListener('blur', handler, true),\n handler => element.removeEventListener('blur', handler, true)\n ),\n fromEvent<KeyboardEvent>(element, 'keydown').pipe(filter(event => event.key === 'Escape'))\n ).pipe(\n mapTo(null),\n share(),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.focused);\n\n // Keep track of rows within the table. This is used to know which rows with hover content\n // are first or last in the table. They are kept focusable in case focus enters from above\n // or below the table.\n this.ngZone.onStable.pipe(\n // Optimization: ignore dom changes while focus is within the table as we already\n // ensure that rows above and below the focused/active row are tabbable.\n withLatestFrom(this.editEventDispatcher.editingOrFocused),\n filter(([_, activeRow]) => activeRow == null),\n map(() => element.querySelectorAll(ROW_SELECTOR)),\n share(),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.allRows);\n\n fromEvent<KeyboardEvent>(element, 'keydown').pipe(\n filter(event => event.key === 'Enter'),\n toClosest(CELL_SELECTOR),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.editing);\n\n // Keydown must be used here or else key autorepeat does not work properly on some platforms.\n fromEvent<KeyboardEvent>(element, 'keydown')\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.focusDispatcher.keyObserver);\n });\n }\n}\n\nconst POPOVER_EDIT_HOST_BINDINGS = {\n '[attr.tabindex]': 'disabled ? null : 0',\n 'class': 'cdk-popover-edit-cell',\n '[attr.aria-haspopup]': '!disabled',\n};\n\nconst POPOVER_EDIT_INPUTS = [\n 'template: cdkPopoverEdit',\n 'context: cdkPopoverEditContext',\n 'colspan: cdkPopoverEditColspan',\n 'disabled: cdkPopoverEditDisabled',\n];\n\n/**\n * Attaches an ng-template to a cell and shows it when instructed to by the\n * EditEventDispatcher service.\n * Makes the cell focusable.\n */\n@Directive({\n selector: '[cdkPopoverEdit]:not([cdkPopoverEditTabOut])',\n host: POPOVER_EDIT_HOST_BINDINGS,\n inputs: POPOVER_EDIT_INPUTS,\n})\nexport class CdkPopoverEdit<C> implements AfterViewInit, OnDestroy {\n /** The edit lens template shown over the cell on edit. */\n template: TemplateRef<any>|null = null;\n\n /**\n * Implicit context to pass along to the template. Can be omitted if the template\n * is defined within the cell.\n */\n context?: C;\n\n /**\n * Specifies that the popup should cover additional table cells before and/or after\n * this one.\n */\n get colspan(): CdkPopoverEditColspan {\n return this._colspan;\n }\n set colspan(value: CdkPopoverEditColspan) {\n this._colspan = value;\n\n // Recompute positioning when the colspan changes.\n if (this.overlayRef) {\n this.overlayRef.updatePositionStrategy(this._getPositionStrategy());\n\n if (this.overlayRef.hasAttached()) {\n this._updateOverlaySize();\n }\n }\n }\n private _colspan: CdkPopoverEditColspan = {};\n\n /** Whether popover edit is disabled for this cell. */\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n\n if (value) {\n this.services.editEventDispatcher.doneEditingCell(this.elementRef.nativeElement!);\n this.services.editEventDispatcher.disabledCells.set(this.elementRef.nativeElement!, true);\n } else {\n this.services.editEventDispatcher.disabledCells.delete(this.elementRef.nativeElement!);\n }\n }\n private _disabled = false;\n\n protected focusTrap?: FocusTrap;\n protected overlayRef?: OverlayRef;\n protected readonly destroyed = new Subject<void>();\n\n constructor(\n protected readonly services: EditServices, protected readonly elementRef: ElementRef,\n protected readonly viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this._startListeningToEditEvents();\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n\n if (this.focusTrap) {\n this.focusTrap.destroy();\n this.focusTrap = undefined;\n }\n\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n }\n\n protected initFocusTrap(): void {\n this.focusTrap = this.services.focusTrapFactory.create(this.overlayRef!.overlayElement);\n }\n\n protected closeEditOverlay(): void {\n this.services.editEventDispatcher.doneEditingCell(this.elementRef.nativeElement!);\n }\n\n protected panelClass(): string {\n return EDIT_PANE_CLASS;\n }\n\n private _startListeningToEditEvents(): void {\n this.services.editEventDispatcher.editingCell(this.elementRef.nativeElement!)\n .pipe(takeUntil(this.destroyed))\n .subscribe((open) => {\n if (open && this.template) {\n if (!this.overlayRef) {\n this._createEditOverlay();\n }\n\n this._showEditOverlay();\n } else if (this.overlayRef) {\n this._maybeReturnFocusToCell();\n\n this.overlayRef.detach();\n }\n });\n }\n\n private _createEditOverlay(): void {\n this.overlayRef = this.services.overlay.create({\n disposeOnNavigation: true,\n panelClass: this.panelClass(),\n positionStrategy: this._getPositionStrategy(),\n scrollStrategy: this.services.overlay.scrollStrategies.reposition(),\n direction: this.services.directionality,\n });\n\n this.initFocusTrap();\n this.overlayRef.overlayElement.setAttribute('aria-role', 'dialog');\n\n this.overlayRef.detachments().subscribe(() => this.closeEditOverlay());\n }\n\n private _showEditOverlay(): void {\n this.overlayRef!.attach(new TemplatePortal(\n this.template!,\n this.viewContainerRef,\n {$implicit: this.context}));\n\n // We have to defer trapping focus, because doing so too early can cause the form inside\n // the overlay to be submitted immediately if it was opened on an Enter keydown event.\n this.services.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n this.focusTrap!.focusInitialElement();\n });\n });\n\n // Update the size of the popup initially and on subsequent changes to\n // scroll position and viewport size.\n merge(this.services.scrollDispatcher.scrolled(), this.services.viewportRuler.change())\n .pipe(\n startWith(null),\n takeUntil(merge(this.overlayRef!.detachments(), this.destroyed))\n )\n .subscribe(() => {\n this._updateOverlaySize();\n });\n }\n\n private _getOverlayCells(): HTMLElement[] {\n const cell = closest(this.elementRef.nativeElement!, CELL_SELECTOR) as HTMLElement;\n\n if (!this._colspan.before && !this._colspan.after) {\n return [cell];\n }\n\n const row = closest(this.elementRef.nativeElement!, ROW_SELECTOR)!;\n const rowCells = Array.from(row.querySelectorAll(CELL_SELECTOR)) as HTMLElement[];\n const ownIndex = rowCells.indexOf(cell);\n\n return rowCells.slice(\n ownIndex - (this._colspan.before || 0), ownIndex + (this._colspan.after || 0) + 1);\n }\n\n private _getPositionStrategy(): PositionStrategy {\n return this.services.positionFactory.positionStrategyForCells(this._getOverlayCells());\n }\n\n private _updateOverlaySize(): void {\n this.overlayRef!.updateSize(\n this.services.positionFactory.sizeConfigForCells(this._getOverlayCells()));\n }\n\n private _maybeReturnFocusToCell(): void {\n if (closest(document.activeElement, EDIT_PANE_SELECTOR) ===\n this.overlayRef!.overlayElement) {\n this.elementRef.nativeElement!.focus();\n }\n }\n}\n\n/**\n * Attaches an ng-template to a cell and shows it when instructed to by the\n * EditEventDispatcher service.\n * Makes the cell focusable.\n */\n@Directive({\n selector: '[cdkPopoverEdit][cdkPopoverEditTabOut]',\n host: POPOVER_EDIT_HOST_BINDINGS,\n inputs: POPOVER_EDIT_INPUTS,\n})\nexport class CdkPopoverEditTabOut<C> extends CdkPopoverEdit<C> {\n protected override focusTrap?: FocusEscapeNotifier;\n\n constructor(\n elementRef: ElementRef, viewContainerRef: ViewContainerRef, services: EditServices,\n protected readonly focusEscapeNotifierFactory: FocusEscapeNotifierFactory) {\n super(services, elementRef, viewContainerRef);\n }\n\n protected override initFocusTrap(): void {\n this.focusTrap = this.focusEscapeNotifierFactory.create(this.overlayRef!.overlayElement);\n\n this.focusTrap.escapes().pipe(takeUntil(this.destroyed)).subscribe(direction => {\n if (this.services.editEventDispatcher.editRef) {\n this.services.editEventDispatcher.editRef.blur();\n }\n\n this.services.focusDispatcher.moveFocusHorizontally(\n closest(this.elementRef.nativeElement!, CELL_SELECTOR) as HTMLElement,\n direction === FocusEscapeNotifierDirection.START ? -1 : 1);\n\n this.closeEditOverlay();\n });\n }\n}\n\n/**\n * A structural directive that shows its contents when the table row containing\n * it is hovered or when an element in the row has focus.\n */\n@Directive({\n selector: '[cdkRowHoverContent]',\n})\nexport class CdkRowHoverContent implements AfterViewInit, OnDestroy {\n protected readonly destroyed = new Subject<void>();\n protected viewRef: EmbeddedViewRef<any>|null = null;\n\n private _row?: Element;\n\n constructor(\n protected readonly services: EditServices, protected readonly elementRef: ElementRef,\n protected readonly templateRef: TemplateRef<any>,\n protected readonly viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this._row = closest(this.elementRef.nativeElement!, ROW_SELECTOR)!;\n\n this.services.editEventDispatcher.registerRowWithHoverContent(this._row);\n this._listenForHoverAndFocusEvents();\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n\n if (this.viewRef) {\n this.viewRef.destroy();\n }\n\n if (this._row) {\n this.services.editEventDispatcher.deregisterRowWithHoverContent(this._row);\n }\n }\n\n /**\n * Called immediately after the hover content is created and added to the dom.\n * In the CDK version, this is a noop but subclasses such as MatRowHoverContent use this\n * to prepare/style the inserted element.\n */\n protected initElement(_: HTMLElement): void {\n }\n\n /**\n * Called when the hover content needs to be focusable to preserve a reasonable tab ordering\n * but should not yet be shown.\n */\n protected makeElementHiddenButFocusable(element: HTMLElement): void {\n element.style.opacity = '0';\n }\n\n /**\n * Called when the hover content needs to be focusable to preserve a reasonable tab ordering\n * but should not yet be shown.\n */\n protected makeElementVisible(element: HTMLElement): void {\n element.style.opacity = '';\n }\n\n private _listenForHoverAndFocusEvents(): void {\n this.services.editEventDispatcher.hoverOrFocusOnRow(this._row!)\n .pipe(takeUntil(this.destroyed))\n .subscribe(eventState => {\n // When in FOCUSABLE state, add the hover content to the dom but make it transparent so\n // that it is in the tab order relative to the currently focused row.\n\n if (eventState === HoverContentState.ON || eventState === HoverContentState.FOCUSABLE) {\n if (!this.viewRef) {\n this.viewRef = this.viewContainerRef.createEmbeddedView(this.templateRef, {});\n this.initElement(this.viewRef.rootNodes[0] as HTMLElement);\n this.viewRef.markForCheck();\n } else if (this.viewContainerRef.indexOf(this.viewRef) === -1) {\n this.viewContainerRef.insert(this.viewRef!);\n this.viewRef.markForCheck();\n }\n\n if (eventState === HoverContentState.ON) {\n this.makeElementVisible(this.viewRef.rootNodes[0] as HTMLElement);\n } else {\n this.makeElementHiddenButFocusable(this.viewRef.rootNodes[0] as HTMLElement);\n }\n } else if (this.viewRef) {\n this.viewContainerRef.detach(this.viewContainerRef.indexOf(this.viewRef));\n }\n });\n }\n}\n\n/**\n * Opens the closest edit popover to this element, whether it's associated with this exact\n * element or an ancestor element.\n */\n@Directive({\n selector: '[cdkEditOpen]',\n})\nexport class CdkEditOpen {\n constructor(\n protected readonly elementRef: ElementRef<HTMLElement>,\n protected readonly editEventDispatcher: EditEventDispatcher<EditRef<unknown>>) {\n\n const nativeElement = elementRef.nativeElement;\n\n // Prevent accidental form submits.\n if (nativeElement.nodeName === 'BUTTON' && !nativeElement.getAttribute('type')) {\n nativeElement.setAttribute('type', 'button');\n }\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click', ['$event'])\n openEdit(evt: Event): void {\n this.editEventDispatcher.editing.next(closest(this.elementRef.nativeElement!, CELL_SELECTOR));\n evt.stopPropagation();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {\n CdkPopoverEdit,\n CdkPopoverEditTabOut,\n CdkRowHoverContent,\n CdkEditable,\n CdkEditOpen\n} from './table-directives';\nimport {CdkEditControl,\n CdkEditRevert,\n CdkEditClose\n} from './lens-directives';\nimport {\n DefaultPopoverEditPositionStrategyFactory,\n PopoverEditPositionStrategyFactory\n} from './popover-edit-position-strategy-factory';\n\nconst EXPORTED_DECLARATIONS = [\n CdkPopoverEdit,\n CdkPopoverEditTabOut,\n CdkRowHoverContent,\n CdkEditControl,\n CdkEditRevert,\n CdkEditClose,\n CdkEditable,\n CdkEditOpen,\n];\n\n@NgModule({\n imports: [\n OverlayModule,\n ],\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n providers: [{\n provide: PopoverEditPositionStrategyFactory,\n useClass: DefaultPopoverEditPositionStrategyFactory\n }],\n})\nexport class CdkPopoverEditModule { }\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './edit-event-dispatcher';\nexport * from './edit-ref';\nexport * from './focus-dispatcher';\nexport * from './form-value-container';\nexport * from './lens-directives';\nexport * from './popover-edit-module';\nexport * from './popover-edit-position-strategy-factory';\nexport * from './table-directives';\n\n// Private to Angular Components\nexport {CELL_SELECTOR as _CELL_SELECTOR} from './constants';\nexport {closest as _closest, matches as _matches} from './polyfill';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {EditServices as ɵangular_material_src_cdk_experimental_popover_edit_popover_edit_a} from './edit-services';\nexport {FocusEscapeNotifierFactory as ɵangular_material_src_cdk_experimental_popover_edit_popover_edit_b} from './focus-escape-notifier';"],"names":["Subject","distinctUntilChanged","startWith","pipe","shareReplay","filter","combineLatest","map","auditTime","audit","debounceTime","skip","Observable","Injectable","NgZone","take","ControlContainer","Self","UP_ARROW","DOWN_ARROW","LEFT_ARROW","RIGHT_ARROW","Directionality","EventEmitter","hasModifierKey","Directive","ElementRef","HostListener","Input","Overlay","FocusTrapFactory","ScrollDispatcher","ViewportRuler","FocusTrap","InteractivityChecker","Inject","DOCUMENT","fromEvent","takeUntil","mapTo","throttleTime","fromEventPattern","share","merge","withLatestFrom","TemplatePortal","ViewContainerRef","TemplateRef","NgModule","OverlayModule"],"mappings":"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"}
1
+ {"version":3,"file":"cdk-experimental-popover-edit.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/popover-edit/constants.ts","../../../../../src/cdk-experimental/popover-edit/polyfill.ts","../../../../../src/cdk-experimental/popover-edit/edit-event-dispatcher.ts","../../../../../src/cdk-experimental/popover-edit/edit-ref.ts","../../../../../src/cdk-experimental/popover-edit/focus-dispatcher.ts","../../../../../src/cdk-experimental/popover-edit/form-value-container.ts","../../../../../src/cdk-experimental/popover-edit/lens-directives.ts","../../../../../src/cdk-experimental/popover-edit/popover-edit-position-strategy-factory.ts","../../../../../src/cdk-experimental/popover-edit/edit-services.ts","../../../../../src/cdk-experimental/popover-edit/focus-escape-notifier.ts","../../../../../src/cdk-experimental/popover-edit/table-directives.ts","../../../../../src/cdk-experimental/popover-edit/popover-edit-module.ts","../../../../../src/cdk-experimental/popover-edit/public-api.ts","../../../../../src/cdk-experimental/popover-edit/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Selector for finding table cells. */\nexport const CELL_SELECTOR = '.cdk-cell, .mat-cell, td';\n\n/** Selector for finding editable table cells. */\nexport const EDITABLE_CELL_SELECTOR = '.cdk-popover-edit-cell, .mat-popover-edit-cell';\n\n/** Selector for finding table rows. */\nexport const ROW_SELECTOR = '.cdk-row, .mat-row, tr';\n\n/** Selector for finding the table element. */\nexport const TABLE_SELECTOR = 'table, cdk-table, mat-table';\n\n/** CSS class added to the edit lens pane. */\nexport const EDIT_PANE_CLASS = 'cdk-edit-pane';\n\n/** Selector for finding the edit lens pane. */\nexport const EDIT_PANE_SELECTOR = `.${EDIT_PANE_CLASS}, .mat-edit-pane`;\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** IE 11 compatible matches implementation. */\nexport function matches(element: Element, selector: string): boolean {\n return element.matches ?\n element.matches(selector) :\n (element as any)['msMatchesSelector'](selector);\n}\n\n/** IE 11 compatible closest implementation that is able to start from non-Element Nodes. */\nexport function closest(element: EventTarget|Element|null|undefined, selector: string):\n Element|null {\n if (!(element instanceof Node)) { return null; }\n\n let curr: Node|null = element;\n while (curr != null && !(curr instanceof Element)) {\n curr = curr.parentNode;\n }\n\n return curr && (hasNativeClosest ?\n curr.closest(selector) : polyfillClosest(curr, selector)) as Element|null;\n}\n\n/** Polyfill for browsers without Element.closest. */\nfunction polyfillClosest(element: Element, selector: string): Element|null {\n let curr: Node|null = element;\n while (curr != null && !(curr instanceof Element && matches(curr, selector))) {\n curr = curr.parentNode;\n }\n\n return (curr || null) as Element|null;\n}\n\nconst hasNativeClosest = !!Element.prototype.closest;\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone} from '@angular/core';\nimport {combineLatest, MonoTypeOperatorFunction, Observable, pipe, Subject} from 'rxjs';\nimport {\n audit,\n auditTime,\n debounceTime,\n distinctUntilChanged,\n filter,\n map,\n skip,\n startWith,\n shareReplay,\n} from 'rxjs/operators';\n\nimport {CELL_SELECTOR, ROW_SELECTOR} from './constants';\nimport {closest} from './polyfill';\n\n/** The delay applied to mouse events before hiding or showing hover content. */\nconst MOUSE_EVENT_DELAY_MS = 40;\n\n/** The delay for reacting to focus/blur changes. */\nconst FOCUS_DELAY = 0;\n\n/**\n * The possible states for hover content:\n * OFF - Not rendered.\n * FOCUSABLE - Rendered in the dom and styled for its contents to be focusable but invisible.\n * ON - Rendered and fully visible.\n */\nexport const enum HoverContentState {\n OFF = 0,\n FOCUSABLE,\n ON,\n}\n\n// Note: this class is generic, rather than referencing EditRef directly, in order to avoid\n// circular imports. If we were to reference it here, importing the registry into the\n// class that is registering itself will introduce a circular import.\n\n/**\n * Service for sharing delegated events and state for triggering table edits.\n */\n@Injectable()\nexport class EditEventDispatcher<R> {\n /** A subject that indicates which table cell is currently editing (unless it is disabled). */\n readonly editing = new Subject<Element|null>();\n\n /** A subject that indicates which table row is currently hovered. */\n readonly hovering = new Subject<Element|null>();\n\n /** A subject that indicates which table row currently contains focus. */\n readonly focused = new Subject<Element|null>();\n\n /** A subject that indicates all elements in the table matching ROW_SELECTOR. */\n readonly allRows = new Subject<NodeList>();\n\n /** A subject that emits mouse move events from the table indicating the targeted row. */\n readonly mouseMove = new Subject<Element|null>();\n\n // TODO: Use WeakSet once IE11 support is dropped.\n /**\n * Tracks the currently disabled editable cells - edit calls will be ignored\n * for these cells.\n */\n readonly disabledCells = new WeakMap<Element, boolean>();\n\n /** The EditRef for the currently active edit lens (if any). */\n get editRef(): R|null {\n return this._editRef;\n }\n private _editRef: R|null = null;\n\n // Optimization: Precompute common pipeable operators used per row/cell.\n private readonly _distinctUntilChanged =\n distinctUntilChanged<Element|HoverContentState|boolean|null>();\n private readonly _startWithNull = startWith<Element|null>(null);\n private readonly _distinctShare = pipe(\n this._distinctUntilChanged as MonoTypeOperatorFunction<HoverContentState>,\n shareReplay(1),\n );\n private readonly _startWithNullDistinct = pipe(\n this._startWithNull,\n this._distinctUntilChanged as MonoTypeOperatorFunction<Element|null>,\n );\n\n readonly editingAndEnabled = this.editing.pipe(\n filter(cell => cell == null || !this.disabledCells.has(cell)),\n shareReplay(1),\n );\n\n /** An observable that emits the row containing focus or an active edit. */\n readonly editingOrFocused = combineLatest([\n this.editingAndEnabled.pipe(\n map(cell => closest(cell, ROW_SELECTOR)),\n this._startWithNull,\n ),\n this.focused.pipe(this._startWithNull),\n ]).pipe(\n map(([editingRow, focusedRow]) => focusedRow || editingRow),\n this._distinctUntilChanged as MonoTypeOperatorFunction<Element|null>,\n auditTime(FOCUS_DELAY), // Use audit to skip over blur events to the next focused element.\n this._distinctUntilChanged as MonoTypeOperatorFunction<Element|null>,\n shareReplay(1),\n );\n\n /** Tracks rows that contain hover content with a reference count. */\n private _rowsWithHoverContent = new WeakMap<Element, number>();\n\n /** The table cell that has an active edit lens (or null). */\n private _currentlyEditing: Element|null = null;\n\n /** The combined set of row hover content states organized by row. */\n private readonly _hoveredContentStateDistinct = combineLatest([\n this._getFirstRowWithHoverContent(),\n this._getLastRowWithHoverContent(),\n this.editingOrFocused,\n this.hovering.pipe(\n distinctUntilChanged(),\n audit(row => this.mouseMove.pipe(\n filter(mouseMoveRow => row === mouseMoveRow),\n this._startWithNull,\n debounceTime(MOUSE_EVENT_DELAY_MS)),\n ),\n this._startWithNullDistinct,\n ),\n ]).pipe(\n skip(1), // Skip the initial emission of [null, null, null, null].\n map(computeHoverContentState),\n distinctUntilChanged(areMapEntriesEqual),\n // Optimization: Enter the zone before shareReplay so that we trigger a single\n // ApplicationRef.tick for all row updates.\n this._enterZone(),\n shareReplay(1),\n );\n\n private readonly _editingAndEnabledDistinct = this.editingAndEnabled.pipe(\n distinctUntilChanged(),\n this._enterZone(),\n shareReplay(1),\n );\n\n // Optimization: Share row events observable with subsequent callers.\n // At startup, calls will be sequential by row.\n private _lastSeenRow: Element|null = null;\n private _lastSeenRowHoverOrFocus: Observable<HoverContentState>|null = null;\n\n constructor(private readonly _ngZone: NgZone) {\n this._editingAndEnabledDistinct.subscribe(cell => {\n this._currentlyEditing = cell;\n });\n }\n\n /**\n * Gets an Observable that emits true when the specified element's cell\n * is editing and false when not.\n */\n editingCell(element: Element|EventTarget): Observable<boolean> {\n let cell: Element|null = null;\n\n return this._editingAndEnabledDistinct.pipe(\n map(editCell => editCell === (cell || (cell = closest(element, CELL_SELECTOR)))),\n this._distinctUntilChanged as MonoTypeOperatorFunction<boolean>,\n );\n }\n\n /**\n * Stops editing for the specified cell. If the specified cell is not the current\n * edit cell, does nothing.\n */\n doneEditingCell(element: Element|EventTarget): void {\n const cell = closest(element, CELL_SELECTOR);\n\n if (this._currentlyEditing === cell) {\n this.editing.next(null);\n }\n }\n\n /** Sets the currently active EditRef. */\n setActiveEditRef(ref: R) {\n this._editRef = ref;\n }\n\n /** Unsets the currently active EditRef, if the specified editRef is active. */\n unsetActiveEditRef(ref: R) {\n if (this._editRef !== ref) {\n return;\n }\n\n this._editRef = null;\n }\n\n /** Adds the specified table row to be tracked for first/last row comparisons. */\n registerRowWithHoverContent(row: Element): void {\n this._rowsWithHoverContent.set(row, (this._rowsWithHoverContent.get(row) || 0) + 1);\n }\n\n /**\n * Reference decrements and ultimately removes the specified table row from first/last row\n * comparisons.\n */\n deregisterRowWithHoverContent(row: Element): void {\n const refCount = this._rowsWithHoverContent.get(row) || 0;\n\n if (refCount <= 1) {\n this._rowsWithHoverContent.delete(row);\n } else {\n this._rowsWithHoverContent.set(row, refCount - 1);\n }\n }\n\n /**\n * Gets an Observable that emits true when the specified element's row\n * contains the focused element or is being hovered over and false when not.\n * Hovering is defined as when the mouse has momentarily stopped moving over the cell.\n */\n hoverOrFocusOnRow(row: Element): Observable<HoverContentState> {\n if (row !== this._lastSeenRow) {\n this._lastSeenRow = row;\n this._lastSeenRowHoverOrFocus = this._hoveredContentStateDistinct.pipe(\n map(state => state.get(row) || HoverContentState.OFF),\n this._distinctShare,\n );\n }\n\n return this._lastSeenRowHoverOrFocus!;\n }\n\n /**\n * RxJS operator that enters the Angular zone, used to reduce boilerplate in\n * re-entering the zone for stream pipelines.\n */\n private _enterZone<T>(): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) =>\n new Observable<T>((observer) => source.subscribe({\n next: (value) => this._ngZone.run(() => observer.next(value)),\n error: (err) => observer.error(err),\n complete: () => observer.complete()\n }));\n }\n\n private _getFirstRowWithHoverContent(): Observable<Element|null> {\n return this._mapAllRowsToSingleRow(rows => {\n for (let i = 0, row; row = rows[i]; i++) {\n if (this._rowsWithHoverContent.has(row as Element)) {\n return row as Element;\n }\n }\n return null;\n });\n }\n\n private _getLastRowWithHoverContent(): Observable<Element|null> {\n return this._mapAllRowsToSingleRow(rows => {\n for (let i = rows.length - 1, row; row = rows[i]; i--) {\n if (this._rowsWithHoverContent.has(row as Element)) {\n return row as Element;\n }\n }\n return null;\n });\n }\n\n private _mapAllRowsToSingleRow(mapper: (rows: NodeList) => Element|null):\n Observable<Element|null> {\n return this.allRows.pipe(\n map(mapper),\n this._startWithNullDistinct,\n );\n }\n}\n\nfunction computeHoverContentState([firstRow, lastRow, activeRow, hoverRow]: (Element|null)[]):\n Map<Element, HoverContentState> {\n const hoverContentState = new Map<Element, HoverContentState>();\n\n // Add focusable rows.\n for (const focussableRow of [\n firstRow,\n lastRow,\n activeRow && activeRow.previousElementSibling,\n activeRow && activeRow.nextElementSibling,\n ]) {\n if (focussableRow) {\n hoverContentState.set(focussableRow as Element, HoverContentState.FOCUSABLE);\n }\n }\n\n // Add/overwrite with fully visible rows.\n for (const onRow of [activeRow, hoverRow]) {\n if (onRow) {\n hoverContentState.set(onRow, HoverContentState.ON);\n }\n }\n\n return hoverContentState;\n}\n\nfunction areMapEntriesEqual<K, V>(a: Map<K, V>, b: Map<K, V>): boolean {\n if (a.size !== b.size) {\n return false;\n }\n\n // TODO: use Map.prototype.entries once we're off IE11.\n for (const aKey of Array.from(a.keys())) {\n if (b.get(aKey) !== a.get(aKey)) {\n return false;\n }\n }\n\n return true;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, OnDestroy, Self, NgZone} from '@angular/core';\nimport {ControlContainer} from '@angular/forms';\nimport {Observable, Subject} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {EditEventDispatcher} from './edit-event-dispatcher';\n\n/**\n * Used for communication between the form within the edit lens and the\n * table that launched it. Provided by CdkEditControl within the lens.\n */\n@Injectable()\nexport class EditRef<FormValue> implements OnDestroy {\n /** Emits the final value of this edit instance before closing. */\n private readonly _finalValueSubject = new Subject<FormValue>();\n readonly finalValue: Observable<FormValue> = this._finalValueSubject;\n\n /** Emits when the user tabs out of this edit lens before closing. */\n private readonly _blurredSubject = new Subject<void>();\n readonly blurred: Observable<void> = this._blurredSubject;\n\n /** The value to set the form back to on revert. */\n private _revertFormValue: FormValue;\n\n constructor(\n @Self() private readonly _form: ControlContainer,\n private readonly _editEventDispatcher: EditEventDispatcher<EditRef<FormValue>>,\n private readonly _ngZone: NgZone) {\n this._editEventDispatcher.setActiveEditRef(this);\n }\n\n /**\n * Called by the host directive's OnInit hook. Reads the initial state of the\n * form and overrides it with persisted state from previous openings, if\n * applicable.\n */\n init(previousFormValue: FormValue|undefined): void {\n // Wait for the zone to stabilize before caching the initial value.\n // This ensures that all form controls have been initialized.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.updateRevertValue();\n if (previousFormValue) {\n this.reset(previousFormValue);\n }\n });\n }\n\n ngOnDestroy(): void {\n this._editEventDispatcher.unsetActiveEditRef(this);\n this._finalValueSubject.next(this._form.value);\n this._finalValueSubject.complete();\n }\n\n /** Whether the attached form is in a valid state. */\n isValid(): boolean|null {\n return this._form.valid;\n }\n\n /** Set the form's current value as what it will be set to on revert/reset. */\n updateRevertValue(): void {\n this._revertFormValue = this._form.value;\n }\n\n /** Tells the table to close the edit popup. */\n close(): void {\n this._editEventDispatcher.editing.next(null);\n }\n\n /** Notifies the active edit that the user has moved focus out of the lens. */\n blur(): void {\n this._blurredSubject.next();\n }\n\n /**\n * Resets the form value to the specified value or the previously set\n * revert value.\n */\n reset(value?: FormValue): void {\n this._form.reset(value || this._revertFormValue);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {LEFT_ARROW, UP_ARROW, RIGHT_ARROW, DOWN_ARROW} from '@angular/cdk/keycodes';\nimport {Injectable} from '@angular/core';\nimport {PartialObserver} from 'rxjs';\n\nimport {EDITABLE_CELL_SELECTOR, ROW_SELECTOR, TABLE_SELECTOR} from './constants';\nimport {closest} from './polyfill';\n\n/**\n * Service responsible for moving cell focus around in response to keyboard events.\n * May be overridden to customize the keyboard behavior of popover edit.\n */\n@Injectable({providedIn: 'root'})\nexport class FocusDispatcher {\n /** Observes keydown events triggered from the table. */\n readonly keyObserver: PartialObserver<KeyboardEvent>;\n\n constructor(protected readonly directionality: Directionality) {\n this.keyObserver = {next: (event) => this.handleKeyboardEvent(event)};\n }\n\n /**\n * Moves focus to earlier or later cells (in dom order) by offset cells relative to\n * currentCell.\n */\n moveFocusHorizontally(currentCell: HTMLElement, offset: number): void {\n const cells = Array.from(closest(currentCell, TABLE_SELECTOR)!.querySelectorAll(\n EDITABLE_CELL_SELECTOR)) as HTMLElement[];\n const currentIndex = cells.indexOf(currentCell);\n const newIndex = currentIndex + offset;\n\n if (cells[newIndex]) {\n cells[newIndex].focus();\n }\n }\n\n /** Moves focus to up or down by row by offset cells relative to currentCell. */\n moveFocusVertically(currentCell: HTMLElement, offset: number): void {\n const currentRow = closest(currentCell, ROW_SELECTOR)!;\n const rows = Array.from(closest(currentRow, TABLE_SELECTOR)!.querySelectorAll(ROW_SELECTOR));\n const currentRowIndex = rows.indexOf(currentRow);\n const currentIndexWithinRow =\n Array.from(currentRow.querySelectorAll(EDITABLE_CELL_SELECTOR)).indexOf(currentCell);\n const newRowIndex = currentRowIndex + offset;\n\n if (rows[newRowIndex]) {\n const rowToFocus =\n Array.from(rows[newRowIndex].querySelectorAll(EDITABLE_CELL_SELECTOR)) as HTMLElement[];\n\n if (rowToFocus[currentIndexWithinRow]) {\n rowToFocus[currentIndexWithinRow].focus();\n }\n }\n }\n\n /** Translates arrow keydown events into focus move operations. */\n protected handleKeyboardEvent(event: KeyboardEvent): void {\n const cell = closest(event.target, EDITABLE_CELL_SELECTOR) as HTMLElement | null;\n\n if (!cell) {\n return;\n }\n\n switch (event.keyCode) {\n case UP_ARROW:\n this.moveFocusVertically(cell, -1);\n break;\n case DOWN_ARROW:\n this.moveFocusVertically(cell, 1);\n break;\n case LEFT_ARROW:\n this.moveFocusHorizontally(cell, this.directionality.value === 'ltr' ? -1 : 1);\n break;\n case RIGHT_ARROW:\n this.moveFocusHorizontally(cell, this.directionality.value === 'ltr' ? 1 : -1);\n break;\n default:\n // If the keyboard event is not handled, return now so that we don't `preventDefault`.\n return;\n }\n\n event.preventDefault();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport interface Entry<FormValue> {\n value?: FormValue;\n}\n\n/**\n * A convenience class for preserving unsaved form state while an edit lens is closed.\n *\n * Example usage:\n * class MyComponent {\n * readonly nameEditValues = new FormValueContainer&lt;Item, {name: string}&gt;();\n * }\n *\n * &lt;form cdkEditControl [(cdkEditControlPreservedFormValue)]=\"nameEditValues.for(item).value\"&gt;\n */\nexport class FormValueContainer<Key extends object, FormValue> {\n private _formValues = new WeakMap<Key, Entry<FormValue>>();\n\n for(key: Key): Entry<FormValue> {\n const _formValues = this._formValues;\n\n let entry = _formValues.get(key);\n if (!entry) {\n // Expose entry as an object so that we can [(two-way)] bind to its value member\n entry = {};\n _formValues.set(key, entry);\n }\n\n return entry;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Subject} from 'rxjs';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n OnDestroy,\n OnInit,\n Input,\n HostListener,\n} from '@angular/core';\nimport {hasModifierKey} from '@angular/cdk/keycodes';\nimport {EDIT_PANE_SELECTOR} from './constants';\nimport {closest} from './polyfill';\nimport {EditRef} from './edit-ref';\n\n/** Options for what do to when the user clicks outside of an edit lens. */\nexport type PopoverEditClickOutBehavior = 'close' | 'submit' | 'noop';\n\n/**\n * A directive that attaches to a form within the edit lens.\n * It coordinates the form state with the table-wide edit system and handles\n * closing the edit lens when the form is submitted or the user clicks\n * out.\n */\n@Directive({\n selector: 'form[cdkEditControl]',\n inputs: [\n 'clickOutBehavior: cdkEditControlClickOutBehavior',\n 'preservedFormValue: cdkEditControlPreservedFormValue',\n 'ignoreSubmitUnlessValid: cdkEditControlIgnoreSubmitUnlessValid',\n ],\n outputs: ['preservedFormValueChange: cdkEditControlPreservedFormValueChange'],\n providers: [EditRef],\n})\nexport class CdkEditControl<FormValue> implements OnDestroy, OnInit {\n protected readonly destroyed = new Subject<void>();\n\n /**\n * Specifies what should happen when the user clicks outside of the edit lens.\n * The default behavior is to close the lens without submitting the form.\n */\n clickOutBehavior: PopoverEditClickOutBehavior = 'close';\n\n /**\n * A two-way binding for storing unsubmitted form state. If not provided\n * then form state will be discarded on close. The PeristBy directive is offered\n * as a convenient shortcut for these bindings.\n */\n preservedFormValue?: FormValue;\n readonly preservedFormValueChange = new EventEmitter<FormValue>();\n\n /**\n * Determines whether the lens will close on form submit if the form is not in a valid\n * state. By default the lens will remain open.\n */\n ignoreSubmitUnlessValid = true;\n\n constructor(protected readonly elementRef: ElementRef, readonly editRef: EditRef<FormValue>) {}\n\n ngOnInit(): void {\n this.editRef.init(this.preservedFormValue);\n this.editRef.finalValue.subscribe(this.preservedFormValueChange);\n this.editRef.blurred.subscribe(() => this._handleBlur());\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n /**\n * Called when the form submits. If ignoreSubmitUnlessValid is true, checks\n * the form for validity before proceeding.\n * Updates the revert state with the latest submitted value then closes the edit.\n */\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('ngSubmit')\n handleFormSubmit(): void {\n if (this.ignoreSubmitUnlessValid && !this.editRef.isValid()) { return; }\n\n this.editRef.updateRevertValue();\n this.editRef.close();\n }\n\n /** Called on Escape keyup. Closes the edit. */\n close(): void {\n // todo - allow this behavior to be customized as well, such as calling\n // reset before close\n this.editRef.close();\n }\n\n /**\n * Called on click anywhere in the document.\n * If the click was outside of the lens, trigger the specified click out behavior.\n */\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('document:click', ['$event'])\n handlePossibleClickOut(evt: Event): void {\n if (closest(evt.target, EDIT_PANE_SELECTOR)) { return; }\n switch (this.clickOutBehavior) {\n case 'submit':\n // Manually cause the form to submit before closing.\n this._triggerFormSubmit();\n this.editRef.close();\n break;\n case 'close':\n this.editRef.close();\n break;\n default:\n break;\n }\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('keydown', ['$event'])\n _handleKeydown(event: KeyboardEvent) {\n if (event.key === 'Escape' && !hasModifierKey(event)) {\n this.close();\n event.preventDefault();\n }\n }\n\n /** Triggers submit on tab out if clickOutBehavior is 'submit'. */\n private _handleBlur(): void {\n if (this.clickOutBehavior === 'submit') {\n // Manually cause the form to submit before closing.\n this._triggerFormSubmit();\n }\n }\n\n private _triggerFormSubmit() {\n this.elementRef.nativeElement!.dispatchEvent(new Event('submit'));\n }\n}\n\n/** Reverts the form to its initial or previously submitted state on click. */\n@Directive({\n selector: 'button[cdkEditRevert]',\n host: {\n 'type': 'button', // Prevents accidental form submits.\n }\n})\nexport class CdkEditRevert<FormValue> {\n /** Type of the button. Defaults to `button` to avoid accident form submits. */\n @Input() type: string = 'button';\n\n constructor(\n protected readonly editRef: EditRef<FormValue>) {}\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n revertEdit(): void {\n this.editRef.reset();\n }\n}\n\n/** Closes the lens on click. */\n@Directive({selector: '[cdkEditClose]'})\nexport class CdkEditClose<FormValue> {\n constructor(\n protected readonly elementRef: ElementRef<HTMLElement>,\n protected readonly editRef: EditRef<FormValue>) {\n\n const nativeElement = elementRef.nativeElement;\n\n // Prevent accidental form submits.\n if (nativeElement.nodeName === 'BUTTON' && !nativeElement.getAttribute('type')) {\n nativeElement.setAttribute('type', 'button');\n }\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click') @HostListener('keydown.enter') @HostListener('keydown.space')\n closeEdit(): void {\n // Note that we use `click` here, rather than a keyboard event, because some screen readers\n // will emit a fake click event instead of an enter keyboard event on buttons. For the keyboard\n // events we use `keydown`, rather than `keyup`, because we use `keydown` to open the overlay\n // as well. If we were to use `keyup`, the user could end up opening and closing within\n // the same event sequence if focus was moved quickly.\n this.editRef.close();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {Overlay, OverlaySizeConfig, PositionStrategy} from '@angular/cdk/overlay';\nimport {Injectable} from '@angular/core';\n\n/**\n * Overridable factory responsible for configuring how cdkPopoverEdit popovers are positioned\n * and sized.\n */\n@Injectable()\nexport abstract class PopoverEditPositionStrategyFactory {\n /**\n * Creates a PositionStrategy based on the specified table cells.\n * The cells will be provided in DOM order.\n */\n abstract positionStrategyForCells(cells: HTMLElement[]): PositionStrategy;\n\n /**\n * Creates an OverlaySizeConfig based on the specified table cells.\n * The cells will be provided in DOM order.\n */\n abstract sizeConfigForCells(cells: HTMLElement[]): OverlaySizeConfig;\n}\n\n/**\n * Default implementation of PopoverEditPositionStrategyFactory.\n * Uses a FlexibleConnectedPositionStrategy anchored to the start + top of the cell.\n * Note: This will change to CoverPositionStrategy once it implemented.\n */\n@Injectable()\nexport class DefaultPopoverEditPositionStrategyFactory extends PopoverEditPositionStrategyFactory {\n constructor(protected readonly direction: Directionality, protected readonly overlay: Overlay) {\n super();\n }\n\n positionStrategyForCells(cells: HTMLElement[]): PositionStrategy {\n return this.overlay.position()\n .flexibleConnectedTo(cells[0])\n .withGrowAfterOpen()\n .withPush()\n .withViewportMargin(16)\n .withPositions([{\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n }]);\n }\n\n sizeConfigForCells(cells: HTMLElement[]): OverlaySizeConfig {\n if (cells.length === 0) {\n return {};\n }\n\n if (cells.length === 1) {\n return {width: cells[0].getBoundingClientRect().width};\n }\n\n let firstCell, lastCell;\n if (this.direction.value === 'ltr') {\n firstCell = cells[0];\n lastCell = cells[cells.length - 1];\n } else {\n lastCell = cells[0];\n firstCell = cells[cells.length - 1];\n }\n\n return {width: lastCell.getBoundingClientRect().right - firstCell.getBoundingClientRect().left};\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone} from '@angular/core';\nimport {FocusTrapFactory} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {Overlay} from '@angular/cdk/overlay';\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\n\nimport {EditEventDispatcher} from './edit-event-dispatcher';\nimport {FocusDispatcher} from './focus-dispatcher';\nimport {PopoverEditPositionStrategyFactory} from './popover-edit-position-strategy-factory';\nimport {EditRef} from './edit-ref';\n\n/**\n * Optimization\n * Collects multiple Injectables into a singleton shared across the table. By reducing the\n * number of services injected into each CdkPopoverEdit, this saves about 0.023ms of cpu time\n * and 56 bytes of memory per instance.\n */\n@Injectable()\nexport class EditServices {\n constructor(\n readonly directionality: Directionality,\n readonly editEventDispatcher: EditEventDispatcher<EditRef<unknown>>,\n readonly focusDispatcher: FocusDispatcher,\n readonly focusTrapFactory: FocusTrapFactory, readonly ngZone: NgZone,\n readonly overlay: Overlay, readonly positionFactory: PopoverEditPositionStrategyFactory,\n readonly scrollDispatcher: ScrollDispatcher, readonly viewportRuler: ViewportRuler) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, NgZone} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {FocusTrap, InteractivityChecker} from '@angular/cdk/a11y';\nimport {Observable, Subject} from 'rxjs';\n\n/** Value indicating whether focus left the target area before or after the enclosed elements. */\nexport const enum FocusEscapeNotifierDirection {\n START,\n END,\n}\n\n/**\n * Like FocusTrap, but rather than trapping focus within a dom region, notifies subscribers when\n * focus leaves the region.\n */\nexport class FocusEscapeNotifier extends FocusTrap {\n private readonly _escapeSubject = new Subject<FocusEscapeNotifierDirection>();\n\n constructor(\n element: HTMLElement,\n checker: InteractivityChecker,\n ngZone: NgZone,\n document: Document) {\n super(element, checker, ngZone, document, true /* deferAnchors */);\n\n // The focus trap adds \"anchors\" at the beginning and end of a trapped region that redirect\n // focus. We override that redirect behavior here with simply emitting on a stream.\n this.startAnchorListener = () => {\n this._escapeSubject.next(FocusEscapeNotifierDirection.START);\n return true;\n };\n this.endAnchorListener = () => {\n this._escapeSubject.next(FocusEscapeNotifierDirection.END);\n return true;\n };\n\n this.attachAnchors();\n }\n\n escapes(): Observable<FocusEscapeNotifierDirection> {\n return this._escapeSubject;\n }\n}\n\n/** Factory that allows easy instantiation of focus escape notifiers. */\n@Injectable({providedIn: 'root'})\nexport class FocusEscapeNotifierFactory {\n private _document: Document;\n\n constructor(\n private _checker: InteractivityChecker,\n private _ngZone: NgZone,\n @Inject(DOCUMENT) _document: any) {\n\n this._document = _document;\n }\n\n /**\n * Creates a focus escape notifier region around the given element.\n * @param element The element around which focus will be monitored.\n * @returns The created focus escape notifier instance.\n */\n create(element: HTMLElement): FocusEscapeNotifier {\n return new FocusEscapeNotifier(element, this._checker, this._ngZone, this._document);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {FocusTrap} from '@angular/cdk/a11y';\nimport {OverlayRef, PositionStrategy} from '@angular/cdk/overlay';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n NgZone,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n HostListener,\n} from '@angular/core';\nimport {fromEvent, fromEventPattern, merge, Subject} from 'rxjs';\nimport {\n filter,\n map,\n mapTo,\n share,\n startWith,\n takeUntil,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {CELL_SELECTOR, EDIT_PANE_CLASS, EDIT_PANE_SELECTOR, ROW_SELECTOR} from './constants';\nimport {EditEventDispatcher, HoverContentState} from './edit-event-dispatcher';\nimport {EditServices} from './edit-services';\nimport {FocusDispatcher} from './focus-dispatcher';\nimport {\n FocusEscapeNotifier,\n FocusEscapeNotifierDirection,\n FocusEscapeNotifierFactory\n} from './focus-escape-notifier';\nimport {closest} from './polyfill';\nimport {EditRef} from './edit-ref';\n\n/**\n * Describes the number of columns before and after the originating cell that the\n * edit popup should span. In left to right locales, before means left and after means\n * right. In right to left locales before means right and after means left.\n */\nexport interface CdkPopoverEditColspan {\n before?: number;\n after?: number;\n}\n\n/** Used for rate-limiting mousemove events. */\nconst MOUSE_MOVE_THROTTLE_TIME_MS = 10;\n\n/**\n * A directive that must be attached to enable editability on a table.\n * It is responsible for setting up delegated event handlers and providing the\n * EditEventDispatcher service for use by the other edit directives.\n */\n@Directive({\n selector: 'table[editable], cdk-table[editable], mat-table[editable]',\n providers: [EditEventDispatcher, EditServices],\n})\nexport class CdkEditable implements AfterViewInit, OnDestroy {\n protected readonly destroyed = new Subject<void>();\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly editEventDispatcher: EditEventDispatcher<EditRef<unknown>>,\n protected readonly focusDispatcher: FocusDispatcher, protected readonly ngZone: NgZone) {}\n\n ngAfterViewInit(): void {\n this._listenForTableEvents();\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n private _listenForTableEvents(): void {\n const element = this.elementRef.nativeElement;\n const toClosest = (selector: string) =>\n map((event: UIEvent) => closest(event.target, selector));\n\n this.ngZone.runOutsideAngular(() => {\n // Track mouse movement over the table to hide/show hover content.\n fromEvent<MouseEvent>(element, 'mouseover').pipe(\n toClosest(ROW_SELECTOR),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.hovering);\n fromEvent<MouseEvent>(element, 'mouseleave').pipe(\n mapTo(null),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.hovering);\n fromEvent<MouseEvent>(element, 'mousemove').pipe(\n throttleTime(MOUSE_MOVE_THROTTLE_TIME_MS),\n toClosest(ROW_SELECTOR),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.mouseMove);\n\n // Track focus within the table to hide/show/make focusable hover content.\n fromEventPattern<FocusEvent>(\n handler => element.addEventListener('focus', handler, true),\n handler => element.removeEventListener('focus', handler, true)\n ).pipe(\n toClosest(ROW_SELECTOR),\n share(),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.focused);\n\n merge(\n fromEventPattern<FocusEvent>(\n handler => element.addEventListener('blur', handler, true),\n handler => element.removeEventListener('blur', handler, true)\n ),\n fromEvent<KeyboardEvent>(element, 'keydown').pipe(filter(event => event.key === 'Escape'))\n ).pipe(\n mapTo(null),\n share(),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.focused);\n\n // Keep track of rows within the table. This is used to know which rows with hover content\n // are first or last in the table. They are kept focusable in case focus enters from above\n // or below the table.\n this.ngZone.onStable.pipe(\n // Optimization: ignore dom changes while focus is within the table as we already\n // ensure that rows above and below the focused/active row are tabbable.\n withLatestFrom(this.editEventDispatcher.editingOrFocused),\n filter(([_, activeRow]) => activeRow == null),\n map(() => element.querySelectorAll(ROW_SELECTOR)),\n share(),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.allRows);\n\n fromEvent<KeyboardEvent>(element, 'keydown').pipe(\n filter(event => event.key === 'Enter'),\n toClosest(CELL_SELECTOR),\n takeUntil(this.destroyed),\n ).subscribe(this.editEventDispatcher.editing);\n\n // Keydown must be used here or else key autorepeat does not work properly on some platforms.\n fromEvent<KeyboardEvent>(element, 'keydown')\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.focusDispatcher.keyObserver);\n });\n }\n}\n\nconst POPOVER_EDIT_HOST_BINDINGS = {\n '[attr.tabindex]': 'disabled ? null : 0',\n 'class': 'cdk-popover-edit-cell',\n '[attr.aria-haspopup]': '!disabled',\n};\n\nconst POPOVER_EDIT_INPUTS = [\n 'template: cdkPopoverEdit',\n 'context: cdkPopoverEditContext',\n 'colspan: cdkPopoverEditColspan',\n 'disabled: cdkPopoverEditDisabled',\n];\n\n/**\n * Attaches an ng-template to a cell and shows it when instructed to by the\n * EditEventDispatcher service.\n * Makes the cell focusable.\n */\n@Directive({\n selector: '[cdkPopoverEdit]:not([cdkPopoverEditTabOut])',\n host: POPOVER_EDIT_HOST_BINDINGS,\n inputs: POPOVER_EDIT_INPUTS,\n})\nexport class CdkPopoverEdit<C> implements AfterViewInit, OnDestroy {\n /** The edit lens template shown over the cell on edit. */\n template: TemplateRef<any>|null = null;\n\n /**\n * Implicit context to pass along to the template. Can be omitted if the template\n * is defined within the cell.\n */\n context?: C;\n\n /**\n * Specifies that the popup should cover additional table cells before and/or after\n * this one.\n */\n get colspan(): CdkPopoverEditColspan {\n return this._colspan;\n }\n set colspan(value: CdkPopoverEditColspan) {\n this._colspan = value;\n\n // Recompute positioning when the colspan changes.\n if (this.overlayRef) {\n this.overlayRef.updatePositionStrategy(this._getPositionStrategy());\n\n if (this.overlayRef.hasAttached()) {\n this._updateOverlaySize();\n }\n }\n }\n private _colspan: CdkPopoverEditColspan = {};\n\n /** Whether popover edit is disabled for this cell. */\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n\n if (value) {\n this.services.editEventDispatcher.doneEditingCell(this.elementRef.nativeElement!);\n this.services.editEventDispatcher.disabledCells.set(this.elementRef.nativeElement!, true);\n } else {\n this.services.editEventDispatcher.disabledCells.delete(this.elementRef.nativeElement!);\n }\n }\n private _disabled = false;\n\n protected focusTrap?: FocusTrap;\n protected overlayRef?: OverlayRef;\n protected readonly destroyed = new Subject<void>();\n\n constructor(\n protected readonly services: EditServices, protected readonly elementRef: ElementRef,\n protected readonly viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this._startListeningToEditEvents();\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n\n if (this.focusTrap) {\n this.focusTrap.destroy();\n this.focusTrap = undefined;\n }\n\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n }\n\n protected initFocusTrap(): void {\n this.focusTrap = this.services.focusTrapFactory.create(this.overlayRef!.overlayElement);\n }\n\n protected closeEditOverlay(): void {\n this.services.editEventDispatcher.doneEditingCell(this.elementRef.nativeElement!);\n }\n\n protected panelClass(): string {\n return EDIT_PANE_CLASS;\n }\n\n private _startListeningToEditEvents(): void {\n this.services.editEventDispatcher.editingCell(this.elementRef.nativeElement!)\n .pipe(takeUntil(this.destroyed))\n .subscribe((open) => {\n if (open && this.template) {\n if (!this.overlayRef) {\n this._createEditOverlay();\n }\n\n this._showEditOverlay();\n } else if (this.overlayRef) {\n this._maybeReturnFocusToCell();\n\n this.overlayRef.detach();\n }\n });\n }\n\n private _createEditOverlay(): void {\n this.overlayRef = this.services.overlay.create({\n disposeOnNavigation: true,\n panelClass: this.panelClass(),\n positionStrategy: this._getPositionStrategy(),\n scrollStrategy: this.services.overlay.scrollStrategies.reposition(),\n direction: this.services.directionality,\n });\n\n this.initFocusTrap();\n this.overlayRef.overlayElement.setAttribute('aria-role', 'dialog');\n\n this.overlayRef.detachments().subscribe(() => this.closeEditOverlay());\n }\n\n private _showEditOverlay(): void {\n this.overlayRef!.attach(new TemplatePortal(\n this.template!,\n this.viewContainerRef,\n {$implicit: this.context}));\n\n // We have to defer trapping focus, because doing so too early can cause the form inside\n // the overlay to be submitted immediately if it was opened on an Enter keydown event.\n this.services.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n this.focusTrap!.focusInitialElement();\n });\n });\n\n // Update the size of the popup initially and on subsequent changes to\n // scroll position and viewport size.\n merge(this.services.scrollDispatcher.scrolled(), this.services.viewportRuler.change())\n .pipe(\n startWith(null),\n takeUntil(merge(this.overlayRef!.detachments(), this.destroyed))\n )\n .subscribe(() => {\n this._updateOverlaySize();\n });\n }\n\n private _getOverlayCells(): HTMLElement[] {\n const cell = closest(this.elementRef.nativeElement!, CELL_SELECTOR) as HTMLElement;\n\n if (!this._colspan.before && !this._colspan.after) {\n return [cell];\n }\n\n const row = closest(this.elementRef.nativeElement!, ROW_SELECTOR)!;\n const rowCells = Array.from(row.querySelectorAll(CELL_SELECTOR)) as HTMLElement[];\n const ownIndex = rowCells.indexOf(cell);\n\n return rowCells.slice(\n ownIndex - (this._colspan.before || 0), ownIndex + (this._colspan.after || 0) + 1);\n }\n\n private _getPositionStrategy(): PositionStrategy {\n return this.services.positionFactory.positionStrategyForCells(this._getOverlayCells());\n }\n\n private _updateOverlaySize(): void {\n this.overlayRef!.updateSize(\n this.services.positionFactory.sizeConfigForCells(this._getOverlayCells()));\n }\n\n private _maybeReturnFocusToCell(): void {\n if (closest(document.activeElement, EDIT_PANE_SELECTOR) ===\n this.overlayRef!.overlayElement) {\n this.elementRef.nativeElement!.focus();\n }\n }\n}\n\n/**\n * Attaches an ng-template to a cell and shows it when instructed to by the\n * EditEventDispatcher service.\n * Makes the cell focusable.\n */\n@Directive({\n selector: '[cdkPopoverEdit][cdkPopoverEditTabOut]',\n host: POPOVER_EDIT_HOST_BINDINGS,\n inputs: POPOVER_EDIT_INPUTS,\n})\nexport class CdkPopoverEditTabOut<C> extends CdkPopoverEdit<C> {\n protected override focusTrap?: FocusEscapeNotifier;\n\n constructor(\n elementRef: ElementRef, viewContainerRef: ViewContainerRef, services: EditServices,\n protected readonly focusEscapeNotifierFactory: FocusEscapeNotifierFactory) {\n super(services, elementRef, viewContainerRef);\n }\n\n protected override initFocusTrap(): void {\n this.focusTrap = this.focusEscapeNotifierFactory.create(this.overlayRef!.overlayElement);\n\n this.focusTrap.escapes().pipe(takeUntil(this.destroyed)).subscribe(direction => {\n if (this.services.editEventDispatcher.editRef) {\n this.services.editEventDispatcher.editRef.blur();\n }\n\n this.services.focusDispatcher.moveFocusHorizontally(\n closest(this.elementRef.nativeElement!, CELL_SELECTOR) as HTMLElement,\n direction === FocusEscapeNotifierDirection.START ? -1 : 1);\n\n this.closeEditOverlay();\n });\n }\n}\n\n/**\n * A structural directive that shows its contents when the table row containing\n * it is hovered or when an element in the row has focus.\n */\n@Directive({\n selector: '[cdkRowHoverContent]',\n})\nexport class CdkRowHoverContent implements AfterViewInit, OnDestroy {\n protected readonly destroyed = new Subject<void>();\n protected viewRef: EmbeddedViewRef<any>|null = null;\n\n private _row?: Element;\n\n constructor(\n protected readonly services: EditServices, protected readonly elementRef: ElementRef,\n protected readonly templateRef: TemplateRef<any>,\n protected readonly viewContainerRef: ViewContainerRef) {}\n\n ngAfterViewInit(): void {\n this._row = closest(this.elementRef.nativeElement!, ROW_SELECTOR)!;\n\n this.services.editEventDispatcher.registerRowWithHoverContent(this._row);\n this._listenForHoverAndFocusEvents();\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n\n if (this.viewRef) {\n this.viewRef.destroy();\n }\n\n if (this._row) {\n this.services.editEventDispatcher.deregisterRowWithHoverContent(this._row);\n }\n }\n\n /**\n * Called immediately after the hover content is created and added to the dom.\n * In the CDK version, this is a noop but subclasses such as MatRowHoverContent use this\n * to prepare/style the inserted element.\n */\n protected initElement(_: HTMLElement): void {\n }\n\n /**\n * Called when the hover content needs to be focusable to preserve a reasonable tab ordering\n * but should not yet be shown.\n */\n protected makeElementHiddenButFocusable(element: HTMLElement): void {\n element.style.opacity = '0';\n }\n\n /**\n * Called when the hover content needs to be focusable to preserve a reasonable tab ordering\n * but should not yet be shown.\n */\n protected makeElementVisible(element: HTMLElement): void {\n element.style.opacity = '';\n }\n\n private _listenForHoverAndFocusEvents(): void {\n this.services.editEventDispatcher.hoverOrFocusOnRow(this._row!)\n .pipe(takeUntil(this.destroyed))\n .subscribe(eventState => {\n // When in FOCUSABLE state, add the hover content to the dom but make it transparent so\n // that it is in the tab order relative to the currently focused row.\n\n if (eventState === HoverContentState.ON || eventState === HoverContentState.FOCUSABLE) {\n if (!this.viewRef) {\n this.viewRef = this.viewContainerRef.createEmbeddedView(this.templateRef, {});\n this.initElement(this.viewRef.rootNodes[0] as HTMLElement);\n this.viewRef.markForCheck();\n } else if (this.viewContainerRef.indexOf(this.viewRef) === -1) {\n this.viewContainerRef.insert(this.viewRef!);\n this.viewRef.markForCheck();\n }\n\n if (eventState === HoverContentState.ON) {\n this.makeElementVisible(this.viewRef.rootNodes[0] as HTMLElement);\n } else {\n this.makeElementHiddenButFocusable(this.viewRef.rootNodes[0] as HTMLElement);\n }\n } else if (this.viewRef) {\n this.viewContainerRef.detach(this.viewContainerRef.indexOf(this.viewRef));\n }\n });\n }\n}\n\n/**\n * Opens the closest edit popover to this element, whether it's associated with this exact\n * element or an ancestor element.\n */\n@Directive({\n selector: '[cdkEditOpen]',\n})\nexport class CdkEditOpen {\n constructor(\n protected readonly elementRef: ElementRef<HTMLElement>,\n protected readonly editEventDispatcher: EditEventDispatcher<EditRef<unknown>>) {\n\n const nativeElement = elementRef.nativeElement;\n\n // Prevent accidental form submits.\n if (nativeElement.nodeName === 'BUTTON' && !nativeElement.getAttribute('type')) {\n nativeElement.setAttribute('type', 'button');\n }\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click', ['$event'])\n openEdit(evt: Event): void {\n this.editEventDispatcher.editing.next(closest(this.elementRef.nativeElement!, CELL_SELECTOR));\n evt.stopPropagation();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {\n CdkPopoverEdit,\n CdkPopoverEditTabOut,\n CdkRowHoverContent,\n CdkEditable,\n CdkEditOpen\n} from './table-directives';\nimport {CdkEditControl,\n CdkEditRevert,\n CdkEditClose\n} from './lens-directives';\nimport {\n DefaultPopoverEditPositionStrategyFactory,\n PopoverEditPositionStrategyFactory\n} from './popover-edit-position-strategy-factory';\n\nconst EXPORTED_DECLARATIONS = [\n CdkPopoverEdit,\n CdkPopoverEditTabOut,\n CdkRowHoverContent,\n CdkEditControl,\n CdkEditRevert,\n CdkEditClose,\n CdkEditable,\n CdkEditOpen,\n];\n\n@NgModule({\n imports: [\n OverlayModule,\n ],\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n providers: [{\n provide: PopoverEditPositionStrategyFactory,\n useClass: DefaultPopoverEditPositionStrategyFactory\n }],\n})\nexport class CdkPopoverEditModule { }\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './edit-event-dispatcher';\nexport * from './edit-ref';\nexport * from './focus-dispatcher';\nexport * from './form-value-container';\nexport * from './lens-directives';\nexport * from './popover-edit-module';\nexport * from './popover-edit-position-strategy-factory';\nexport * from './table-directives';\n\n// Private to Angular Components\nexport {CELL_SELECTOR as _CELL_SELECTOR} from './constants';\nexport {closest as _closest, matches as _matches} from './polyfill';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {EditServices as ɵangular_material_src_cdk_experimental_popover_edit_popover_edit_a} from './edit-services';\nexport {FocusEscapeNotifierFactory as ɵangular_material_src_cdk_experimental_popover_edit_popover_edit_b} from './focus-escape-notifier';"],"names":["Subject","distinctUntilChanged","startWith","pipe","shareReplay","filter","combineLatest","map","auditTime","audit","debounceTime","skip","Observable","Injectable","NgZone","take","ControlContainer","Self","UP_ARROW","DOWN_ARROW","LEFT_ARROW","RIGHT_ARROW","Directionality","EventEmitter","hasModifierKey","Directive","ElementRef","HostListener","Input","Overlay","FocusTrapFactory","ScrollDispatcher","ViewportRuler","FocusTrap","InteractivityChecker","Inject","DOCUMENT","fromEvent","takeUntil","mapTo","throttleTime","fromEventPattern","share","merge","withLatestFrom","TemplatePortal","ViewContainerRef","TemplateRef","NgModule","OverlayModule"],"mappings":"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"}
@@ -239,7 +239,7 @@
239
239
  ar[i] = from[i];
240
240
  }
241
241
  }
242
- return to.concat(ar || from);
242
+ return to.concat(ar || Array.prototype.slice.call(from));
243
243
  }
244
244
  function __await(v) {
245
245
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-experimental-selection.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/selection/selection-set.ts","../../../../../src/cdk-experimental/selection/selection.ts","../../../../../src/cdk-experimental/selection/select-all.ts","../../../../../src/cdk-experimental/selection/selection-toggle.ts","../../../../../src/cdk-experimental/selection/selection-column.ts","../../../../../src/cdk-experimental/selection/row-selection.ts","../../../../../src/cdk-experimental/selection/selection-module.ts","../../../../../src/cdk-experimental/selection/public-api.ts","../../../../../src/cdk-experimental/selection/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {TrackByFunction} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * Maintains a set of selected values. One or more values can be added to or removed from the\n * selection.\n */\ninterface TrackBySelection<T> {\n isSelected(value: SelectableWithIndex<T>): boolean;\n select(...values: SelectableWithIndex<T>[]): void;\n deselect(...values: SelectableWithIndex<T>[]): void;\n changed: Subject<SelectionChange<T>>;\n}\n\n/**\n * A selectable value with an optional index. The index is required when the selection is used with\n * `trackBy`.\n */\nexport interface SelectableWithIndex<T> {\n value: T;\n index?: number;\n}\n\n/**\n * Represents the change in the selection set.\n */\nexport interface SelectionChange<T> {\n before: SelectableWithIndex<T>[];\n after: SelectableWithIndex<T>[];\n}\n\n/**\n * Maintains a set of selected items. Support selecting and deselecting items, and checking if a\n * value is selected.\n * When constructed with a `trackByFn`, all the items will be identified by applying the `trackByFn`\n * on them. Because `trackByFn` requires the index of the item to be passed in, the `index` field is\n * expected to be set when calling `isSelected`, `select` and `deselect`.\n */\nexport class SelectionSet<T> implements TrackBySelection<T> {\n private _selectionMap = new Map<T|ReturnType<TrackByFunction<T>>, SelectableWithIndex<T>>();\n changed = new Subject<SelectionChange<T>>();\n\n constructor(private _multiple = false, private _trackByFn?: TrackByFunction<T>) {}\n\n isSelected(value: SelectableWithIndex<T>): boolean {\n return this._selectionMap.has(this._getTrackedByValue(value));\n }\n\n select(...selects: SelectableWithIndex<T>[]) {\n if (!this._multiple && selects.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('SelectionSet: not multiple selection');\n }\n\n const before = this._getCurrentSelection();\n\n if (!this._multiple) {\n this._selectionMap.clear();\n }\n\n const toSelect: SelectableWithIndex<T>[] = [];\n for (const select of selects) {\n if (this.isSelected(select)) {\n continue;\n }\n\n toSelect.push(select);\n this._markSelected(this._getTrackedByValue(select), select);\n }\n\n const after = this._getCurrentSelection();\n\n this.changed.next({before, after});\n }\n\n deselect(...selects: SelectableWithIndex<T>[]) {\n if (!this._multiple && selects.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('SelectionSet: not multiple selection');\n }\n\n const before = this._getCurrentSelection();\n const toDeselect: SelectableWithIndex<T>[] = [];\n\n for (const select of selects) {\n if (!this.isSelected(select)) {\n continue;\n }\n\n toDeselect.push(select);\n this._markDeselected(this._getTrackedByValue(select));\n }\n\n const after = this._getCurrentSelection();\n this.changed.next({before, after});\n }\n\n private _markSelected(key: T|ReturnType<TrackByFunction<T>>, toSelect: SelectableWithIndex<T>) {\n this._selectionMap.set(key, toSelect);\n }\n\n private _markDeselected(key: T|ReturnType<TrackByFunction<T>>) {\n this._selectionMap.delete(key);\n }\n\n private _getTrackedByValue(select: SelectableWithIndex<T>) {\n if (!this._trackByFn) {\n return select.value;\n }\n\n if (select.index == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('SelectionSet: index required when trackByFn is used.');\n }\n\n return this._trackByFn(select.index!, select.value);\n }\n\n private _getCurrentSelection(): SelectableWithIndex<T>[] {\n return Array.from(this._selectionMap.values());\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {CollectionViewer, DataSource, isDataSource, ListRange} from '@angular/cdk/collections';\nimport {\n AfterContentChecked,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TrackByFunction\n} from '@angular/core';\nimport {Observable, of as observableOf, Subject, Subscription} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {SelectableWithIndex, SelectionChange, SelectionSet} from './selection-set';\n\n/**\n * Manages the selection states of the items and provides methods to check and update the selection\n * states.\n * It must be applied to the parent element if `cdkSelectionToggle`, `cdkSelectAll`,\n * `cdkRowSelection` and `cdkSelectionColumn` are applied.\n */\n@Directive({\n selector: '[cdkSelection]',\n exportAs: 'cdkSelection',\n})\nexport class CdkSelection<T> implements OnInit, AfterContentChecked, CollectionViewer, OnDestroy {\n viewChange: Observable<ListRange>;\n\n @Input()\n get dataSource(): TableDataSource<T> {\n return this._dataSource;\n }\n set dataSource(dataSource: TableDataSource<T>) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n private _dataSource: TableDataSource<T>;\n\n @Input('trackBy') trackByFn: TrackByFunction<T>;\n\n /** Whether to support multiple selection */\n @Input('cdkSelectionMultiple')\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n protected _multiple: boolean;\n\n /** Emits when selection changes. */\n @Output('cdkSelectionChange') readonly change = new EventEmitter<SelectionChange<T>>();\n\n /** Latest data provided by the data source. */\n private _data: T[]|readonly T[];\n\n /** Subscription that listens for the data provided by the data source. */\n private _renderChangeSubscription: Subscription|null;\n\n private _destroyed = new Subject<void>();\n\n private _selection: SelectionSet<T>;\n\n private _switchDataSource(dataSource: TableDataSource<T>) {\n this._data = [];\n\n // TODO: Move this logic to a shared function in `cdk/collections`.\n if (isDataSource(this._dataSource)) {\n this._dataSource.disconnect(this);\n }\n\n if (this._renderChangeSubscription) {\n this._renderChangeSubscription.unsubscribe();\n this._renderChangeSubscription = null;\n }\n\n this._dataSource = dataSource;\n }\n\n private _observeRenderChanges() {\n if (!this._dataSource) {\n return;\n }\n\n let dataStream: Observable<readonly T[]>|undefined;\n\n if (isDataSource(this._dataSource)) {\n dataStream = this._dataSource.connect(this);\n } else if (this._dataSource instanceof Observable) {\n dataStream = this._dataSource;\n } else if (Array.isArray(this._dataSource)) {\n dataStream = observableOf(this._dataSource);\n }\n\n if (dataStream == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Unknown data source');\n }\n\n this._renderChangeSubscription =\n dataStream!.pipe(takeUntil(this._destroyed)).subscribe((data) => {\n this._data = data || [];\n });\n }\n\n ngOnInit() {\n this._selection = new SelectionSet<T>(this._multiple, this.trackByFn);\n this._selection.changed.pipe(takeUntil(this._destroyed)).subscribe((change) => {\n this._updateSelectAllState();\n this.change.emit(change);\n });\n }\n\n ngAfterContentChecked() {\n if (this._dataSource && !this._renderChangeSubscription) {\n this._observeRenderChanges();\n }\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n\n if (isDataSource(this._dataSource)) {\n this._dataSource.disconnect(this);\n }\n }\n\n /** Toggles selection for a given value. `index` is required if `trackBy` is used. */\n toggleSelection(value: T, index?: number) {\n if (!!this.trackByFn && index == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelection: index required when trackBy is used');\n }\n\n if (this.isSelected(value, index)) {\n this._selection.deselect({value, index});\n } else {\n this._selection.select({value, index});\n }\n }\n\n /**\n * Toggles select-all. If no value is selected, select all values. If all values or some of the\n * values are selected, de-select all values.\n */\n toggleSelectAll() {\n if (!this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelection: multiple selection not enabled');\n }\n\n if (this.selectAllState === 'none') {\n this._selectAll();\n } else {\n this._clearAll();\n }\n }\n\n /** Checks whether a value is selected. `index` is required if `trackBy` is used. */\n isSelected(value: T, index?: number) {\n if (!!this.trackByFn && index == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelection: index required when trackBy is used');\n }\n\n return this._selection.isSelected({value, index});\n }\n\n /** Checks whether all values are selected. */\n isAllSelected() {\n return this._data.every((value, index) => this._selection.isSelected({value, index}));\n }\n\n /** Checks whether partially selected. */\n isPartialSelected() {\n return !this.isAllSelected() &&\n this._data.some((value, index) => this._selection.isSelected({value, index}));\n }\n\n private _selectAll() {\n const toSelect: SelectableWithIndex<T>[] = [];\n this._data.forEach((value, index) => {\n toSelect.push({value, index});\n });\n\n this._selection.select(...toSelect);\n }\n\n private _clearAll() {\n const toDeselect: SelectableWithIndex<T>[] = [];\n this._data.forEach((value, index) => {\n toDeselect.push({value, index});\n });\n\n this._selection.deselect(...toDeselect);\n }\n\n private _updateSelectAllState() {\n if (this.isAllSelected()) {\n this.selectAllState = 'all';\n } else if (this.isPartialSelected()) {\n this.selectAllState = 'partial';\n } else {\n this.selectAllState = 'none';\n }\n }\n\n selectAllState: SelectAllState = 'none';\n\n static ngAcceptInputType_multiple: BooleanInput;\n}\n\ntype SelectAllState = 'all'|'none'|'partial';\ntype TableDataSource<T> = DataSource<T>|Observable<readonly T[]>|readonly T[];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Inject, OnDestroy, OnInit, Optional, Self} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Observable, of as observableOf, Subject} from 'rxjs';\nimport {switchMap, takeUntil} from 'rxjs/operators';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Makes the element a select-all toggle.\n *\n * Must be used within a parent `CdkSelection` directive. It toggles the selection states\n * of all the selection toggles connected with the `CdkSelection` directive.\n * If the element implements `ControlValueAccessor`, e.g. `MatCheckbox`, the directive\n * automatically connects it with the select-all state provided by the `CdkSelection` directive. If\n * not, use `checked$` to get the checked state, `indeterminate$` to get the indeterminate state,\n * and `toggle()` to change the selection state.\n */\n@Directive({\n selector: '[cdkSelectAll]',\n exportAs: 'cdkSelectAll',\n})\nexport class CdkSelectAll<T> implements OnDestroy, OnInit {\n /**\n * The checked state of the toggle.\n * Resolves to `true` if all the values are selected, `false` if no value is selected.\n */\n readonly checked: Observable<boolean> = this._selection.change.pipe(\n switchMap(() => observableOf(this._selection.isAllSelected())),\n );\n\n /**\n * The indeterminate state of the toggle.\n * Resolves to `true` if part (not all) of the values are selected, `false` if all values or no\n * value at all are selected.\n */\n readonly indeterminate: Observable<boolean> = this._selection.change.pipe(\n switchMap(() => observableOf(this._selection.isPartialSelected())),\n );\n\n /**\n * Toggles the select-all state.\n * @param event The click event if the toggle is triggered by a (mouse or keyboard) click. If\n * using with a native `<input type=\"checkbox\">`, the parameter is required for the\n * indeterminate state to work properly.\n */\n toggle(event?: MouseEvent) {\n // This is needed when applying the directive on a native <input type=\"checkbox\">\n // checkbox. The default behavior needs to be prevented in order to support the indeterminate\n // state. The timeout is also needed so the checkbox can show the latest state.\n if (event) {\n event.preventDefault();\n }\n\n setTimeout(() => {\n this._selection.toggleSelectAll();\n });\n }\n\n private readonly _destroyed = new Subject<void>();\n\n constructor(\n @Optional() @Inject(CdkSelection) private readonly _selection: CdkSelection<T>,\n @Optional() @Self() @Inject(NG_VALUE_ACCESSOR) private readonly _controlValueAccessor:\n ControlValueAccessor[]) {}\n\n ngOnInit() {\n this._assertValidParentSelection();\n this._configureControlValueAccessor();\n }\n\n private _configureControlValueAccessor() {\n if (this._controlValueAccessor && this._controlValueAccessor.length) {\n this._controlValueAccessor[0].registerOnChange((e: unknown) => {\n if (e === true || e === false) {\n this.toggle();\n }\n });\n this.checked.pipe(takeUntil(this._destroyed)).subscribe((state) => {\n this._controlValueAccessor[0].writeValue(state);\n });\n }\n }\n\n private _assertValidParentSelection() {\n if (!this._selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectAll: missing CdkSelection in the parent');\n }\n\n if (!this._selection.multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectAll: CdkSelection must have cdkSelectionMultiple set to true');\n }\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceNumberProperty, NumberInput} from '@angular/cdk/coercion';\nimport {\n Directive,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Self\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Observable, of as observableOf, Subject} from 'rxjs';\nimport {distinctUntilChanged, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Makes the element a selection toggle.\n *\n * Must be used within a parent `CdkSelection` directive.\n * Must be provided with the value. If `trackBy` is used on `CdkSelection`, the index of the value\n * is required. If the element implements `ControlValueAccessor`, e.g. `MatCheckbox`, the directive\n * automatically connects it with the selection state provided by the `CdkSelection` directive. If\n * not, use `checked$` to get the checked state of the value, and `toggle()` to change the selection\n * state.\n */\n@Directive({\n selector: '[cdkSelectionToggle]',\n exportAs: 'cdkSelectionToggle',\n})\nexport class CdkSelectionToggle<T> implements OnDestroy, OnInit {\n /** The value that is associated with the toggle */\n @Input('cdkSelectionToggleValue') value: T;\n\n /** The index of the value in the list. Required when used with `trackBy` */\n @Input('cdkSelectionToggleIndex')\n get index(): number|undefined { return this._index; }\n set index(index: number|undefined) { this._index = coerceNumberProperty(index); }\n protected _index?: number;\n\n /** The checked state of the selection toggle */\n readonly checked: Observable<boolean> = this._selection.change.pipe(\n switchMap(() => observableOf(this._isSelected())),\n distinctUntilChanged(),\n );\n\n /** Toggles the selection */\n toggle() {\n this._selection.toggleSelection(this.value, this.index);\n }\n\n private _destroyed = new Subject<void>();\n\n constructor(\n @Optional() @Inject(CdkSelection) private _selection: CdkSelection<T>,\n @Optional() @Self() @Inject(NG_VALUE_ACCESSOR) private _controlValueAccessors:\n ControlValueAccessor[],\n ) {}\n\n ngOnInit() {\n this._assertValidParentSelection();\n this._configureControlValueAccessor();\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n private _assertValidParentSelection() {\n if (!this._selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectAll: missing CdkSelection in the parent');\n }\n }\n\n private _configureControlValueAccessor() {\n if (this._controlValueAccessors && this._controlValueAccessors.length) {\n this._controlValueAccessors[0].registerOnChange((e: unknown) => {\n if (typeof e === 'boolean') {\n this.toggle();\n }\n });\n\n this.checked.pipe(takeUntil(this._destroyed)).subscribe((state) => {\n this._controlValueAccessors[0].writeValue(state);\n });\n }\n }\n\n private _isSelected(): boolean {\n return this._selection.isSelected(this.value, this.index);\n }\n\n static ngAcceptInputType_index: NumberInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkCellDef, CdkColumnDef, CdkHeaderCellDef, CdkTable} from '@angular/cdk/table';\nimport {\n Component,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Inject,\n} from '@angular/core';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Column that adds row selecting checkboxes and a select-all checkbox if `cdkSelectionMultiple` is\n * `true`.\n *\n * Must be used within a parent `CdkSelection` directive.\n */\n@Component({\n selector: 'cdk-selection-column',\n template: `\n <ng-container cdkColumnDef>\n <th cdkHeaderCell *cdkHeaderCellDef>\n <input type=\"checkbox\" *ngIf=\"selection.multiple\"\n cdkSelectAll\n #allToggler=\"cdkSelectAll\"\n [checked]=\"allToggler.checked | async\"\n [indeterminate]=\"allToggler.indeterminate | async\"\n (click)=\"allToggler.toggle($event)\">\n </th>\n <td cdkCell *cdkCellDef=\"let row; let i = $index\">\n <input type=\"checkbox\"\n #toggler=\"cdkSelectionToggle\"\n cdkSelectionToggle\n [cdkSelectionToggleValue]=\"row\"\n [cdkSelectionToggleIndex]=\"i\"\n (click)=\"toggler.toggle()\"\n [checked]=\"toggler.checked | async\">\n </td>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class CdkSelectionColumn<T> implements OnInit, OnDestroy {\n /** Column name that should be used to reference this column. */\n @Input('cdkSelectionColumnName')\n get name(): string {\n return this._name;\n }\n set name(name: string) {\n this._name = name;\n\n this._syncColumnDefName();\n }\n private _name: string;\n\n @ViewChild(CdkColumnDef, {static: true}) private readonly _columnDef: CdkColumnDef;\n @ViewChild(CdkCellDef, {static: true}) private readonly _cell: CdkCellDef;\n @ViewChild(CdkHeaderCellDef, {static: true}) private readonly _headerCell: CdkHeaderCellDef;\n\n constructor(\n @Optional() @Inject(CdkTable) private _table: CdkTable<T>,\n @Optional() @Inject(CdkSelection) readonly selection: CdkSelection<T>,\n ) {}\n\n ngOnInit() {\n if (!this.selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectionColumn: missing CdkSelection in the parent');\n }\n\n this._syncColumnDefName();\n\n if (this._table) {\n this._columnDef.cell = this._cell;\n this._columnDef.headerCell = this._headerCell;\n this._table.addColumnDef(this._columnDef);\n } else if ((typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectionColumn: missing parent table');\n }\n }\n\n ngOnDestroy() {\n if (this._table) {\n this._table.removeColumnDef(this._columnDef);\n }\n }\n\n private _syncColumnDefName() {\n if (this._columnDef) {\n this._columnDef.name = this._name;\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceNumberProperty, NumberInput} from '@angular/cdk/coercion';\nimport {Directive, Input} from '@angular/core';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Applies `cdk-selected` class and `aria-selected` to an element.\n *\n * Must be used within a parent `CdkSelection` directive.\n * Must be provided with the value. The index is required if `trackBy` is used on the `CdkSelection`\n * directive.\n */\n@Directive({\n selector: '[cdkRowSelection]',\n host: {\n '[class.cdk-selected]': '_selection.isSelected(this.value, this.index)',\n '[attr.aria-selected]': '_selection.isSelected(this.value, this.index)',\n },\n})\nexport class CdkRowSelection<T> {\n @Input('cdkRowSelectionValue') value: T;\n\n @Input('cdkRowSelectionIndex')\n get index(): number|undefined { return this._index; }\n set index(index: number|undefined) { this._index = coerceNumberProperty(index); }\n protected _index?: number;\n\n constructor(readonly _selection: CdkSelection<T>) {}\n\n static ngAcceptInputType_index: NumberInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTableModule} from '@angular/cdk/table';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {CdkRowSelection} from './row-selection';\nimport {CdkSelectAll} from './select-all';\nimport {CdkSelection} from './selection';\nimport {CdkSelectionColumn} from './selection-column';\nimport {CdkSelectionToggle} from './selection-toggle';\n\n@NgModule({\n imports: [\n CommonModule,\n CdkTableModule,\n ],\n exports: [\n CdkSelection,\n CdkSelectionToggle,\n CdkSelectAll,\n CdkSelectionColumn,\n CdkRowSelection,\n ],\n declarations: [\n CdkSelection,\n CdkSelectionToggle,\n CdkSelectAll,\n CdkSelectionColumn,\n CdkRowSelection,\n ],\n})\nexport class CdkSelectionModule {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './selection';\nexport * from './select-all';\nexport * from './selection-toggle';\nexport * from './selection-column';\nexport * from './row-selection';\nexport * from './selection-set';\nexport * from './selection-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Subject","EventEmitter","coerceBooleanProperty","isDataSource","Observable","observableOf","takeUntil","Directive","Input","Output","switchMap","Optional","Inject","Self","NG_VALUE_ACCESSOR","distinctUntilChanged","coerceNumberProperty","Component","ChangeDetectionStrategy","ViewEncapsulation","CdkTable","ViewChild","CdkColumnDef","CdkCellDef","CdkHeaderCellDef","NgModule","CommonModule","CdkTableModule"],"mappings":"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"}
1
+ {"version":3,"file":"cdk-experimental-selection.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/selection/selection-set.ts","../../../../../src/cdk-experimental/selection/selection.ts","../../../../../src/cdk-experimental/selection/select-all.ts","../../../../../src/cdk-experimental/selection/selection-toggle.ts","../../../../../src/cdk-experimental/selection/selection-column.ts","../../../../../src/cdk-experimental/selection/row-selection.ts","../../../../../src/cdk-experimental/selection/selection-module.ts","../../../../../src/cdk-experimental/selection/public-api.ts","../../../../../src/cdk-experimental/selection/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {TrackByFunction} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * Maintains a set of selected values. One or more values can be added to or removed from the\n * selection.\n */\ninterface TrackBySelection<T> {\n isSelected(value: SelectableWithIndex<T>): boolean;\n select(...values: SelectableWithIndex<T>[]): void;\n deselect(...values: SelectableWithIndex<T>[]): void;\n changed: Subject<SelectionChange<T>>;\n}\n\n/**\n * A selectable value with an optional index. The index is required when the selection is used with\n * `trackBy`.\n */\nexport interface SelectableWithIndex<T> {\n value: T;\n index?: number;\n}\n\n/**\n * Represents the change in the selection set.\n */\nexport interface SelectionChange<T> {\n before: SelectableWithIndex<T>[];\n after: SelectableWithIndex<T>[];\n}\n\n/**\n * Maintains a set of selected items. Support selecting and deselecting items, and checking if a\n * value is selected.\n * When constructed with a `trackByFn`, all the items will be identified by applying the `trackByFn`\n * on them. Because `trackByFn` requires the index of the item to be passed in, the `index` field is\n * expected to be set when calling `isSelected`, `select` and `deselect`.\n */\nexport class SelectionSet<T> implements TrackBySelection<T> {\n private _selectionMap = new Map<T|ReturnType<TrackByFunction<T>>, SelectableWithIndex<T>>();\n changed = new Subject<SelectionChange<T>>();\n\n constructor(private _multiple = false, private _trackByFn?: TrackByFunction<T>) {}\n\n isSelected(value: SelectableWithIndex<T>): boolean {\n return this._selectionMap.has(this._getTrackedByValue(value));\n }\n\n select(...selects: SelectableWithIndex<T>[]) {\n if (!this._multiple && selects.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('SelectionSet: not multiple selection');\n }\n\n const before = this._getCurrentSelection();\n\n if (!this._multiple) {\n this._selectionMap.clear();\n }\n\n const toSelect: SelectableWithIndex<T>[] = [];\n for (const select of selects) {\n if (this.isSelected(select)) {\n continue;\n }\n\n toSelect.push(select);\n this._markSelected(this._getTrackedByValue(select), select);\n }\n\n const after = this._getCurrentSelection();\n\n this.changed.next({before, after});\n }\n\n deselect(...selects: SelectableWithIndex<T>[]) {\n if (!this._multiple && selects.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('SelectionSet: not multiple selection');\n }\n\n const before = this._getCurrentSelection();\n const toDeselect: SelectableWithIndex<T>[] = [];\n\n for (const select of selects) {\n if (!this.isSelected(select)) {\n continue;\n }\n\n toDeselect.push(select);\n this._markDeselected(this._getTrackedByValue(select));\n }\n\n const after = this._getCurrentSelection();\n this.changed.next({before, after});\n }\n\n private _markSelected(key: T|ReturnType<TrackByFunction<T>>, toSelect: SelectableWithIndex<T>) {\n this._selectionMap.set(key, toSelect);\n }\n\n private _markDeselected(key: T|ReturnType<TrackByFunction<T>>) {\n this._selectionMap.delete(key);\n }\n\n private _getTrackedByValue(select: SelectableWithIndex<T>) {\n if (!this._trackByFn) {\n return select.value;\n }\n\n if (select.index == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('SelectionSet: index required when trackByFn is used.');\n }\n\n return this._trackByFn(select.index!, select.value);\n }\n\n private _getCurrentSelection(): SelectableWithIndex<T>[] {\n return Array.from(this._selectionMap.values());\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {CollectionViewer, DataSource, isDataSource, ListRange} from '@angular/cdk/collections';\nimport {\n AfterContentChecked,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TrackByFunction\n} from '@angular/core';\nimport {Observable, of as observableOf, Subject, Subscription} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {SelectableWithIndex, SelectionChange, SelectionSet} from './selection-set';\n\n/**\n * Manages the selection states of the items and provides methods to check and update the selection\n * states.\n * It must be applied to the parent element if `cdkSelectionToggle`, `cdkSelectAll`,\n * `cdkRowSelection` and `cdkSelectionColumn` are applied.\n */\n@Directive({\n selector: '[cdkSelection]',\n exportAs: 'cdkSelection',\n})\nexport class CdkSelection<T> implements OnInit, AfterContentChecked, CollectionViewer, OnDestroy {\n viewChange: Observable<ListRange>;\n\n @Input()\n get dataSource(): TableDataSource<T> {\n return this._dataSource;\n }\n set dataSource(dataSource: TableDataSource<T>) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n private _dataSource: TableDataSource<T>;\n\n @Input('trackBy') trackByFn: TrackByFunction<T>;\n\n /** Whether to support multiple selection */\n @Input('cdkSelectionMultiple')\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n protected _multiple: boolean;\n\n /** Emits when selection changes. */\n @Output('cdkSelectionChange') readonly change = new EventEmitter<SelectionChange<T>>();\n\n /** Latest data provided by the data source. */\n private _data: T[]|readonly T[];\n\n /** Subscription that listens for the data provided by the data source. */\n private _renderChangeSubscription: Subscription|null;\n\n private _destroyed = new Subject<void>();\n\n private _selection: SelectionSet<T>;\n\n private _switchDataSource(dataSource: TableDataSource<T>) {\n this._data = [];\n\n // TODO: Move this logic to a shared function in `cdk/collections`.\n if (isDataSource(this._dataSource)) {\n this._dataSource.disconnect(this);\n }\n\n if (this._renderChangeSubscription) {\n this._renderChangeSubscription.unsubscribe();\n this._renderChangeSubscription = null;\n }\n\n this._dataSource = dataSource;\n }\n\n private _observeRenderChanges() {\n if (!this._dataSource) {\n return;\n }\n\n let dataStream: Observable<readonly T[]>|undefined;\n\n if (isDataSource(this._dataSource)) {\n dataStream = this._dataSource.connect(this);\n } else if (this._dataSource instanceof Observable) {\n dataStream = this._dataSource;\n } else if (Array.isArray(this._dataSource)) {\n dataStream = observableOf(this._dataSource);\n }\n\n if (dataStream == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Unknown data source');\n }\n\n this._renderChangeSubscription =\n dataStream!.pipe(takeUntil(this._destroyed)).subscribe((data) => {\n this._data = data || [];\n });\n }\n\n ngOnInit() {\n this._selection = new SelectionSet<T>(this._multiple, this.trackByFn);\n this._selection.changed.pipe(takeUntil(this._destroyed)).subscribe((change) => {\n this._updateSelectAllState();\n this.change.emit(change);\n });\n }\n\n ngAfterContentChecked() {\n if (this._dataSource && !this._renderChangeSubscription) {\n this._observeRenderChanges();\n }\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n\n if (isDataSource(this._dataSource)) {\n this._dataSource.disconnect(this);\n }\n }\n\n /** Toggles selection for a given value. `index` is required if `trackBy` is used. */\n toggleSelection(value: T, index?: number) {\n if (!!this.trackByFn && index == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelection: index required when trackBy is used');\n }\n\n if (this.isSelected(value, index)) {\n this._selection.deselect({value, index});\n } else {\n this._selection.select({value, index});\n }\n }\n\n /**\n * Toggles select-all. If no value is selected, select all values. If all values or some of the\n * values are selected, de-select all values.\n */\n toggleSelectAll() {\n if (!this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelection: multiple selection not enabled');\n }\n\n if (this.selectAllState === 'none') {\n this._selectAll();\n } else {\n this._clearAll();\n }\n }\n\n /** Checks whether a value is selected. `index` is required if `trackBy` is used. */\n isSelected(value: T, index?: number) {\n if (!!this.trackByFn && index == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelection: index required when trackBy is used');\n }\n\n return this._selection.isSelected({value, index});\n }\n\n /** Checks whether all values are selected. */\n isAllSelected() {\n return this._data.every((value, index) => this._selection.isSelected({value, index}));\n }\n\n /** Checks whether partially selected. */\n isPartialSelected() {\n return !this.isAllSelected() &&\n this._data.some((value, index) => this._selection.isSelected({value, index}));\n }\n\n private _selectAll() {\n const toSelect: SelectableWithIndex<T>[] = [];\n this._data.forEach((value, index) => {\n toSelect.push({value, index});\n });\n\n this._selection.select(...toSelect);\n }\n\n private _clearAll() {\n const toDeselect: SelectableWithIndex<T>[] = [];\n this._data.forEach((value, index) => {\n toDeselect.push({value, index});\n });\n\n this._selection.deselect(...toDeselect);\n }\n\n private _updateSelectAllState() {\n if (this.isAllSelected()) {\n this.selectAllState = 'all';\n } else if (this.isPartialSelected()) {\n this.selectAllState = 'partial';\n } else {\n this.selectAllState = 'none';\n }\n }\n\n selectAllState: SelectAllState = 'none';\n\n static ngAcceptInputType_multiple: BooleanInput;\n}\n\ntype SelectAllState = 'all'|'none'|'partial';\ntype TableDataSource<T> = DataSource<T>|Observable<readonly T[]>|readonly T[];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Inject, OnDestroy, OnInit, Optional, Self} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Observable, of as observableOf, Subject} from 'rxjs';\nimport {switchMap, takeUntil} from 'rxjs/operators';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Makes the element a select-all toggle.\n *\n * Must be used within a parent `CdkSelection` directive. It toggles the selection states\n * of all the selection toggles connected with the `CdkSelection` directive.\n * If the element implements `ControlValueAccessor`, e.g. `MatCheckbox`, the directive\n * automatically connects it with the select-all state provided by the `CdkSelection` directive. If\n * not, use `checked$` to get the checked state, `indeterminate$` to get the indeterminate state,\n * and `toggle()` to change the selection state.\n */\n@Directive({\n selector: '[cdkSelectAll]',\n exportAs: 'cdkSelectAll',\n})\nexport class CdkSelectAll<T> implements OnDestroy, OnInit {\n /**\n * The checked state of the toggle.\n * Resolves to `true` if all the values are selected, `false` if no value is selected.\n */\n readonly checked: Observable<boolean> = this._selection.change.pipe(\n switchMap(() => observableOf(this._selection.isAllSelected())),\n );\n\n /**\n * The indeterminate state of the toggle.\n * Resolves to `true` if part (not all) of the values are selected, `false` if all values or no\n * value at all are selected.\n */\n readonly indeterminate: Observable<boolean> = this._selection.change.pipe(\n switchMap(() => observableOf(this._selection.isPartialSelected())),\n );\n\n /**\n * Toggles the select-all state.\n * @param event The click event if the toggle is triggered by a (mouse or keyboard) click. If\n * using with a native `<input type=\"checkbox\">`, the parameter is required for the\n * indeterminate state to work properly.\n */\n toggle(event?: MouseEvent) {\n // This is needed when applying the directive on a native <input type=\"checkbox\">\n // checkbox. The default behavior needs to be prevented in order to support the indeterminate\n // state. The timeout is also needed so the checkbox can show the latest state.\n if (event) {\n event.preventDefault();\n }\n\n setTimeout(() => {\n this._selection.toggleSelectAll();\n });\n }\n\n private readonly _destroyed = new Subject<void>();\n\n constructor(\n @Optional() @Inject(CdkSelection) private readonly _selection: CdkSelection<T>,\n @Optional() @Self() @Inject(NG_VALUE_ACCESSOR) private readonly _controlValueAccessor:\n ControlValueAccessor[]) {}\n\n ngOnInit() {\n this._assertValidParentSelection();\n this._configureControlValueAccessor();\n }\n\n private _configureControlValueAccessor() {\n if (this._controlValueAccessor && this._controlValueAccessor.length) {\n this._controlValueAccessor[0].registerOnChange((e: unknown) => {\n if (e === true || e === false) {\n this.toggle();\n }\n });\n this.checked.pipe(takeUntil(this._destroyed)).subscribe((state) => {\n this._controlValueAccessor[0].writeValue(state);\n });\n }\n }\n\n private _assertValidParentSelection() {\n if (!this._selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectAll: missing CdkSelection in the parent');\n }\n\n if (!this._selection.multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectAll: CdkSelection must have cdkSelectionMultiple set to true');\n }\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceNumberProperty, NumberInput} from '@angular/cdk/coercion';\nimport {\n Directive,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Self\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Observable, of as observableOf, Subject} from 'rxjs';\nimport {distinctUntilChanged, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Makes the element a selection toggle.\n *\n * Must be used within a parent `CdkSelection` directive.\n * Must be provided with the value. If `trackBy` is used on `CdkSelection`, the index of the value\n * is required. If the element implements `ControlValueAccessor`, e.g. `MatCheckbox`, the directive\n * automatically connects it with the selection state provided by the `CdkSelection` directive. If\n * not, use `checked$` to get the checked state of the value, and `toggle()` to change the selection\n * state.\n */\n@Directive({\n selector: '[cdkSelectionToggle]',\n exportAs: 'cdkSelectionToggle',\n})\nexport class CdkSelectionToggle<T> implements OnDestroy, OnInit {\n /** The value that is associated with the toggle */\n @Input('cdkSelectionToggleValue') value: T;\n\n /** The index of the value in the list. Required when used with `trackBy` */\n @Input('cdkSelectionToggleIndex')\n get index(): number|undefined { return this._index; }\n set index(index: number|undefined) { this._index = coerceNumberProperty(index); }\n protected _index?: number;\n\n /** The checked state of the selection toggle */\n readonly checked: Observable<boolean> = this._selection.change.pipe(\n switchMap(() => observableOf(this._isSelected())),\n distinctUntilChanged(),\n );\n\n /** Toggles the selection */\n toggle() {\n this._selection.toggleSelection(this.value, this.index);\n }\n\n private _destroyed = new Subject<void>();\n\n constructor(\n @Optional() @Inject(CdkSelection) private _selection: CdkSelection<T>,\n @Optional() @Self() @Inject(NG_VALUE_ACCESSOR) private _controlValueAccessors:\n ControlValueAccessor[],\n ) {}\n\n ngOnInit() {\n this._assertValidParentSelection();\n this._configureControlValueAccessor();\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n private _assertValidParentSelection() {\n if (!this._selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectAll: missing CdkSelection in the parent');\n }\n }\n\n private _configureControlValueAccessor() {\n if (this._controlValueAccessors && this._controlValueAccessors.length) {\n this._controlValueAccessors[0].registerOnChange((e: unknown) => {\n if (typeof e === 'boolean') {\n this.toggle();\n }\n });\n\n this.checked.pipe(takeUntil(this._destroyed)).subscribe((state) => {\n this._controlValueAccessors[0].writeValue(state);\n });\n }\n }\n\n private _isSelected(): boolean {\n return this._selection.isSelected(this.value, this.index);\n }\n\n static ngAcceptInputType_index: NumberInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkCellDef, CdkColumnDef, CdkHeaderCellDef, CdkTable} from '@angular/cdk/table';\nimport {\n Component,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Inject,\n} from '@angular/core';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Column that adds row selecting checkboxes and a select-all checkbox if `cdkSelectionMultiple` is\n * `true`.\n *\n * Must be used within a parent `CdkSelection` directive.\n */\n@Component({\n selector: 'cdk-selection-column',\n template: `\n <ng-container cdkColumnDef>\n <th cdkHeaderCell *cdkHeaderCellDef>\n <input type=\"checkbox\" *ngIf=\"selection.multiple\"\n cdkSelectAll\n #allToggler=\"cdkSelectAll\"\n [checked]=\"allToggler.checked | async\"\n [indeterminate]=\"allToggler.indeterminate | async\"\n (click)=\"allToggler.toggle($event)\">\n </th>\n <td cdkCell *cdkCellDef=\"let row; let i = $index\">\n <input type=\"checkbox\"\n #toggler=\"cdkSelectionToggle\"\n cdkSelectionToggle\n [cdkSelectionToggleValue]=\"row\"\n [cdkSelectionToggleIndex]=\"i\"\n (click)=\"toggler.toggle()\"\n [checked]=\"toggler.checked | async\">\n </td>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class CdkSelectionColumn<T> implements OnInit, OnDestroy {\n /** Column name that should be used to reference this column. */\n @Input('cdkSelectionColumnName')\n get name(): string {\n return this._name;\n }\n set name(name: string) {\n this._name = name;\n\n this._syncColumnDefName();\n }\n private _name: string;\n\n @ViewChild(CdkColumnDef, {static: true}) private readonly _columnDef: CdkColumnDef;\n @ViewChild(CdkCellDef, {static: true}) private readonly _cell: CdkCellDef;\n @ViewChild(CdkHeaderCellDef, {static: true}) private readonly _headerCell: CdkHeaderCellDef;\n\n constructor(\n @Optional() @Inject(CdkTable) private _table: CdkTable<T>,\n @Optional() @Inject(CdkSelection) readonly selection: CdkSelection<T>,\n ) {}\n\n ngOnInit() {\n if (!this.selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectionColumn: missing CdkSelection in the parent');\n }\n\n this._syncColumnDefName();\n\n if (this._table) {\n this._columnDef.cell = this._cell;\n this._columnDef.headerCell = this._headerCell;\n this._table.addColumnDef(this._columnDef);\n } else if ((typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectionColumn: missing parent table');\n }\n }\n\n ngOnDestroy() {\n if (this._table) {\n this._table.removeColumnDef(this._columnDef);\n }\n }\n\n private _syncColumnDefName() {\n if (this._columnDef) {\n this._columnDef.name = this._name;\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceNumberProperty, NumberInput} from '@angular/cdk/coercion';\nimport {Directive, Input} from '@angular/core';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Applies `cdk-selected` class and `aria-selected` to an element.\n *\n * Must be used within a parent `CdkSelection` directive.\n * Must be provided with the value. The index is required if `trackBy` is used on the `CdkSelection`\n * directive.\n */\n@Directive({\n selector: '[cdkRowSelection]',\n host: {\n '[class.cdk-selected]': '_selection.isSelected(this.value, this.index)',\n '[attr.aria-selected]': '_selection.isSelected(this.value, this.index)',\n },\n})\nexport class CdkRowSelection<T> {\n @Input('cdkRowSelectionValue') value: T;\n\n @Input('cdkRowSelectionIndex')\n get index(): number|undefined { return this._index; }\n set index(index: number|undefined) { this._index = coerceNumberProperty(index); }\n protected _index?: number;\n\n constructor(readonly _selection: CdkSelection<T>) {}\n\n static ngAcceptInputType_index: NumberInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTableModule} from '@angular/cdk/table';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {CdkRowSelection} from './row-selection';\nimport {CdkSelectAll} from './select-all';\nimport {CdkSelection} from './selection';\nimport {CdkSelectionColumn} from './selection-column';\nimport {CdkSelectionToggle} from './selection-toggle';\n\n@NgModule({\n imports: [\n CommonModule,\n CdkTableModule,\n ],\n exports: [\n CdkSelection,\n CdkSelectionToggle,\n CdkSelectAll,\n CdkSelectionColumn,\n CdkRowSelection,\n ],\n declarations: [\n CdkSelection,\n CdkSelectionToggle,\n CdkSelectAll,\n CdkSelectionColumn,\n CdkRowSelection,\n ],\n})\nexport class CdkSelectionModule {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './selection';\nexport * from './select-all';\nexport * from './selection-toggle';\nexport * from './selection-column';\nexport * from './row-selection';\nexport * from './selection-set';\nexport * from './selection-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Subject","EventEmitter","coerceBooleanProperty","isDataSource","Observable","observableOf","takeUntil","Directive","Input","Output","switchMap","Optional","Inject","Self","NG_VALUE_ACCESSOR","distinctUntilChanged","coerceNumberProperty","Component","ChangeDetectionStrategy","ViewEncapsulation","CdkTable","ViewChild","CdkColumnDef","CdkCellDef","CdkHeaderCellDef","NgModule","CommonModule","CdkTableModule"],"mappings":"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"}
@@ -239,7 +239,7 @@
239
239
  ar[i] = from[i];
240
240
  }
241
241
  }
242
- return to.concat(ar || from);
242
+ return to.concat(ar || Array.prototype.slice.call(from));
243
243
  }
244
244
  function __await(v) {
245
245
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-experimental-table-scroll-container.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/table-scroll-container/table-scroll-container.ts","../../../../../src/cdk-experimental/table-scroll-container/table-scroll-container-module.ts","../../../../../src/cdk-experimental/table-scroll-container/public-api.ts","../../../../../src/cdk-experimental/table-scroll-container/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, Inject, OnDestroy, OnInit, Optional} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {_getShadowRoot} from '@angular/cdk/platform';\nimport {\n STICKY_POSITIONING_LISTENER,\n StickyPositioningListener,\n StickySize,\n StickyUpdate,\n} from '@angular/cdk/table';\n\nlet nextId = 0;\n\n/**\n * Applies styles to the host element that make its scrollbars match up with\n * the non-sticky scrollable portions of the CdkTable contained within.\n *\n * This visual effect only works in Webkit and Blink based browsers (eg Chrome,\n * Safari, Edge). Other browsers such as Firefox will gracefully degrade to\n * normal scrollbar appearance.\n * Further note: These styles have no effect when the browser is using OS-default\n * scrollbars. The easiest way to force them into custom mode is to specify width\n * and height for the scrollbar and thumb.\n */\n@Directive({\n selector: '[cdkTableScrollContainer]',\n host: {\n 'class': 'cdk-table-scroll-container',\n },\n providers: [\n {provide: STICKY_POSITIONING_LISTENER, useExisting: CdkTableScrollContainer},\n ],\n})\nexport class CdkTableScrollContainer implements StickyPositioningListener,\n OnDestroy, OnInit {\n private readonly _uniqueClassName: string;\n private _styleRoot!: Node;\n private _styleElement?: HTMLStyleElement;\n\n /** The most recent sticky column size values from the CdkTable. */\n private _startSizes: StickySize[] = [];\n private _endSizes: StickySize[] = [];\n private _headerSizes: StickySize[] = [];\n private _footerSizes: StickySize[] = [];\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) private readonly _document: Document,\n @Optional() private readonly _directionality?: Directionality) {\n this._uniqueClassName = `cdk-table-scroll-container-${++nextId}`;\n _elementRef.nativeElement.classList.add(this._uniqueClassName);\n }\n\n ngOnInit() {\n // Note that we need to look up the root node in ngOnInit, rather than the constructor, because\n // Angular seems to create the element outside the shadow root and then moves it inside, if the\n // node is inside an `ngIf` and a ShadowDom-encapsulated component.\n this._styleRoot = _getShadowRoot(this._elementRef.nativeElement) ?? this._document.head;\n }\n\n ngOnDestroy(): void {\n // TODO: Use remove() once we're off IE11.\n if (this._styleElement?.parentNode) {\n this._styleElement.parentNode.removeChild(this._styleElement);\n this._styleElement = undefined;\n }\n }\n\n stickyColumnsUpdated({sizes}: StickyUpdate): void {\n this._startSizes = sizes;\n this._updateScrollbar();\n }\n\n stickyEndColumnsUpdated({sizes}: StickyUpdate): void {\n this._endSizes = sizes;\n this._updateScrollbar();\n }\n\n stickyHeaderRowsUpdated({sizes}: StickyUpdate): void {\n this._headerSizes = sizes;\n this._updateScrollbar();\n }\n\n stickyFooterRowsUpdated({sizes}: StickyUpdate): void {\n this._footerSizes = sizes;\n this._updateScrollbar();\n }\n\n /**\n * Set padding on the scrollbar track based on the sticky states from CdkTable.\n */\n private _updateScrollbar(): void {\n const topMargin = computeMargin(this._headerSizes);\n const bottomMargin = computeMargin(this._footerSizes);\n const startMargin = computeMargin(this._startSizes);\n const endMargin = computeMargin(this._endSizes);\n\n if (topMargin === 0 && bottomMargin === 0 && startMargin === 0 && endMargin === 0) {\n this._clearCss();\n return;\n }\n\n const direction = this._directionality ? this._directionality.value : 'ltr';\n const leftMargin = direction === 'rtl' ? endMargin : startMargin;\n const rightMargin = direction === 'rtl' ? startMargin : endMargin;\n\n this._applyCss(`${topMargin}px ${rightMargin}px ${bottomMargin}px ${leftMargin}px`);\n }\n\n /** Gets the stylesheet for the scrollbar styles and creates it if need be. */\n private _getStyleSheet(): CSSStyleSheet {\n if (!this._styleElement) {\n this._styleElement = this._document.createElement('style');\n this._styleRoot.appendChild(this._styleElement);\n }\n\n return this._styleElement.sheet as CSSStyleSheet;\n }\n\n /** Updates the stylesheet with the specified scrollbar style. */\n private _applyCss(value: string) {\n this._clearCss();\n\n const selector = `.${this._uniqueClassName}::-webkit-scrollbar-track`;\n this._getStyleSheet().insertRule(`${selector} {margin: ${value}}`, 0);\n }\n\n private _clearCss() {\n const styleSheet = this._getStyleSheet();\n if (styleSheet.cssRules.length > 0) {\n styleSheet.deleteRule(0);\n }\n }\n}\n\nfunction computeMargin(sizes: (number|null|undefined)[]): number {\n let margin = 0;\n for (const size of sizes) {\n if (size == null) {\n break;\n }\n margin += size;\n }\n return margin;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkTableScrollContainer} from './table-scroll-container';\n\n@NgModule({\n declarations: [CdkTableScrollContainer],\n exports: [CdkTableScrollContainer],\n})\nexport class CdkTableScrollContainerModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './table-scroll-container';\nexport * from './table-scroll-container-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_getShadowRoot","Directive","STICKY_POSITIONING_LISTENER","ElementRef","Inject","DOCUMENT","Directionality","Optional","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"cdk-experimental-table-scroll-container.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/cdk-experimental/table-scroll-container/table-scroll-container.ts","../../../../../src/cdk-experimental/table-scroll-container/table-scroll-container-module.ts","../../../../../src/cdk-experimental/table-scroll-container/public-api.ts","../../../../../src/cdk-experimental/table-scroll-container/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, Inject, OnDestroy, OnInit, Optional} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {_getShadowRoot} from '@angular/cdk/platform';\nimport {\n STICKY_POSITIONING_LISTENER,\n StickyPositioningListener,\n StickySize,\n StickyUpdate,\n} from '@angular/cdk/table';\n\nlet nextId = 0;\n\n/**\n * Applies styles to the host element that make its scrollbars match up with\n * the non-sticky scrollable portions of the CdkTable contained within.\n *\n * This visual effect only works in Webkit and Blink based browsers (eg Chrome,\n * Safari, Edge). Other browsers such as Firefox will gracefully degrade to\n * normal scrollbar appearance.\n * Further note: These styles have no effect when the browser is using OS-default\n * scrollbars. The easiest way to force them into custom mode is to specify width\n * and height for the scrollbar and thumb.\n */\n@Directive({\n selector: '[cdkTableScrollContainer]',\n host: {\n 'class': 'cdk-table-scroll-container',\n },\n providers: [\n {provide: STICKY_POSITIONING_LISTENER, useExisting: CdkTableScrollContainer},\n ],\n})\nexport class CdkTableScrollContainer implements StickyPositioningListener,\n OnDestroy, OnInit {\n private readonly _uniqueClassName: string;\n private _styleRoot!: Node;\n private _styleElement?: HTMLStyleElement;\n\n /** The most recent sticky column size values from the CdkTable. */\n private _startSizes: StickySize[] = [];\n private _endSizes: StickySize[] = [];\n private _headerSizes: StickySize[] = [];\n private _footerSizes: StickySize[] = [];\n\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) private readonly _document: Document,\n @Optional() private readonly _directionality?: Directionality) {\n this._uniqueClassName = `cdk-table-scroll-container-${++nextId}`;\n _elementRef.nativeElement.classList.add(this._uniqueClassName);\n }\n\n ngOnInit() {\n // Note that we need to look up the root node in ngOnInit, rather than the constructor, because\n // Angular seems to create the element outside the shadow root and then moves it inside, if the\n // node is inside an `ngIf` and a ShadowDom-encapsulated component.\n this._styleRoot = _getShadowRoot(this._elementRef.nativeElement) ?? this._document.head;\n }\n\n ngOnDestroy(): void {\n // TODO: Use remove() once we're off IE11.\n if (this._styleElement?.parentNode) {\n this._styleElement.parentNode.removeChild(this._styleElement);\n this._styleElement = undefined;\n }\n }\n\n stickyColumnsUpdated({sizes}: StickyUpdate): void {\n this._startSizes = sizes;\n this._updateScrollbar();\n }\n\n stickyEndColumnsUpdated({sizes}: StickyUpdate): void {\n this._endSizes = sizes;\n this._updateScrollbar();\n }\n\n stickyHeaderRowsUpdated({sizes}: StickyUpdate): void {\n this._headerSizes = sizes;\n this._updateScrollbar();\n }\n\n stickyFooterRowsUpdated({sizes}: StickyUpdate): void {\n this._footerSizes = sizes;\n this._updateScrollbar();\n }\n\n /**\n * Set padding on the scrollbar track based on the sticky states from CdkTable.\n */\n private _updateScrollbar(): void {\n const topMargin = computeMargin(this._headerSizes);\n const bottomMargin = computeMargin(this._footerSizes);\n const startMargin = computeMargin(this._startSizes);\n const endMargin = computeMargin(this._endSizes);\n\n if (topMargin === 0 && bottomMargin === 0 && startMargin === 0 && endMargin === 0) {\n this._clearCss();\n return;\n }\n\n const direction = this._directionality ? this._directionality.value : 'ltr';\n const leftMargin = direction === 'rtl' ? endMargin : startMargin;\n const rightMargin = direction === 'rtl' ? startMargin : endMargin;\n\n this._applyCss(`${topMargin}px ${rightMargin}px ${bottomMargin}px ${leftMargin}px`);\n }\n\n /** Gets the stylesheet for the scrollbar styles and creates it if need be. */\n private _getStyleSheet(): CSSStyleSheet {\n if (!this._styleElement) {\n this._styleElement = this._document.createElement('style');\n this._styleRoot.appendChild(this._styleElement);\n }\n\n return this._styleElement.sheet as CSSStyleSheet;\n }\n\n /** Updates the stylesheet with the specified scrollbar style. */\n private _applyCss(value: string) {\n this._clearCss();\n\n const selector = `.${this._uniqueClassName}::-webkit-scrollbar-track`;\n this._getStyleSheet().insertRule(`${selector} {margin: ${value}}`, 0);\n }\n\n private _clearCss() {\n const styleSheet = this._getStyleSheet();\n if (styleSheet.cssRules.length > 0) {\n styleSheet.deleteRule(0);\n }\n }\n}\n\nfunction computeMargin(sizes: (number|null|undefined)[]): number {\n let margin = 0;\n for (const size of sizes) {\n if (size == null) {\n break;\n }\n margin += size;\n }\n return margin;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\nimport {CdkTableScrollContainer} from './table-scroll-container';\n\n@NgModule({\n declarations: [CdkTableScrollContainer],\n exports: [CdkTableScrollContainer],\n})\nexport class CdkTableScrollContainerModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './table-scroll-container';\nexport * from './table-scroll-container-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_getShadowRoot","Directive","STICKY_POSITIONING_LISTENER","ElementRef","Inject","DOCUMENT","Directionality","Optional","NgModule"],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  * found in the LICENSE file at https://angular.io/license
13
13
  */
14
14
  /** Current version of the CDK Experimental package. */
15
- var VERSION = new core.Version('13.0.0-next.1');
15
+ var VERSION = new core.Version('13.0.0-next.5');
16
16
 
17
17
  /**
18
18
  * @license
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-experimental.umd.js","sources":["../../../../../src/cdk-experimental/version.ts","../../../../../src/cdk-experimental/public-api.ts","../../../../../src/cdk-experimental/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the CDK Experimental package. */\nexport const VERSION = new Version('13.0.0-next.1');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './version';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":["Version"],"mappings":";;;;;;CAAA;;;;;;;CAUA;KACa,OAAO,GAAG,IAAIA,YAAO,CAAC,mBAAmB;;CCXtD;;;;;;;;CCAA;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"cdk-experimental.umd.js","sources":["../../../../../src/cdk-experimental/version.ts","../../../../../src/cdk-experimental/public-api.ts","../../../../../src/cdk-experimental/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the CDK Experimental package. */\nexport const VERSION = new Version('13.0.0-next.5');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './version';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":["Version"],"mappings":";;;;;;CAAA;;;;;;;CAUA;KACa,OAAO,GAAG,IAAIA,YAAO,CAAC,mBAAmB;;CCXtD;;;;;;;;CCAA;;;;;;;;;;;;;;;;"}
@@ -7,5 +7,5 @@
7
7
  */
8
8
  import { Version } from '@angular/core';
9
9
  /** Current version of the CDK Experimental package. */
10
- export const VERSION = new Version('13.0.0-next.1');
10
+ export const VERSION = new Version('13.0.0-next.5');
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jZGstZXhwZXJpbWVudGFsL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0Qyx1REFBdUQ7QUFDdkQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtWZXJzaW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqIEN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgQ0RLIEV4cGVyaW1lbnRhbCBwYWNrYWdlLiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBuZXcgVmVyc2lvbignMC4wLjAtUExBQ0VIT0xERVInKTtcbiJdfQ==
@@ -8,7 +8,7 @@ import { Version } from '@angular/core';
8
8
  * found in the LICENSE file at https://angular.io/license
9
9
  */
10
10
  /** Current version of the CDK Experimental package. */
11
- const VERSION = new Version('13.0.0-next.1');
11
+ const VERSION = new Version('13.0.0-next.5');
12
12
 
13
13
  /**
14
14
  * @license
@@ -1 +1 @@
1
- {"version":3,"file":"cdk-experimental.js","sources":["../../../../../../src/cdk-experimental/version.ts","../../../../../../src/cdk-experimental/public-api.ts","../../../../../../src/cdk-experimental/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the CDK Experimental package. */\nexport const VERSION = new Version('13.0.0-next.1');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './version';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAAA;;;;;;;AAUA;MACa,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB;;ACXtD;;;;;;;;ACAA;;;;;;;;;;"}
1
+ {"version":3,"file":"cdk-experimental.js","sources":["../../../../../../src/cdk-experimental/version.ts","../../../../../../src/cdk-experimental/public-api.ts","../../../../../../src/cdk-experimental/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the CDK Experimental package. */\nexport const VERSION = new Version('13.0.0-next.5');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './version';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAAA;;;;;;;AAUA;MACa,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB;;ACXtD;;;;;;;;ACAA;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/cdk-experimental",
3
- "version": "13.0.0-next.1",
3
+ "version": "13.0.0-next.5",
4
4
  "description": "Experimental components for Angular CDK",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "homepage": "https://github.com/angular/components#readme",
14
14
  "peerDependencies": {
15
- "@angular/cdk": "13.0.0-next.1",
15
+ "@angular/cdk": "13.0.0-next.5",
16
16
  "@angular/core": "^13.0.0-0 || ^14.0.0-0"
17
17
  },
18
18
  "dependencies": {