{"__symbolic":"module","version":4,"metadata":{"TreeNode":{"__symbolic":"interface"},"TreeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"labs-tree","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":19,"character":19},"member":"OnPush"},"template":"<mat-tree\n  *ngIf=\"dataSource.data?.length\"\n  data-testid=\"tree\"\n  [dataSource]=\"dataSource\"\n  [treeControl]=\"treeControl\"\n>\n  <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle>\n    <li class=\"mat-tree-node\">\n      <button mat-icon-button disabled>\n        <mat-icon>{{ nodeIcon }}</mat-icon>\n      </button>\n      <span>{{ node.name }}</span>\n    </li>\n  </mat-tree-node>\n  <mat-nested-tree-node *matTreeNodeDef=\"let node; when: hasChild\">\n    <li>\n      <div class=\"mat-tree-node\">\n        <button\n          mat-icon-button\n          matTreeNodeToggle\n          [attr.aria-label]=\"'Toggle ' + node.name\"\n        >\n          <mat-icon class=\"mat-icon-rtl-mirror\">\n            {{ treeControl.isExpanded(node) ? openedIcon : closedIcon }}\n          </mat-icon>\n        </button>\n        <span>{{ node.name }}</span>\n      </div>\n      <ul\n        [ngStyle]=\"{\n          display: treeControl.isExpanded(node) ? 'block' : 'none'\n        }\"\n      >\n        <ng-container matTreeNodeOutlet></ng-container>\n      </ul>\n    </li>\n  </mat-nested-tree-node>\n</mat-tree>\n","styles":[":host{display:block;width:100%}li,ul{margin-top:0;margin-bottom:0;padding:0;list-style-type:none;position:relative}ul{padding-left:32px;overflow:hidden}ul>.mat-nested-tree-node>li>.mat-tree-node,ul>.mat-tree-node{position:relative}ul>.mat-nested-tree-node>li>.mat-tree-node:before,ul>.mat-tree-node:before{content:\"\";display:block;position:absolute;left:-12px;top:24px;width:12px}ul>:last-child>.mat-tree-node:after,ul>:last-child>li>.mat-tree-node:after{content:\"\";display:block;position:absolute;left:-13px;top:calc(-100vh + 24px);height:100vh}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"closedIcon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"openedIcon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"nodeIcon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"ngOnChanges":[{"__symbolic":"method"}]}},"TreeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":12},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":8,"character":26},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":8,"character":43},{"__symbolic":"reference","module":"@angular/material/tree","name":"MatTreeModule","line":8,"character":58}],"exports":[{"__symbolic":"reference","name":"TreeComponent"}],"declarations":[{"__symbolic":"reference","name":"TreeComponent"}],"providers":[]}]}],"members":{}}},"origins":{"TreeNode":"./tree.component","TreeComponent":"./tree.component","TreeModule":"./tree.module"},"importAs":"ng-labs/tree"}