blob: 8a11caa5f47511a8edb3d409f51ff2aad9ec6229 [file] [log] [blame]
{"version":3,"sources":["src/material/material-tree.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","material","tree","cdk","core","coercion","collections","rxjs","operators","this","core$1","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","constructor","create","__read","o","n","m","Symbol","iterator","r","e","i","ar","next","done","push","value","error","__spread","arguments","length","concat","MatTreeNode","_super","_elementRef","_tree","tabIndex","_this","Number","nativeElement","classList","add","ngOnInit","ngDoCheck","ngOnDestroy","mixinTabIndex","mixinDisabled","CdkTreeNode","decorators","type","Directive","args","selector","exportAs","inputs","providers","provide","useExisting","ctorParameters","ElementRef","CdkTree","Attribute","MatTreeNodeDef","apply","CdkTreeNodeDef","propDecorators","data","Input","MatNestedTreeNode","_differs","_disabled","defineProperty","get","set","coerceBooleanProperty","enumerable","configurable","disabled","_tabIndex","ngAfterContentInit","CdkNestedTreeNode","CDK_TREE_NODE_OUTLET_NODE","IterableDiffers","node","MatTreeNodeOutlet","MatTreeNodePadding","_level","_setLevelInput","_indent","indent","_setIndentInput","CdkTreeNodePadding","level","viewContainer","_node","CdkTreeNodeOutlet","ViewContainerRef","undefined","Inject","Optional","MatTree","Component","template","host","class","role","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","Default","styles","_nodeOutlet","ViewChild","static","MatTreeNodeToggle","_recursive","CdkTreeNodeToggle","recursive","MatTreeModule","MAT_TREE_DIRECTIVES","NgModule","imports","CdkTreeModule","MatCommonModule","declarations","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","_flattenNode","resultNodes","parentMap","flatNode","childrenNodes","isArray","_flattenChildren","pipe","take","subscribe","children","forEach","child","index","childParentMap","slice","flattenNodes","structuredData","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","isExpanded","MatTreeFlatDataSource","_treeControl","_treeFlattener","initialData","_flattenedData","BehaviorSubject","_expandedData","_data","dataNodes","connect","collectionViewer","merge","viewChange","expansionModel","changed","map","disconnect","DataSource","MatTreeNestedDataSource"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/tree'), require('@angular/core'), require('@angular/material/core'), require('@angular/cdk/coercion'), require('@angular/cdk/collections'), require('rxjs'), require('rxjs/operators')) :\n typeof define === 'function' && define.amd ? define('@angular/material/tree', ['exports', '@angular/cdk/tree', '@angular/core', '@angular/material/core', '@angular/cdk/coercion', '@angular/cdk/collections', 'rxjs', 'rxjs/operators'], factory) :\n (global = global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.tree = {}), global.ng.cdk.tree, global.ng.core, global.ng.material.core, global.ng.cdk.coercion, global.ng.cdk.collections, global.rxjs, global.rxjs.operators));\n}(this, (function (exports, tree, core, core$1, coercion, collections, rxjs, operators) { 'use strict';\n\n /*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** */\n /* global Reflect, Promise */\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b)\n if (Object.prototype.hasOwnProperty.call(b, p))\n d[p] = b[p]; };\n return extendStatics(d, b);\n };\n function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n }\n var __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n function __rest(s, e) {\n var t = {};\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n }\n function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\")\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--)\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n }\n function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); };\n }\n function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\")\n return Reflect.metadata(metadataKey, metadataValue);\n }\n function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try {\n step(generator.next(value));\n }\n catch (e) {\n reject(e);\n } }\n function rejected(value) { try {\n step(generator[\"throw\"](value));\n }\n catch (e) {\n reject(e);\n } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n }\n function __generator(thisArg, body) {\n var _ = { label: 0, sent: function () { if (t[0] & 1)\n throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f)\n throw new TypeError(\"Generator is already executing.\");\n while (_)\n try {\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)\n return t;\n if (y = 0, t)\n op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return { value: op[1], done: false };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2])\n _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n }\n catch (e) {\n op = [6, e];\n y = 0;\n }\n finally {\n f = t = 0;\n }\n if (op[0] & 5)\n throw op[1];\n return { value: op[0] ? op[1] : void 0, done: true };\n }\n }\n var __createBinding = Object.create ? (function (o, m, k, k2) {\n if (k2 === undefined)\n k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });\n }) : (function (o, m, k, k2) {\n if (k2 === undefined)\n k2 = k;\n o[k2] = m[k];\n });\n function __exportStar(m, o) {\n for (var p in m)\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p))\n __createBinding(o, m, p);\n }\n function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m)\n return m.call(o);\n if (o && typeof o.length === \"number\")\n return {\n next: function () {\n if (o && i >= o.length)\n o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n }\n function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m)\n return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done)\n ar.push(r.value);\n }\n catch (error) {\n e = { error: error };\n }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"]))\n m.call(i);\n }\n finally {\n if (e)\n throw e.error;\n }\n }\n return ar;\n }\n /** @deprecated */\n function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n }\n /** @deprecated */\n function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++)\n s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n }\n function __spreadArray(to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n }\n function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n }\n function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator)\n throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n])\n i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try {\n step(g[n](v));\n }\n catch (e) {\n settle(q[0][3], e);\n } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length)\n resume(q[0][0], q[0][1]); }\n }\n function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\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; }\n }\n function __asyncValues(o) {\n if (!Symbol.asyncIterator)\n throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }\n }\n function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", { value: raw });\n }\n else {\n cooked.raw = raw;\n }\n return cooked;\n }\n ;\n var __setModuleDefault = Object.create ? (function (o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n }) : function (o, v) {\n o[\"default\"] = v;\n };\n function __importStar(mod) {\n if (mod && mod.__esModule)\n return mod;\n var result = {};\n if (mod != null)\n for (var k in mod)\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k))\n __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n }\n function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n }\n function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n }\n function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n }\n\n var _MatTreeNodeMixinBase = core$1.mixinTabIndex(core$1.mixinDisabled(tree.CdkTreeNode));\n /**\n * Wrapper for the CdkTree node with Material design styles.\n */\n var MatTreeNode = /** @class */ (function (_super) {\n __extends(MatTreeNode, _super);\n function MatTreeNode(_elementRef, _tree, tabIndex) {\n var _this = _super.call(this, _elementRef, _tree) || this;\n _this._elementRef = _elementRef;\n _this._tree = _tree;\n _this.tabIndex = Number(tabIndex) || 0;\n // The classes are directly added here instead of in the host property because classes on\n // the host property are not inherited with View Engine. It is not set as a @HostBinding because\n // it is not set by the time it's children nodes try to read the class from it.\n // TODO: move to host after View Engine deprecation\n _this._elementRef.nativeElement.classList.add('mat-tree-node');\n return _this;\n }\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n MatTreeNode.prototype.ngOnInit = function () {\n _super.prototype.ngOnInit.call(this);\n };\n MatTreeNode.prototype.ngDoCheck = function () {\n _super.prototype.ngDoCheck.call(this);\n };\n MatTreeNode.prototype.ngOnDestroy = function () {\n _super.prototype.ngOnDestroy.call(this);\n };\n return MatTreeNode;\n }(_MatTreeNodeMixinBase));\n MatTreeNode.decorators = [\n { type: core.Directive, args: [{\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [{ provide: tree.CdkTreeNode, useExisting: MatTreeNode }]\n },] }\n ];\n MatTreeNode.ctorParameters = function () { return [\n { type: core.ElementRef },\n { type: tree.CdkTree },\n { type: String, decorators: [{ type: core.Attribute, args: ['tabindex',] }] }\n ]; };\n /**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n var MatTreeNodeDef = /** @class */ (function (_super) {\n __extends(MatTreeNodeDef, _super);\n function MatTreeNodeDef() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MatTreeNodeDef;\n }(tree.CdkTreeNodeDef));\n MatTreeNodeDef.decorators = [\n { type: core.Directive, args: [{\n selector: '[matTreeNodeDef]',\n inputs: [\n 'when: matTreeNodeDefWhen'\n ],\n providers: [{ provide: tree.CdkTreeNodeDef, useExisting: MatTreeNodeDef }]\n },] }\n ];\n MatTreeNodeDef.propDecorators = {\n data: [{ type: core.Input, args: ['matTreeNode',] }]\n };\n /**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n var MatNestedTreeNode = /** @class */ (function (_super) {\n __extends(MatNestedTreeNode, _super);\n function MatNestedTreeNode(_elementRef, _tree, _differs, tabIndex) {\n var _this = _super.call(this, _elementRef, _tree, _differs) || this;\n _this._elementRef = _elementRef;\n _this._tree = _tree;\n _this._differs = _differs;\n _this._disabled = false;\n _this.tabIndex = Number(tabIndex) || 0;\n // The classes are directly added here instead of in the host property because classes on\n // the host property are not inherited with View Engine. It is not set as a @HostBinding because\n // it is not set by the time it's children nodes try to read the class from it.\n // TODO: move to host after View Engine deprecation\n _this._elementRef.nativeElement.classList.add('mat-nested-tree-node');\n return _this;\n }\n Object.defineProperty(MatNestedTreeNode.prototype, \"disabled\", {\n /** Whether the node is disabled. */\n get: function () { return this._disabled; },\n set: function (value) { this._disabled = coercion.coerceBooleanProperty(value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatNestedTreeNode.prototype, \"tabIndex\", {\n /** Tabindex for the node. */\n get: function () { return this.disabled ? -1 : this._tabIndex; },\n set: function (value) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? value : 0;\n },\n enumerable: false,\n configurable: true\n });\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n MatNestedTreeNode.prototype.ngOnInit = function () {\n _super.prototype.ngOnInit.call(this);\n };\n MatNestedTreeNode.prototype.ngDoCheck = function () {\n _super.prototype.ngDoCheck.call(this);\n };\n MatNestedTreeNode.prototype.ngAfterContentInit = function () {\n _super.prototype.ngAfterContentInit.call(this);\n };\n MatNestedTreeNode.prototype.ngOnDestroy = function () {\n _super.prototype.ngOnDestroy.call(this);\n };\n return MatNestedTreeNode;\n }(tree.CdkNestedTreeNode));\n MatNestedTreeNode.decorators = [\n { type: core.Directive, args: [{\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [\n { provide: tree.CdkNestedTreeNode, useExisting: MatNestedTreeNode },\n { provide: tree.CdkTreeNode, useExisting: MatNestedTreeNode },\n { provide: tree.CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode }\n ]\n },] }\n ];\n MatNestedTreeNode.ctorParameters = function () { return [\n { type: core.ElementRef },\n { type: tree.CdkTree },\n { type: core.IterableDiffers },\n { type: String, decorators: [{ type: core.Attribute, args: ['tabindex',] }] }\n ]; };\n MatNestedTreeNode.propDecorators = {\n node: [{ type: core.Input, args: ['matNestedTreeNode',] }],\n disabled: [{ type: core.Input }],\n tabIndex: [{ type: core.Input }]\n };\n\n /**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n var MatTreeNodePadding = /** @class */ (function (_super) {\n __extends(MatTreeNodePadding, _super);\n function MatTreeNodePadding() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MatTreeNodePadding.prototype, \"level\", {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n get: function () { return this._level; },\n set: function (value) { this._setLevelInput(value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTreeNodePadding.prototype, \"indent\", {\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n get: function () { return this._indent; },\n set: function (indent) { this._setIndentInput(indent); },\n enumerable: false,\n configurable: true\n });\n return MatTreeNodePadding;\n }(tree.CdkTreeNodePadding));\n MatTreeNodePadding.decorators = [\n { type: core.Directive, args: [{\n selector: '[matTreeNodePadding]',\n providers: [{ provide: tree.CdkTreeNodePadding, useExisting: MatTreeNodePadding }]\n },] }\n ];\n MatTreeNodePadding.propDecorators = {\n level: [{ type: core.Input, args: ['matTreeNodePadding',] }],\n indent: [{ type: core.Input, args: ['matTreeNodePaddingIndent',] }]\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 * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n var MatTreeNodeOutlet = /** @class */ (function () {\n function MatTreeNodeOutlet(viewContainer, _node) {\n this.viewContainer = viewContainer;\n this._node = _node;\n }\n return MatTreeNodeOutlet;\n }());\n MatTreeNodeOutlet.decorators = [\n { type: core.Directive, args: [{\n selector: '[matTreeNodeOutlet]',\n providers: [{\n provide: tree.CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet\n }]\n },] }\n ];\n MatTreeNodeOutlet.ctorParameters = function () { return [\n { type: core.ViewContainerRef },\n { type: undefined, decorators: [{ type: core.Inject, args: [tree.CDK_TREE_NODE_OUTLET_NODE,] }, { type: core.Optional }] }\n ]; };\n\n /**\n * Wrapper for the CdkTable with Material design styles.\n */\n var MatTree = /** @class */ (function (_super) {\n __extends(MatTree, _super);\n function MatTree() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MatTree;\n }(tree.CdkTree));\n MatTree.decorators = [\n { type: core.Component, args: [{\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: \"<ng-container matTreeNodeOutlet></ng-container>\",\n host: {\n // The 'cdk-tree' class needs to be included here because classes set in the host in the\n // parent class are not inherited with View Engine. The 'cdk-tree' class in CdkTreeNode has\n // to be set in the host because:\n // if it is set as a @HostBinding it is not set by the time the tree nodes try to read the\n // class from it.\n // the ElementRef is not available in the constructor so the class can't be applied directly\n // without a breaking constructor change.\n 'class': 'mat-tree cdk-tree',\n 'role': 'tree',\n },\n encapsulation: core.ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: core.ChangeDetectionStrategy.Default,\n providers: [{ provide: tree.CdkTree, useExisting: MatTree }],\n styles: [\".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}\\n\"]\n },] }\n ];\n MatTree.propDecorators = {\n _nodeOutlet: [{ type: core.ViewChild, args: [MatTreeNodeOutlet, { static: true },] }]\n };\n\n /**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n // tslint:disable-next-line: coercion-types\n var MatTreeNodeToggle = /** @class */ (function (_super) {\n __extends(MatTreeNodeToggle, _super);\n function MatTreeNodeToggle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MatTreeNodeToggle.prototype, \"recursive\", {\n get: function () { return this._recursive; },\n set: function (value) {\n // TODO: when we remove support for ViewEngine, change this setter to an input\n // alias in the decorator metadata.\n this._recursive = coercion.coerceBooleanProperty(value);\n },\n enumerable: false,\n configurable: true\n });\n return MatTreeNodeToggle;\n }(tree.CdkTreeNodeToggle));\n MatTreeNodeToggle.decorators = [\n { type: core.Directive, args: [{\n selector: '[matTreeNodeToggle]',\n providers: [{ provide: tree.CdkTreeNodeToggle, useExisting: MatTreeNodeToggle }]\n },] }\n ];\n MatTreeNodeToggle.propDecorators = {\n recursive: [{ type: core.Input, args: ['matTreeNodeToggleRecursive',] }]\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 var MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet\n ];\n var MatTreeModule = /** @class */ (function () {\n function MatTreeModule() {\n }\n return MatTreeModule;\n }());\n MatTreeModule.decorators = [\n { type: core.NgModule, args: [{\n imports: [tree.CdkTreeModule, core$1.MatCommonModule],\n exports: [core$1.MatCommonModule, MAT_TREE_DIRECTIVES],\n declarations: MAT_TREE_DIRECTIVES,\n },] }\n ];\n\n /**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\n var MatTreeFlattener = /** @class */ (function () {\n function MatTreeFlattener(transformFunction, getLevel, isExpandable, getChildren) {\n this.transformFunction = transformFunction;\n this.getLevel = getLevel;\n this.isExpandable = isExpandable;\n this.getChildren = getChildren;\n }\n MatTreeFlattener.prototype._flattenNode = function (node, level, resultNodes, parentMap) {\n var _this = this;\n var flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n if (this.isExpandable(flatNode)) {\n var childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n }\n else {\n childrenNodes.pipe(operators.take(1)).subscribe(function (children) {\n _this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n };\n MatTreeFlattener.prototype._flattenChildren = function (children, level, resultNodes, parentMap) {\n var _this = this;\n children.forEach(function (child, index) {\n var childParentMap = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n _this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n };\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n MatTreeFlattener.prototype.flattenNodes = function (structuredData) {\n var _this = this;\n var resultNodes = [];\n structuredData.forEach(function (node) { return _this._flattenNode(node, 0, resultNodes, []); });\n return resultNodes;\n };\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n MatTreeFlattener.prototype.expandFlattenedNodes = function (nodes, treeControl) {\n var _this = this;\n var results = [];\n var currentExpand = [];\n currentExpand[0] = true;\n nodes.forEach(function (node) {\n var expand = true;\n for (var i = 0; i <= _this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (_this.isExpandable(node)) {\n currentExpand[_this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n };\n return MatTreeFlattener;\n }());\n /**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\n var MatTreeFlatDataSource = /** @class */ (function (_super) {\n __extends(MatTreeFlatDataSource, _super);\n function MatTreeFlatDataSource(_treeControl, _treeFlattener, initialData) {\n if (initialData === void 0) { initialData = []; }\n var _this = _super.call(this) || this;\n _this._treeControl = _treeControl;\n _this._treeFlattener = _treeFlattener;\n _this._flattenedData = new rxjs.BehaviorSubject([]);\n _this._expandedData = new rxjs.BehaviorSubject([]);\n _this._data = new rxjs.BehaviorSubject(initialData);\n return _this;\n }\n Object.defineProperty(MatTreeFlatDataSource.prototype, \"data\", {\n get: function () { return this._data.value; },\n set: function (value) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n },\n enumerable: false,\n configurable: true\n });\n MatTreeFlatDataSource.prototype.connect = function (collectionViewer) {\n var _this = this;\n var changes = [\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData\n ];\n return rxjs.merge.apply(void 0, __spread(changes)).pipe(operators.map(function () {\n _this._expandedData.next(_this._treeFlattener.expandFlattenedNodes(_this._flattenedData.value, _this._treeControl));\n return _this._expandedData.value;\n }));\n };\n MatTreeFlatDataSource.prototype.disconnect = function () {\n // no op\n };\n return MatTreeFlatDataSource;\n }(collections.DataSource));\n\n /**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\n var MatTreeNestedDataSource = /** @class */ (function (_super) {\n __extends(MatTreeNestedDataSource, _super);\n function MatTreeNestedDataSource() {\n var _this = _super.apply(this, __spread(arguments)) || this;\n _this._data = new rxjs.BehaviorSubject([]);\n return _this;\n }\n Object.defineProperty(MatTreeNestedDataSource.prototype, \"data\", {\n /**\n * Data for the nested tree\n */\n get: function () { return this._data.value; },\n set: function (value) { this._data.next(value); },\n enumerable: false,\n configurable: true\n });\n MatTreeNestedDataSource.prototype.connect = function (collectionViewer) {\n var _this = this;\n return rxjs.merge.apply(void 0, __spread([collectionViewer.viewChange, this._data])).pipe(operators.map(function () {\n return _this.data;\n }));\n };\n MatTreeNestedDataSource.prototype.disconnect = function () {\n // no op\n };\n return MatTreeNestedDataSource;\n }(collections.DataSource));\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 * Generated bundle index. Do not edit.\n */\n\n exports.MatNestedTreeNode = MatNestedTreeNode;\n exports.MatTree = MatTree;\n exports.MatTreeFlatDataSource = MatTreeFlatDataSource;\n exports.MatTreeFlattener = MatTreeFlattener;\n exports.MatTreeModule = MatTreeModule;\n exports.MatTreeNestedDataSource = MatTreeNestedDataSource;\n exports.MatTreeNode = MatTreeNode;\n exports.MatTreeNodeDef = MatTreeNodeDef;\n exports.MatTreeNodeOutlet = MatTreeNodeOutlet;\n exports.MatTreeNodePadding = MatTreeNodePadding;\n exports.MatTreeNodeToggle = MatTreeNodeToggle;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=material-tree.umd.js.map\n"]}