{"__symbolic":"module","version":4,"metadata":{"FilterTreeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/material/chips","name":"MatChipsModule","line":16,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":17,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":18,"character":4},{"__symbolic":"reference","module":"@angular/material/tree","name":"MatTreeModule","line":19,"character":4}],"declarations":[{"__symbolic":"reference","name":"FilterTreeComponent"}],"exports":[{"__symbolic":"reference","name":"FilterTreeComponent"}]}]}],"members":{}},"TreeNode":{"__symbolic":"interface"},"FilterTreeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":27,"character":1},"arguments":[{"selector":"uxg-filter-tree","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":32,"character":4},"arguments":["slideInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":33,"character":6},"arguments":["in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":35,"character":8},"arguments":[{"overflow":"hidden","height":"*"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":40,"character":6},"arguments":["out",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":42,"character":8},"arguments":[{"opacity":"0","overflow":"hidden","height":"0"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":48,"character":6},"arguments":["in => out",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":48,"character":30},"arguments":["250ms ease-out"]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":49,"character":6},"arguments":["out => in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":49,"character":30},"arguments":["250ms ease-in"]}]}]]}],"template":"<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\" class=\"filter-tree\">\n  <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle>\n    <mat-checkbox\n      class=\"checklist-leaf-node\"\n      [checked]=\"checkListSelection.isSelected(node)\"\n      (change)=\"leafItemSelectionToggle(node)\"\n      color=\"primary\"\n    >\n      <span class=\"mat-tree-node uxg-body-2 node-label\">{{ node.label }}</span>\n    </mat-checkbox>\n  </mat-tree-node>\n  <mat-nested-tree-node *matTreeNodeDef=\"let node; when: hasChild\">\n    <div class=\"mat-tree-node\">\n      <mat-checkbox\n        [checked]=\"descendantsAllSelected(node)\"\n        [indeterminate]=\"descendantsPartiallySelected(node)\"\n        (change)=\"itemSelectionToggle(node)\"\n        color=\"primary\"\n      >\n        <span class=\"uxg-body-2 node-label\">{{ node.label }}</span>\n      </mat-checkbox>\n      <button mat-button mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'toggle ' + node.label\" dense>\n        <mat-icon class=\"mat-icon-rtl-mirror\">\n          {{ treeControl.isExpanded(node) ? 'expand_less' : 'expand_more' }}\n        </mat-icon>\n      </button>\n    </div>\n    <div\n      class=\"child-tree\"\n      #el\n      [@slideInOut]=\"treeControl.isExpanded(node) ? 'in' : 'out'\"\n      (@slideInOut.start)=\"expandStart(node, el)\"\n      (@slideInOut.done)=\"expandEnd(node, el)\"\n    >\n      <ng-container matTreeNodeOutlet></ng-container>\n    </div>\n  </mat-nested-tree-node>\n</mat-tree>\n","styles":[".mt-0{margin-top:0!important}.pt-0{padding-top:0!important}.mb-0{margin-bottom:0!important}.pb-0{padding-bottom:0!important}.ml-0{margin-left:0!important}.pl-0{padding-left:0!important}.mr-0{margin-right:0!important}.pr-0{padding-right:0!important}.m-0{margin:0!important}.p-0{padding:0!important}.mt-1{margin-top:4px!important}.pt-1{padding-top:4px!important}.mb-1{margin-bottom:4px!important}.pb-1{padding-bottom:4px!important}.ml-1{margin-left:4px!important}.pl-1{padding-left:4px!important}.mr-1{margin-right:4px!important}.pr-1{padding-right:4px!important}.m-1{margin:4px!important}.p-1{padding:4px!important}.mt-2{margin-top:8px!important}.pt-2{padding-top:8px!important}.mb-2{margin-bottom:8px!important}.pb-2{padding-bottom:8px!important}.ml-2{margin-left:8px!important}.pl-2{padding-left:8px!important}.mr-2{margin-right:8px!important}.pr-2{padding-right:8px!important}.m-2{margin:8px!important}.p-2{padding:8px!important}.mt-3{margin-top:16px!important}.pt-3{padding-top:16px!important}.mb-3{margin-bottom:16px!important}.pb-3{padding-bottom:16px!important}.ml-3{margin-left:16px!important}.pl-3{padding-left:16px!important}.mr-3{margin-right:16px!important}.pr-3{padding-right:16px!important}.m-3{margin:16px!important}.p-3{padding:16px!important}.mt-4{margin-top:24px!important}.pt-4{padding-top:24px!important}.mb-4{margin-bottom:24px!important}.pb-4{padding-bottom:24px!important}.ml-4{margin-left:24px!important}.pl-4{padding-left:24px!important}.mr-4{margin-right:24px!important}.pr-4{padding-right:24px!important}.m-4{margin:24px!important}.p-4{padding:24px!important}.mt-5{margin-top:48px!important}.pt-5{padding-top:48px!important}.mb-5{margin-bottom:48px!important}.pb-5{padding-bottom:48px!important}.ml-5{margin-left:48px!important}.pl-5{padding-left:48px!important}.mr-5{margin-right:48px!important}.pr-5{padding-right:48px!important}.m-5{margin:48px!important}.p-5{padding:48px!important}.mt-6{margin-top:96px!important}.pt-6{padding-top:96px!important}.mb-6{margin-bottom:96px!important}.pb-6{padding-bottom:96px!important}.ml-6{margin-left:96px!important}.pl-6{padding-left:96px!important}.mr-6{margin-right:96px!important}.pr-6{padding-right:96px!important}.m-6{margin:96px!important}.p-6{padding:96px!important}.filter-tree,.filter-tree .child-tree{margin-top:0;margin-bottom:0;list-style-type:none}.filter-tree .child-tree{padding:4px 24px}.filter-tree .child-tree.collapsed{padding-top:0;padding-bottom:0;visibility:hidden}.mat-tree-node{justify-content:space-between;min-height:32px;overflow:visible}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"multipleSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"changes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":72,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":74,"character":35}]}],"ngOnChanges":[{"__symbolic":"method"}],"clearSelection":[{"__symbolic":"method"}],"toggleAllNodes":[{"__symbolic":"method"}],"descendantsAllSelected":[{"__symbolic":"method"}],"descendantsPartiallySelected":[{"__symbolic":"method"}],"itemSelectionToggle":[{"__symbolic":"method"}],"leafItemSelectionToggle":[{"__symbolic":"method"}],"checkAllParentsSelection":[{"__symbolic":"method"}],"checkRootNodeSelection":[{"__symbolic":"method"}],"getParentNode":[{"__symbolic":"method"}],"getRootNode":[{"__symbolic":"method"}],"isRootNodeSelected":[{"__symbolic":"method"}],"expandStart":[{"__symbolic":"method"}],"expandEnd":[{"__symbolic":"method"}],"getSelectedNodes":[{"__symbolic":"method"}],"getState":[{"__symbolic":"method"}],"setState":[{"__symbolic":"method"}]}}},"origins":{"FilterTreeModule":"./src/filter-tree.module","TreeNode":"./src/filter-tree.component","FilterTreeComponent":"./src/filter-tree.component"},"importAs":"@ffdc/uxg-angular-components/filter/filter-tree"}