{"version":3,"file":"src_app_admin_dashboard_dashboard_module_ts.542f2d5d17157c62.js","mappings":"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","sources":["./src/app/admin/dashboard/dashboard.component.ts","./src/app/admin/dashboard/dashboard.component.html","./src/app/admin/dashboard/dashboard.module.ts","./src/app/admin/dashboard/monthly-orders/monthly-orders.component.ts","./src/app/admin/dashboard/monthly-orders/monthly-orders.component.html","./src/app/admin/dashboard/order-status/order-status.component.ts","./src/app/admin/dashboard/order-status/order-status.component.html","./src/app/admin/dashboard/tiles/tiles.component.ts","./src/app/admin/dashboard/tiles/tiles.component.html","./src/app/admin/dashboard/top-grades/top-grades.component.ts","./src/app/admin/dashboard/top-grades/top-grades.component.html","./src/app/admin/dashboard/top-menus/top-menus.component.ts","./src/app/admin/dashboard/top-menus/top-menus.component.html","./src/app/admin/dashboard/weekly-orders/weekly-orders.component.ts","./src/app/admin/dashboard/weekly-orders/weekly-orders.component.html","./node_modules/@swimlane/ngx-charts/__ivy_ngcc__/fesm2015/swimlane-ngx-charts.js","./node_modules/clone-deep/index.js","./node_modules/d3-array/src/ascending.js","./node_modules/d3-array/src/bisect.js","./node_modules/d3-array/src/bisector.js","./node_modules/d3-array/src/max.js","./node_modules/d3-array/src/min.js","./node_modules/d3-array/src/number.js","./node_modules/d3-array/src/quantile.js","./node_modules/d3-array/src/quickselect.js","./node_modules/d3-array/src/range.js","./node_modules/d3-array/src/ticks.js","./node_modules/d3-brush/src/brush.js","./node_modules/d3-brush/src/constant.js","./node_modules/d3-brush/src/event.js","./node_modules/d3-brush/src/noevent.js","./node_modules/d3-color/src/color.js","./node_modules/d3-color/src/define.js","./node_modules/d3-dispatch/src/dispatch.js","./node_modules/d3-drag/src/nodrag.js","./node_modules/d3-drag/src/noevent.js","./node_modules/d3-ease/src/cubic.js","./node_modules/d3-ease/src/sin.js","./node_modules/d3-format/src/defaultLocale.js","./node_modules/d3-format/src/exponent.js","./node_modules/d3-format/src/formatDecimal.js","./node_modules/d3-format/src/formatGroup.js","./node_modules/d3-format/src/formatNumerals.js","./node_modules/d3-format/src/formatPrefixAuto.js","./node_modules/d3-format/src/formatRounded.js","./node_modules/d3-format/src/formatSpecifier.js","./node_modules/d3-format/src/formatTrim.js","./node_modules/d3-format/src/formatTypes.js","./node_modules/d3-format/src/identity.js","./node_modules/d3-format/src/locale.js","./node_modules/d3-format/src/precisionFixed.js","./node_modules/d3-format/src/precisionPrefix.js","./node_modules/d3-format/src/precisionRound.js","./node_modules/d3-hierarchy/src/accessors.js","./node_modules/d3-hierarchy/src/constant.js","./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","./node_modules/d3-hierarchy/src/hierarchy/count.js","./node_modules/d3-hierarchy/src/hierarchy/descendants.js","./node_modules/d3-hierarchy/src/hierarchy/each.js","./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","./node_modules/d3-hierarchy/src/hierarchy/find.js","./node_modules/d3-hierarchy/src/hierarchy/index.js","./node_modules/d3-hierarchy/src/hierarchy/iterator.js","./node_modules/d3-hierarchy/src/hierarchy/leaves.js","./node_modules/d3-hierarchy/src/hierarchy/links.js","./node_modules/d3-hierarchy/src/hierarchy/path.js","./node_modules/d3-hierarchy/src/hierarchy/sort.js","./node_modules/d3-hierarchy/src/hierarchy/sum.js","./node_modules/d3-hierarchy/src/stratify.js","./node_modules/d3-hierarchy/src/treemap/dice.js","./node_modules/d3-hierarchy/src/treemap/index.js","./node_modules/d3-hierarchy/src/treemap/round.js","./node_modules/d3-hierarchy/src/treemap/slice.js","./node_modules/d3-hierarchy/src/treemap/squarify.js","./node_modules/d3-interpolate/src/array.js","./node_modules/d3-interpolate/src/basis.js","./node_modules/d3-interpolate/src/basisClosed.js","./node_modules/d3-interpolate/src/color.js","./node_modules/d3-interpolate/src/constant.js","./node_modules/d3-interpolate/src/date.js","./node_modules/d3-interpolate/src/number.js","./node_modules/d3-interpolate/src/numberArray.js","./node_modules/d3-interpolate/src/object.js","./node_modules/d3-interpolate/src/rgb.js","./node_modules/d3-interpolate/src/round.js","./node_modules/d3-interpolate/src/string.js","./node_modules/d3-interpolate/src/transform/decompose.js","./node_modules/d3-interpolate/src/transform/index.js","./node_modules/d3-interpolate/src/transform/parse.js","./node_modules/d3-interpolate/src/value.js","./node_modules/d3-path/src/path.js","./node_modules/d3-scale/src/band.js","./node_modules/d3-scale/src/constant.js","./node_modules/d3-scale/src/continuous.js","./node_modules/d3-scale/src/init.js","./node_modules/d3-scale/src/linear.js","./node_modules/d3-scale/src/nice.js","./node_modules/d3-scale/src/number.js","./node_modules/d3-scale/src/ordinal.js","./node_modules/d3-scale/src/quantile.js","./node_modules/d3-scale/src/tickFormat.js","./node_modules/d3-scale/src/time.js","./node_modules/d3-selection/src/array.js","./node_modules/d3-selection/src/constant.js","./node_modules/d3-selection/src/creator.js","./node_modules/d3-selection/src/matcher.js","./node_modules/d3-selection/src/namespace.js","./node_modules/d3-selection/src/namespaces.js","./node_modules/d3-selection/src/pointer.js","./node_modules/d3-selection/src/select.js","./node_modules/d3-selection/src/selection/append.js","./node_modules/d3-selection/src/selection/attr.js","./node_modules/d3-selection/src/selection/call.js","./node_modules/d3-selection/src/selection/classed.js","./node_modules/d3-selection/src/selection/clone.js","./node_modules/d3-selection/src/selection/data.js","./node_modules/d3-selection/src/selection/datum.js","./node_modules/d3-selection/src/selection/dispatch.js","./node_modules/d3-selection/src/selection/each.js","./node_modules/d3-selection/src/selection/empty.js","./node_modules/d3-selection/src/selection/enter.js","./node_modules/d3-selection/src/selection/exit.js","./node_modules/d3-selection/src/selection/filter.js","./node_modules/d3-selection/src/selection/html.js","./node_modules/d3-selection/src/selection/index.js","./node_modules/d3-selection/src/selection/insert.js","./node_modules/d3-selection/src/selection/iterator.js","./node_modules/d3-selection/src/selection/join.js","./node_modules/d3-selection/src/selection/lower.js","./node_modules/d3-selection/src/selection/merge.js","./node_modules/d3-selection/src/selection/node.js","./node_modules/d3-selection/src/selection/nodes.js","./node_modules/d3-selection/src/selection/on.js","./node_modules/d3-selection/src/selection/order.js","./node_modules/d3-selection/src/selection/property.js","./node_modules/d3-selection/src/selection/raise.js","./node_modules/d3-selection/src/selection/remove.js","./node_modules/d3-selection/src/selection/select.js","./node_modules/d3-selection/src/selection/selectAll.js","./node_modules/d3-selection/src/selection/selectChild.js","./node_modules/d3-selection/src/selection/selectChildren.js","./node_modules/d3-selection/src/selection/size.js","./node_modules/d3-selection/src/selection/sort.js","./node_modules/d3-selection/src/selection/sparse.js","./node_modules/d3-selection/src/selection/style.js","./node_modules/d3-selection/src/selection/text.js","./node_modules/d3-selection/src/selector.js","./node_modules/d3-selection/src/selectorAll.js","./node_modules/d3-selection/src/sourceEvent.js","./node_modules/d3-selection/src/window.js","./node_modules/d3-shape/src/arc.js","./node_modules/d3-shape/src/area.js","./node_modules/d3-shape/src/array.js","./node_modules/d3-shape/src/constant.js","./node_modules/d3-shape/src/curve/cardinal.js","./node_modules/d3-shape/src/curve/cardinalClosed.js","./node_modules/d3-shape/src/curve/linear.js","./node_modules/d3-shape/src/curve/radial.js","./node_modules/d3-shape/src/descending.js","./node_modules/d3-shape/src/identity.js","./node_modules/d3-shape/src/line.js","./node_modules/d3-shape/src/lineRadial.js","./node_modules/d3-shape/src/math.js","./node_modules/d3-shape/src/noop.js","./node_modules/d3-shape/src/pie.js","./node_modules/d3-shape/src/point.js","./node_modules/d3-time-format/src/defaultLocale.js","./node_modules/d3-time-format/src/locale.js","./node_modules/d3-time/src/day.js","./node_modules/d3-time/src/duration.js","./node_modules/d3-time/src/hour.js","./node_modules/d3-time/src/interval.js","./node_modules/d3-time/src/millisecond.js","./node_modules/d3-time/src/minute.js","./node_modules/d3-time/src/month.js","./node_modules/d3-time/src/second.js","./node_modules/d3-time/src/ticks.js","./node_modules/d3-time/src/utcDay.js","./node_modules/d3-time/src/utcHour.js","./node_modules/d3-time/src/utcMinute.js","./node_modules/d3-time/src/utcMonth.js","./node_modules/d3-time/src/utcWeek.js","./node_modules/d3-time/src/utcYear.js","./node_modules/d3-time/src/week.js","./node_modules/d3-time/src/year.js","./node_modules/d3-timer/src/timeout.js","./node_modules/d3-timer/src/timer.js","./node_modules/d3-transition/src/active.js","./node_modules/d3-transition/src/index.js","./node_modules/d3-transition/src/interrupt.js","./node_modules/d3-transition/src/selection/index.js","./node_modules/d3-transition/src/selection/interrupt.js","./node_modules/d3-transition/src/selection/transition.js","./node_modules/d3-transition/src/transition/attr.js","./node_modules/d3-transition/src/transition/attrTween.js","./node_modules/d3-transition/src/transition/delay.js","./node_modules/d3-transition/src/transition/duration.js","./node_modules/d3-transition/src/transition/ease.js","./node_modules/d3-transition/src/transition/easeVarying.js","./node_modules/d3-transition/src/transition/end.js","./node_modules/d3-transition/src/transition/filter.js","./node_modules/d3-transition/src/transition/index.js","./node_modules/d3-transition/src/transition/interpolate.js","./node_modules/d3-transition/src/transition/merge.js","./node_modules/d3-transition/src/transition/on.js","./node_modules/d3-transition/src/transition/remove.js","./node_modules/d3-transition/src/transition/schedule.js","./node_modules/d3-transition/src/transition/select.js","./node_modules/d3-transition/src/transition/selectAll.js","./node_modules/d3-transition/src/transition/selection.js","./node_modules/d3-transition/src/transition/style.js","./node_modules/d3-transition/src/transition/styleTween.js","./node_modules/d3-transition/src/transition/text.js","./node_modules/d3-transition/src/transition/textTween.js","./node_modules/d3-transition/src/transition/transition.js","./node_modules/d3-transition/src/transition/tween.js","./node_modules/is-plain-object/index.js","./node_modules/isobject/index.js","./node_modules/kind-of/index.js","./node_modules/shallow-clone/index.js"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<app-tiles></app-tiles>\r\n<div fxLayout=\"row wrap\"> \r\n <div fxFlex=\"100\" fxFlex.gt-sm=\"50\" class=\"p-2\">\r\n <app-top-menus></app-top-menus>\r\n </div>\r\n <div fxFlex=\"100\" fxFlex.gt-sm=\"50\" class=\"p-2\">\r\n <app-top-grades></app-top-grades>\r\n </div>\r\n\r\n <div fxFlex=\"100\" fxFlex.gt-sm=\"50\" class=\"p-2\">\r\n <app-weekly-orders></app-weekly-orders>\r\n </div>\r\n <div fxFlex=\"100\" fxFlex.gt-sm=\"50\" class=\"p-2\">\r\n <app-order-status></app-order-status>\r\n </div>\r\n <div fxFlex=\"100\" fxFlex.gt-sm=\"100\" class=\"p-2\">\r\n <app-monthly-orders></app-monthly-orders>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { DashboardComponent } from './dashboard.component';\r\nimport { AuthGuard } from 'src/app/theme/utils/auth.guard';\r\nimport { TilesComponent } from './tiles/tiles.component';\r\nimport { TopMenusComponent } from './top-menus/top-menus.component';\r\nimport { TopGradesComponent } from './top-grades/top-grades.component';\r\nimport { WeeklyOrdersComponent } from './weekly-orders/weekly-orders.component';\r\nimport { OrderStatusComponent } from './order-status/order-status.component';\r\nimport { MonthlyOrdersComponent } from './monthly-orders/monthly-orders.component';\r\n\r\nexport const routes: Routes = [\r\n { path: '', component: DashboardComponent, pathMatch: 'full', canActivate: [AuthGuard]}\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n DashboardComponent,\r\n TilesComponent,\r\n TopMenusComponent,\r\n TopGradesComponent,\r\n WeeklyOrdersComponent,\r\n OrderStatusComponent,\r\n MonthlyOrdersComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule.forChild(routes),\r\n SharedModule,\r\n NgxChartsModule\r\n ]\r\n})\r\nexport class DashboardModule { }\r\n","import { Component, OnInit } from '@angular/core';\nimport { AppService } from 'src/app/app.service';\n\n@Component({\n selector: 'app-monthly-orders',\n templateUrl: './monthly-orders.component.html',\n styleUrls: ['./monthly-orders.component.scss']\n})\nexport class MonthlyOrdersComponent implements OnInit {\n\n \n public transactions: any[] = [];\n public showXAxis = true;\n public showYAxis = true;\n public gradient = false;\n public showLegend = false;\n public showXAxisLabel = true;\n public xAxisLabel = 'Days';\n public showYAxisLabel = true;\n public yAxisLabel = 'Orders';\n public colorScheme:any = {\n domain: ['#3F51B5', '#E91E63', '#43A047', '#FDD835', '#F4511E', '#606060']\n }; \n\n constructor(public appService: AppService,) {\n\n }\n public onSelect(event:any) {\n console.log(event);\n }\n ngOnInit(): void {\n this.appService.MonthlyOrders()\n .subscribe({\n next: (data) => {\n console.log(JSON.parse(JSON.stringify(data)));\nthis.transactions= JSON.parse(JSON.stringify(data));\n\n\n\n },\n error: (e) => {\n },\n complete: () => {\n\n }\n })\n }\n\n}\n","<mat-card>\n <mat-card-header fxLayoutAlign=\"center center\"> \n <mat-card-subtitle><h2>Monthly Orders</h2></mat-card-subtitle>\n </mat-card-header>\n <div class=\"w-100 h-300p\">\n <ngx-charts-bar-vertical\n [scheme]=\"colorScheme\"\n [results]=\"transactions\"\n [gradient]=\"gradient\"\n [xAxis]=\"showXAxis\"\n [yAxis]=\"showYAxis\"\n [legend]=\"showLegend\"\n [showXAxisLabel]=\"showXAxisLabel\"\n [showYAxisLabel]=\"showYAxisLabel\"\n [xAxisLabel]=\"yAxisLabel\"\n [yAxisLabel]=\"xAxisLabel\"\n (select)=\"onSelect($event)\">\n </ngx-charts-bar-vertical> \n </div>\n</mat-card>","import { Component, OnInit } from '@angular/core';\nimport { AppService } from 'src/app/app.service';\n\n@Component({\n selector: 'app-order-status',\n templateUrl: './order-status.component.html',\n styleUrls: ['./order-status.component.scss']\n})\nexport class OrderStatusComponent implements OnInit {\n\n \n public transactions: any[] = [];\n public gradient = false;\n public showLegend = false;\n public showLabels: boolean = true;\n public isDoughnut: boolean = false;\n public legendPosition: string = 'below';\n\n public colorScheme:any = {\n domain: ['#3F51B5', '#43A047', '#E91E63']\n }; \n\n constructor(public appService: AppService,) {\n\n }\n public onSelect(event:any) {\n console.log(event);\n }\n ngOnInit(): void {\n this.appService.OrdersByStatus()\n .subscribe({\n next: (data) => {\n console.log(JSON.parse(JSON.stringify(data)));\nthis.transactions= JSON.parse(JSON.stringify(data));\n\n\n\n },\n error: (e) => {\n },\n complete: () => {\n\n }\n })\n }\n\n}\n","<mat-card>\n <mat-card-header fxLayoutAlign=\"center center\"> \n <mat-card-subtitle><h2>Order Status</h2></mat-card-subtitle>\n </mat-card-header>\n <div class=\"w-100 h-300p\">\n <ngx-charts-pie-chart\n [scheme]=\"colorScheme\"\n [results]=\"transactions\"\n [gradient]=\"gradient\"\n [legend]=\"showLegend\"\n \n [labels]=\"showLabels\"\n [doughnut]=\"isDoughnut\"\n\n (select)=\"onSelect($event)\">\n </ngx-charts-pie-chart> \n </div>\n</mat-card>","import { Component, OnInit } from '@angular/core';\nimport { AppService } from 'src/app/app.service';\n\n@Component({\n selector: 'app-tiles',\n templateUrl: './tiles.component.html',\n styleUrls: ['./tiles.component.scss']\n})\nexport class TilesComponent implements OnInit {\n\n\n dataSource: any;\n\n\n constructor(public appService: AppService,) {\n\n }\n\n ngOnInit(): void {\n\n\n this.appService.DashboardTiles()\n .subscribe({\n next: (data) => {\n console.log(data);\n this.dataSource=data;\n\n\n },\n error: (e) => {\n },\n complete: () => {\n\n }\n })\n\n\n }\n\n}\n","<div fxLayout=\"row wrap\">\n <div fxFlex=\"50\" fxFlex.xl=\"20\" fxFlex.lg=\"20\" fxFlex.md=\"33.3\" fxFlex.sm=\"33.3\" class=\"p-2\"> \n <mat-card class=\"gradient-green tile p-2\"> \n <mat-icon>supervisor_account</mat-icon> \n <h2>{{dataSource?.Parents}}</h2> \n <p>Parents</p> \n </mat-card>\n </div>\n <div fxFlex=\"50\" fxFlex.xl=\"20\" fxFlex.lg=\"20\" fxFlex.md=\"33.3\" fxFlex.sm=\"33.3\" class=\"p-2\"> \n <mat-card class=\"gradient-red tile p-2\"> \n <mat-icon>thumb_up_alt</mat-icon> \n <h2>{{dataSource?.Teachers}}</h2> \n <p>Teachers</p> \n </mat-card>\n </div>\n <div fxFlex=\"50\" fxFlex.xl=\"20\" fxFlex.lg=\"20\" fxFlex.md=\"33.3\" fxFlex.sm=\"33.3\" class=\"p-2\">\n <mat-card class=\"gradient-orange tile p-2\">\n <mat-icon>group</mat-icon> \n <h2>{{dataSource?.Students}}</h2> \n <p>Students</p> \n </mat-card>\n </div>\n <div fxFlex=\"50\" fxFlex.xl=\"20\" fxFlex.lg=\"20\" fxFlex.md=\"33.3\" fxFlex.sm=\"33.3\" class=\"p-2\">\n <mat-card class=\"gradient-pink tile p-2\">\n <mat-icon>shopping_cart</mat-icon> \n <h2>{{dataSource?.Orders}}</h2> \n <p>Orders</p> \n </mat-card>\n </div>\n <div fxFlex=\"50\" fxFlex.xl=\"20\" fxFlex.lg=\"20\" fxFlex.md=\"33.3\" fxFlex.sm=\"33.3\" class=\"p-2\">\n <mat-card class=\"gradient-brown tile p-2\">\n <mat-icon>save_alt</mat-icon> \n <h2>{{dataSource?.Emails}}</h2> \n <p>Emails</p> \n </mat-card>\n </div> \n</div>","import { Component, OnInit } from '@angular/core';\nimport { AppService } from 'src/app/app.service';\n\n@Component({\n selector: 'app-top-grades',\n templateUrl: './top-grades.component.html',\n styleUrls: ['./top-grades.component.scss']\n})\nexport class TopGradesComponent implements OnInit {\n\n public transactions: any[] = [];\n public showXAxis = true;\n public showYAxis = true;\n public gradient = false;\n public showLegend = false;\n public showXAxisLabel = true;\n public xAxisLabel = 'Grades';\n public showYAxisLabel = true;\n public yAxisLabel = 'Orders';\n public colorScheme:any = {\n domain: ['#3F51B5', '#E91E63', '#43A047', '#FDD835', '#F4511E', '#606060']\n }; \n\n constructor(public appService: AppService,) {\n\n }\n public onSelect(event:any) {\n console.log(event);\n }\n\n ngOnInit(): void {\n this.appService.TopGrades()\n .subscribe({\n next: (data) => {\n console.log(JSON.parse(JSON.stringify(data)));\n this.transactions= JSON.parse(JSON.stringify(data));\n\n\n\n },\n error: (e) => {\n },\n complete: () => {\n\n }\n })\n }\n\n}","<mat-card>\n <mat-card-header fxLayoutAlign=\"center center\"> \n <mat-card-subtitle><h2>Top 10 Grades</h2></mat-card-subtitle>\n </mat-card-header>\n <div class=\"w-100 h-300p\">\n <ngx-charts-bar-horizontal\n [scheme]=\"colorScheme\"\n [results]=\"transactions\"\n [gradient]=\"gradient\"\n [xAxis]=\"showXAxis\"\n [yAxis]=\"showYAxis\"\n [legend]=\"showLegend\"\n [showXAxisLabel]=\"showXAxisLabel\"\n [showYAxisLabel]=\"showYAxisLabel\"\n [xAxisLabel]=\"yAxisLabel\"\n [yAxisLabel]=\"xAxisLabel\"\n (select)=\"onSelect($event)\">\n </ngx-charts-bar-horizontal> \n </div>\n</mat-card>","import { Component, OnInit } from '@angular/core';\nimport { AppService } from 'src/app/app.service';\n\n@Component({\n selector: 'app-top-menus',\n templateUrl: './top-menus.component.html',\n styleUrls: ['./top-menus.component.scss']\n})\nexport class TopMenusComponent implements OnInit {\n\n public transactions: any[] = [];\n public showXAxis = true;\n public showYAxis = true;\n public gradient = false;\n public showLegend = false;\n public showXAxisLabel = true;\n public xAxisLabel = 'Menus';\n public showYAxisLabel = true;\n public yAxisLabel = 'Orders';\n public colorScheme:any = {\n domain: ['#3F51B5', '#E91E63', '#43A047', '#FDD835', '#F4511E', '#606060']\n }; \n\n constructor(public appService: AppService,) {\n\n }\n public onSelect(event:any) {\n console.log(event);\n }\n ngOnInit(): void {\n this.appService.TopMenus()\n .subscribe({\n next: (data) => {\n console.log(JSON.parse(JSON.stringify(data)));\nthis.transactions= JSON.parse(JSON.stringify(data));\n\n\n\n },\n error: (e) => {\n },\n complete: () => {\n\n }\n })\n }\n\n}\n","<mat-card>\n <mat-card-header fxLayoutAlign=\"center center\"> \n <mat-card-subtitle><h2>Top 10 Menus</h2></mat-card-subtitle>\n </mat-card-header>\n <div class=\"w-100 h-300p\">\n <ngx-charts-bar-horizontal\n [scheme]=\"colorScheme\"\n [results]=\"transactions\"\n [gradient]=\"gradient\"\n [xAxis]=\"showXAxis\"\n [yAxis]=\"showYAxis\"\n [legend]=\"showLegend\"\n [showXAxisLabel]=\"showXAxisLabel\"\n [showYAxisLabel]=\"showYAxisLabel\"\n [xAxisLabel]=\"yAxisLabel\"\n [yAxisLabel]=\"xAxisLabel\"\n (select)=\"onSelect($event)\">\n </ngx-charts-bar-horizontal> \n </div>\n</mat-card>","import { Component, OnInit } from '@angular/core';\nimport { AppService } from 'src/app/app.service';\n@Component({\n selector: 'app-weekly-orders',\n templateUrl: './weekly-orders.component.html',\n styleUrls: ['./weekly-orders.component.scss']\n})\nexport class WeeklyOrdersComponent implements OnInit {\n\n\n public transactions: any[] = [];\n public showXAxis = true;\n public showYAxis = true;\n public gradient = false;\n public showLegend = false;\n public showXAxisLabel = true;\n public xAxisLabel = 'Days';\n public showYAxisLabel = true;\n public yAxisLabel = 'Orders';\n public colorScheme:any = {\n domain: ['#3F51B5', '#E91E63', '#43A047', '#FDD835', '#F4511E', '#606060']\n }; \n\n constructor(public appService: AppService,) {\n\n }\n public onSelect(event:any) {\n console.log(event);\n }\n ngOnInit(): void {\n this.appService.WeeklyOrders()\n .subscribe({\n next: (data) => {\n console.log(JSON.parse(JSON.stringify(data)));\nthis.transactions= JSON.parse(JSON.stringify(data));\n\n\n\n },\n error: (e) => {\n },\n complete: () => {\n\n }\n })\n }\n\n}\n","<mat-card>\n <mat-card-header fxLayoutAlign=\"center center\"> \n <mat-card-subtitle><h2>Weekly Orders</h2></mat-card-subtitle>\n </mat-card-header>\n <div class=\"w-100 h-300p\">\n <ngx-charts-bar-vertical\n [scheme]=\"colorScheme\"\n [results]=\"transactions\"\n [gradient]=\"gradient\"\n [xAxis]=\"showXAxis\"\n [yAxis]=\"showYAxis\"\n [legend]=\"showLegend\"\n [showXAxisLabel]=\"showXAxisLabel\"\n [showYAxisLabel]=\"showYAxisLabel\"\n [xAxisLabel]=\"yAxisLabel\"\n [yAxisLabel]=\"xAxisLabel\"\n (select)=\"onSelect($event)\">\n </ngx-charts-bar-vertical> \n </div>\n</mat-card>","import { Injectable, ApplicationRef, ComponentFactoryResolver, Injector, Component, ViewEncapsulation, ElementRef, Renderer2, Inject, PLATFORM_ID, Input, ViewChild, HostBinding, HostListener, EventEmitter, ChangeDetectionStrategy, Output, Directive, NgZone, ChangeDetectorRef, NgModule, ViewContainerRef, ContentChild } from '@angular/core';\nimport { isPlatformBrowser, isPlatformServer, CommonModule } from '@angular/common';\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport { DomPortalOutlet, ComponentPortal } from '@angular/cdk/portal';\nimport { __decorate } from 'tslib';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { select } from 'd3-selection';\nimport { brushX } from 'd3-brush';\nimport { scaleTime, scaleLinear, scalePoint, scaleOrdinal, scaleQuantile, scaleBand } from 'd3-scale';\nimport { curveLinear, area, line, curveCardinalClosed, lineRadial, arc, pie } from 'd3-shape';\nimport { range, min, max, quantile } from 'd3-array';\nimport { interpolate } from 'd3-interpolate';\nimport { easeSinInOut } from 'd3-ease';\nimport cloneDeep from 'clone-deep';\nimport { format } from 'd3-format';\nimport * as d3_color from 'd3-color';\nimport { treemap, stratify } from 'd3-hierarchy';\nimport { timeFormat } from 'd3-time-format';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\n\nconst _c0 = [\"caretElm\"];\nfunction TooltipContentComponent_span_4_ng_template_1_Template(rf, ctx) { }\nconst _c1 = function (a0) { return { model: a0 }; };\nfunction TooltipContentComponent_span_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\");\n ɵngcc0.ɵɵtemplate(1, TooltipContentComponent_span_4_ng_template_1_Template, 0, 0, \"ng-template\", 5);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.template)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction1(2, _c1, ctx_r1.context));\n} }\nfunction TooltipContentComponent_span_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"span\", 6);\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"innerHTML\", ctx_r2.title, ɵngcc0.ɵɵsanitizeHtml);\n} }\nfunction ChartComponent_ngx_charts_scale_legend_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵnamespaceHTML();\n ɵngcc0.ɵɵelement(0, \"ngx-charts-scale-legend\", 4);\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"horizontal\", ctx_r0.legendOptions && ctx_r0.legendOptions.position === ctx_r0.LegendPosition.Below)(\"valueRange\", ctx_r0.legendOptions.domain)(\"colors\", ctx_r0.legendOptions.colors)(\"height\", ctx_r0.view[1])(\"width\", ctx_r0.legendWidth);\n} }\nfunction ChartComponent_ngx_charts_legend_4_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵnamespaceHTML();\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-legend\", 5);\n ɵngcc0.ɵɵlistener(\"labelClick\", function ChartComponent_ngx_charts_legend_4_Template_ngx_charts_legend_labelClick_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.legendLabelClick.emit($event)); })(\"labelActivate\", function ChartComponent_ngx_charts_legend_4_Template_ngx_charts_legend_labelActivate_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.legendLabelActivate.emit($event)); })(\"labelDeactivate\", function ChartComponent_ngx_charts_legend_4_Template_ngx_charts_legend_labelDeactivate_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.legendLabelDeactivate.emit($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"horizontal\", ctx_r1.legendOptions && ctx_r1.legendOptions.position === ctx_r1.LegendPosition.Below)(\"data\", ctx_r1.legendOptions.domain)(\"title\", ctx_r1.legendOptions.title)(\"colors\", ctx_r1.legendOptions.colors)(\"height\", ctx_r1.view[1])(\"width\", ctx_r1.legendWidth)(\"activeEntries\", ctx_r1.activeEntries);\n} }\nconst _c2 = [\"*\"];\nconst _c3 = [\"ngx-charts-axis-label\", \"\"];\nconst _c4 = [\"ticksel\"];\nconst _c5 = [\"ngx-charts-x-axis-ticks\", \"\"];\nfunction XAxisTicksComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 3)(1, \"title\");\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(3, \"text\", 4);\n ɵngcc0.ɵɵtext(4);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const tick_r3 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r1.tickTransform(tick_r3));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r1.tickFormat(tick_r3));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"font-size\", \"12px\");\n ɵngcc0.ɵɵattribute(\"text-anchor\", ctx_r1.textAnchor)(\"transform\", ctx_r1.textTransform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r1.tickTrim(ctx_r1.tickFormat(tick_r3)), \" \");\n} }\nfunction XAxisTicksComponent__svg_g_3__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵelement(1, \"line\", 6);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r5 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r5.gridLineTransform());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"y1\", -ctx_r5.gridLineHeight);\n} }\nfunction XAxisTicksComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, XAxisTicksComponent__svg_g_3__svg_g_1_Template, 2, 2, \"g\", 5);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tick_r4 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r2.tickTransform(tick_r4));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r2.showGridLines);\n} }\nconst _c6 = [\"ngx-charts-x-axis\", \"\"];\nfunction XAxisComponent__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 2);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function XAxisComponent__svg_g_1_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.emitTicksHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"trimTicks\", ctx_r0.trimTicks)(\"rotateTicks\", ctx_r0.rotateTicks)(\"maxTickLength\", ctx_r0.maxTickLength)(\"tickFormatting\", ctx_r0.tickFormatting)(\"tickArguments\", ctx_r0.tickArguments)(\"tickStroke\", ctx_r0.tickStroke)(\"scale\", ctx_r0.xScale)(\"orient\", ctx_r0.xOrient)(\"showGridLines\", ctx_r0.showGridLines)(\"gridLineHeight\", ctx_r0.dims.height)(\"width\", ctx_r0.dims.width)(\"tickValues\", ctx_r0.ticks);\n} }\nfunction XAxisComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 3);\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"label\", ctx_r1.labelText)(\"offset\", ctx_r1.labelOffset)(\"orient\", ctx_r1.orientation.Bottom)(\"height\", ctx_r1.dims.height)(\"width\", ctx_r1.dims.width);\n} }\nconst _c7 = [\"ngx-charts-y-axis-ticks\", \"\"];\nfunction YAxisTicksComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 4)(1, \"title\");\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(3, \"text\", 5);\n ɵngcc0.ɵɵtext(4);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const tick_r5 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r1.transform(tick_r5));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r1.tickFormat(tick_r5));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"font-size\", \"12px\");\n ɵngcc0.ɵɵattribute(\"dy\", ctx_r1.dy)(\"x\", ctx_r1.x1)(\"y\", ctx_r1.y1)(\"text-anchor\", ctx_r1.textAnchor);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r1.tickTrim(ctx_r1.tickFormat(tick_r5)), \" \");\n} }\nfunction YAxisTicksComponent__svg_path_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"path\", 6);\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"d\", ctx_r2.referenceAreaPath)(\"transform\", ctx_r2.gridLineTransform());\n} }\nfunction YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"line\", 9);\n} if (rf & 2) {\n const ctx_r8 = ɵngcc0.ɵɵnextContext(3);\n ɵngcc0.ɵɵattribute(\"x2\", ctx_r8.gridLineWidth);\n} }\nfunction YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"line\", 9);\n} if (rf & 2) {\n const ctx_r9 = ɵngcc0.ɵɵnextContext(3);\n ɵngcc0.ɵɵattribute(\"x2\", -ctx_r9.gridLineWidth);\n} }\nfunction YAxisTicksComponent__svg_g_4__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_1_Template, 1, 1, \"line\", 8);\n ɵngcc0.ɵɵtemplate(2, YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_2_Template, 1, 1, \"line\", 8);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r7 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r7.gridLineTransform());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r7.orient === ctx_r7.Orientation.Left);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r7.orient === ctx_r7.Orientation.Right);\n} }\nfunction YAxisTicksComponent__svg_g_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, YAxisTicksComponent__svg_g_4__svg_g_1_Template, 3, 3, \"g\", 7);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tick_r6 = ctx.$implicit;\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r3.transform(tick_r6));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r3.showGridLines);\n} }\nfunction YAxisTicksComponent__svg_g_5__svg_g_1__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"title\");\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(3, \"text\", 11);\n ɵngcc0.ɵɵtext(4);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const refLine_r10 = ɵngcc0.ɵɵnextContext(2).$implicit;\n const ctx_r12 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r12.tickTrim(ctx_r12.tickFormat(refLine_r10.value)));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"dy\", ctx_r12.dy)(\"y\", -6)(\"x\", ctx_r12.gridLineWidth)(\"text-anchor\", ctx_r12.textAnchor);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", refLine_r10.name, \" \");\n} }\nfunction YAxisTicksComponent__svg_g_5__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵelement(1, \"line\", 10);\n ɵngcc0.ɵɵtemplate(2, YAxisTicksComponent__svg_g_5__svg_g_1__svg_g_2_Template, 5, 6, \"g\", 7);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const refLine_r10 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r11 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r11.transform(refLine_r10.value));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"x2\", ctx_r11.gridLineWidth)(\"transform\", ctx_r11.gridLineTransform());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r11.showRefLabels);\n} }\nfunction YAxisTicksComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, YAxisTicksComponent__svg_g_5__svg_g_1_Template, 3, 4, \"g\", 7);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r4.showRefLines);\n} }\nconst _c8 = [\"ngx-charts-y-axis\", \"\"];\nfunction YAxisComponent__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 2);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function YAxisComponent__svg_g_1_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.emitTicksWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"trimTicks\", ctx_r0.trimTicks)(\"maxTickLength\", ctx_r0.maxTickLength)(\"tickFormatting\", ctx_r0.tickFormatting)(\"tickArguments\", ctx_r0.tickArguments)(\"tickValues\", ctx_r0.ticks)(\"tickStroke\", ctx_r0.tickStroke)(\"scale\", ctx_r0.yScale)(\"orient\", ctx_r0.yOrient)(\"showGridLines\", ctx_r0.showGridLines)(\"gridLineWidth\", ctx_r0.dims.width)(\"referenceLines\", ctx_r0.referenceLines)(\"showRefLines\", ctx_r0.showRefLines)(\"showRefLabels\", ctx_r0.showRefLabels)(\"height\", ctx_r0.dims.height);\n} }\nfunction YAxisComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 3);\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"label\", ctx_r1.labelText)(\"offset\", ctx_r1.labelOffset)(\"orient\", ctx_r1.yOrient)(\"height\", ctx_r1.dims.height)(\"width\", ctx_r1.dims.width);\n} }\nconst _c9 = [\"ngx-charts-circle-series\", \"\"];\nfunction CircleSeriesComponent__svg_g_0__svg_rect_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"rect\", 4);\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\");\n ɵngcc0.ɵɵattribute(\"x\", ctx_r1.circle.cx - ctx_r1.circle.radius)(\"y\", ctx_r1.circle.cy)(\"width\", ctx_r1.circle.radius * 2)(\"height\", ctx_r1.circle.height)(\"fill\", ctx_r1.gradientFill);\n} }\nconst _c10 = function (a0) { return { name: a0 }; };\nfunction CircleSeriesComponent__svg_g_0_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"defs\");\n ɵngcc0.ɵɵelement(2, \"g\", 1);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(3, CircleSeriesComponent__svg_g_0__svg_rect_3_Template, 1, 6, \"rect\", 2);\n ɵngcc0.ɵɵelementStart(4, \"g\", 3);\n ɵngcc0.ɵɵlistener(\"select\", function CircleSeriesComponent__svg_g_0_Template__svg_g_select_4_listener() { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.onClick(ctx_r2.circle.data)); })(\"activate\", function CircleSeriesComponent__svg_g_0_Template__svg_g_activate_4_listener() { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.activateCircle()); })(\"deactivate\", function CircleSeriesComponent__svg_g_0_Template__svg_g_deactivate_4_listener() { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.deactivateCircle()); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"orientation\", ctx_r0.barOrientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.circle.gradientStops);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r0.barVisible && ctx_r0.type === \"standard\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"active\", ctx_r0.isActive(ɵngcc0.ɵɵpureFunction1(19, _c10, ctx_r0.circle.seriesName)));\n ɵngcc0.ɵɵproperty(\"cx\", ctx_r0.circle.cx)(\"cy\", ctx_r0.circle.cy)(\"r\", ctx_r0.circle.radius)(\"fill\", ctx_r0.circle.color)(\"pointerEvents\", ctx_r0.circle.value === 0 ? \"none\" : \"all\")(\"data\", ctx_r0.circle.value)(\"classNames\", ctx_r0.circle.classNames)(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipPlacement\", ctx_r0.placementTypes.Top)(\"tooltipType\", ctx_r0.styleTypes.tooltip)(\"tooltipTitle\", ctx_r0.tooltipTemplate ? undefined : ctx_r0.getTooltipText(ctx_r0.circle))(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"tooltipContext\", ctx_r0.circle.data);\n} }\nconst _c11 = [\"ngx-charts-circle\", \"\"];\nconst _c12 = [\"ngx-charts-grid-panel\", \"\"];\nconst _c13 = [\"ngx-charts-grid-panel-series\", \"\"];\nfunction GridPanelSeriesComponent__svg_g_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 1);\n} if (rf & 2) {\n const gridPanel_r1 = ctx.$implicit;\n ɵngcc0.ɵɵclassProp(\"grid-panel\", true)(\"odd\", gridPanel_r1.class === \"odd\")(\"even\", gridPanel_r1.class === \"even\");\n ɵngcc0.ɵɵproperty(\"height\", gridPanel_r1.height)(\"width\", gridPanel_r1.width)(\"x\", gridPanel_r1.x)(\"y\", gridPanel_r1.y);\n} }\nconst _c14 = [\"ngx-charts-svg-linear-gradient\", \"\"];\nfunction SvgLinearGradientComponent__svg_stop_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"stop\");\n} if (rf & 2) {\n const stop_r1 = ctx.$implicit;\n ɵngcc0.ɵɵstyleProp(\"stop-color\", stop_r1.color)(\"stop-opacity\", stop_r1.opacity);\n ɵngcc0.ɵɵattribute(\"offset\", stop_r1.offset + \"%\");\n} }\nconst _c15 = [\"ngx-charts-svg-radial-gradient\", \"\"];\nfunction SvgRadialGradientComponent__svg_stop_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"stop\");\n} if (rf & 2) {\n const stop_r1 = ctx.$implicit;\n ɵngcc0.ɵɵstyleProp(\"stop-color\", stop_r1.color)(\"stop-opacity\", stop_r1.opacity);\n ɵngcc0.ɵɵattribute(\"offset\", stop_r1.offset + \"%\");\n} }\nconst _c16 = [\"ngx-charts-area\", \"\"];\nfunction AreaComponent__svg_defs_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"defs\");\n ɵngcc0.ɵɵelement(1, \"g\", 2);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"orientation\", ctx_r0.barOrientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n} }\nconst _c17 = [\"ngx-charts-count-up\", \"\"];\nconst _c18 = [\"tooltipAnchor\"];\nconst _c19 = [\"ngx-charts-tooltip-area\", \"\"];\nfunction TooltipArea__svg_ng_template_2__xhtml_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 6);\n ɵngcc0.ɵɵelement(1, \"span\", 7);\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tooltipItem_r5 = ctx.$implicit;\n const ctx_r4 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"background-color\", tooltipItem_r5.color);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r4.getToolTipText(tooltipItem_r5), \" \");\n} }\nfunction TooltipArea__svg_ng_template_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵnamespaceHTML();\n ɵngcc0.ɵɵelementStart(0, \"div\", 4);\n ɵngcc0.ɵɵtemplate(1, TooltipArea__svg_ng_template_2__xhtml_div_1_Template, 3, 3, \"div\", 5);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const model_r3 = ctx.model;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", model_r3);\n} }\nconst _c20 = [\"ngx-charts-timeline\", \"\"];\nfunction LegendComponent_header_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"header\", 4)(1, \"span\", 5);\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r0.title);\n} }\nfunction LegendComponent_li_4_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 6)(1, \"ngx-charts-legend-entry\", 7);\n ɵngcc0.ɵɵlistener(\"select\", function LegendComponent_li_4_Template_ngx_charts_legend_entry_select_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.labelClick.emit($event)); })(\"activate\", function LegendComponent_li_4_Template_ngx_charts_legend_entry_activate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.activate($event)); })(\"deactivate\", function LegendComponent_li_4_Template_ngx_charts_legend_entry_deactivate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r6 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r6.deactivate($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const entry_r2 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"label\", entry_r2.label)(\"formattedLabel\", entry_r2.formattedLabel)(\"color\", entry_r2.color)(\"isActive\", ctx_r1.isActive(entry_r2));\n} }\nfunction AdvancedLegendComponent_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 7);\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"countTo\", ctx_r0.roundedTotal)(\"valueFormatting\", ctx_r0.valueFormatting);\n} }\nfunction AdvancedLegendComponent_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 8);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r1.valueFormatting ? ctx_r1.valueFormatting(ctx_r1.roundedTotal) : ctx_r1.defaultValueFormatting(ctx_r1.roundedTotal), \" \");\n} }\nfunction AdvancedLegendComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 16);\n} if (rf & 2) {\n const legendItem_r3 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"countTo\", legendItem_r3._value)(\"valueFormatting\", ctx_r4.valueFormatting);\n} }\nfunction AdvancedLegendComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 17);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const legendItem_r3 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r5 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r5.valueFormatting ? ctx_r5.valueFormatting(legendItem_r3.value) : ctx_r5.defaultValueFormatting(legendItem_r3.value), \" \");\n} }\nfunction AdvancedLegendComponent_div_7_div_6_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 18);\n} if (rf & 2) {\n const legendItem_r3 = ɵngcc0.ɵɵnextContext().$implicit;\n ɵngcc0.ɵɵproperty(\"countTo\", legendItem_r3.percentage)(\"countSuffix\", \"%\");\n} }\nfunction AdvancedLegendComponent_div_7_div_7_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 19);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const legendItem_r3 = ɵngcc0.ɵɵnextContext().$implicit;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\"\", legendItem_r3.percentage.toLocaleString(), \"%\");\n} }\nfunction AdvancedLegendComponent_div_7_Template(rf, ctx) { if (rf & 1) {\n const _r13 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 9);\n ɵngcc0.ɵɵlistener(\"mouseenter\", function AdvancedLegendComponent_div_7_Template_div_mouseenter_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r13); const legendItem_r3 = restoredCtx.$implicit; const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r12.activate.emit(legendItem_r3.data)); })(\"mouseleave\", function AdvancedLegendComponent_div_7_Template_div_mouseleave_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r13); const legendItem_r3 = restoredCtx.$implicit; const ctx_r14 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r14.deactivate.emit(legendItem_r3.data)); })(\"click\", function AdvancedLegendComponent_div_7_Template_div_click_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r13); const legendItem_r3 = restoredCtx.$implicit; const ctx_r15 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r15.select.emit(legendItem_r3.data)); });\n ɵngcc0.ɵɵelement(1, \"div\", 10);\n ɵngcc0.ɵɵtemplate(2, AdvancedLegendComponent_div_7_div_2_Template, 1, 2, \"div\", 11);\n ɵngcc0.ɵɵtemplate(3, AdvancedLegendComponent_div_7_div_3_Template, 2, 1, \"div\", 12);\n ɵngcc0.ɵɵelementStart(4, \"div\", 13);\n ɵngcc0.ɵɵtext(5);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(6, AdvancedLegendComponent_div_7_div_6_Template, 1, 2, \"div\", 14);\n ɵngcc0.ɵɵtemplate(7, AdvancedLegendComponent_div_7_div_7_Template, 2, 1, \"div\", 15);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const legendItem_r3 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"border-left-color\", legendItem_r3.color);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r2.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r2.animations);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(legendItem_r3.displayLabel);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r2.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r2.animations);\n} }\nconst _c21 = [\"tooltipTemplate\"];\nconst _c22 = [\"seriesTooltipTemplate\"];\nfunction AreaChartComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function AreaChartComponent__svg_g_5_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showGridLines\", ctx_r0.showGridLines)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction AreaChartComponent__svg_g_6_Template(rf, ctx) { if (rf & 1) {\n const _r8 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 8);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function AreaChartComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r8); const ctx_r7 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r7.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n} }\nfunction AreaChartComponent__svg_g_8_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵelement(1, \"g\", 9);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r9 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r2.xScale)(\"yScale\", ctx_r2.yScale)(\"baseValue\", ctx_r2.baseValue)(\"colors\", ctx_r2.colors)(\"data\", series_r9)(\"activeEntries\", ctx_r2.activeEntries)(\"scaleType\", ctx_r2.scaleType)(\"gradient\", ctx_r2.gradient)(\"curve\", ctx_r2.curve)(\"animations\", ctx_r2.animations);\n} }\nfunction AreaChartComponent__svg_g_9__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r13 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 13);\n ɵngcc0.ɵɵlistener(\"select\", function AreaChartComponent__svg_g_9__svg_g_2_Template__svg_g_select_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r13); const series_r11 = restoredCtx.$implicit; const ctx_r12 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r12.onClick($event, series_r11)); })(\"activate\", function AreaChartComponent__svg_g_9__svg_g_2_Template__svg_g_activate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r14 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r14.onActivate($event)); })(\"deactivate\", function AreaChartComponent__svg_g_9__svg_g_2_Template__svg_g_deactivate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r15 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r15.onDeactivate($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const series_r11 = ctx.$implicit;\n const ctx_r10 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r10.xScale)(\"yScale\", ctx_r10.yScale)(\"colors\", ctx_r10.colors)(\"activeEntries\", ctx_r10.activeEntries)(\"data\", series_r11)(\"scaleType\", ctx_r10.scaleType)(\"visibleValue\", ctx_r10.hoveredVertical)(\"tooltipDisabled\", ctx_r10.tooltipDisabled)(\"tooltipTemplate\", ctx_r10.tooltipTemplate);\n} }\nfunction AreaChartComponent__svg_g_9_Template(rf, ctx) { if (rf & 1) {\n const _r17 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 10);\n ɵngcc0.ɵɵlistener(\"mouseleave\", function AreaChartComponent__svg_g_9_Template__svg_g_mouseleave_0_listener() { ɵngcc0.ɵɵrestoreView(_r17); const ctx_r16 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r16.hideCircles()); });\n ɵngcc0.ɵɵelementStart(1, \"g\", 11);\n ɵngcc0.ɵɵlistener(\"hover\", function AreaChartComponent__svg_g_9_Template__svg_g_hover_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r17); const ctx_r18 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r18.updateHoveredVertical($event)); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(2, AreaChartComponent__svg_g_9__svg_g_2_Template, 2, 9, \"g\", 12);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"dims\", ctx_r3.dims)(\"xSet\", ctx_r3.xSet)(\"xScale\", ctx_r3.xScale)(\"yScale\", ctx_r3.yScale)(\"results\", ctx_r3.results)(\"colors\", ctx_r3.colors)(\"tooltipDisabled\", ctx_r3.tooltipDisabled)(\"tooltipTemplate\", ctx_r3.seriesTooltipTemplate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r3.results);\n} }\nfunction AreaChartComponent__svg_g_10__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵelement(1, \"g\", 15);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r20 = ctx.$implicit;\n const ctx_r19 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r19.timelineXScale)(\"yScale\", ctx_r19.timelineYScale)(\"baseValue\", ctx_r19.baseValue)(\"colors\", ctx_r19.colors)(\"data\", series_r20)(\"scaleType\", ctx_r19.scaleType)(\"gradient\", ctx_r19.gradient)(\"curve\", ctx_r19.curve)(\"animations\", ctx_r19.animations);\n} }\nconst _c23 = function (a0, a1) { return [a0, a1]; };\nfunction AreaChartComponent__svg_g_10_Template(rf, ctx) { if (rf & 1) {\n const _r22 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 14);\n ɵngcc0.ɵɵlistener(\"onDomainChange\", function AreaChartComponent__svg_g_10_Template__svg_g_onDomainChange_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r22); const ctx_r21 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r21.updateDomain($event)); });\n ɵngcc0.ɵɵtemplate(1, AreaChartComponent__svg_g_10__svg_g_1_Template, 2, 9, \"g\", 4);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"results\", ctx_r4.results)(\"view\", ɵngcc0.ɵɵpureFunction2(10, _c23, ctx_r4.timelineWidth, ctx_r4.height))(\"height\", ctx_r4.timelineHeight)(\"scheme\", ctx_r4.scheme)(\"customColors\", ctx_r4.customColors)(\"legend\", ctx_r4.legend)(\"scaleType\", ctx_r4.scaleType);\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r4.timelineTransform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r4.results)(\"ngForTrackBy\", ctx_r4.trackBy);\n} }\nfunction AreaChartNormalizedComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function AreaChartNormalizedComponent__svg_g_5_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showGridLines\", ctx_r0.showGridLines)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction AreaChartNormalizedComponent__svg_g_6_Template(rf, ctx) { if (rf & 1) {\n const _r8 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 8);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function AreaChartNormalizedComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r8); const ctx_r7 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r7.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n} }\nfunction AreaChartNormalizedComponent__svg_g_8_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵelement(1, \"g\", 9);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r9 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r2.xScale)(\"yScale\", ctx_r2.yScale)(\"colors\", ctx_r2.colors)(\"data\", series_r9)(\"scaleType\", ctx_r2.scaleType)(\"activeEntries\", ctx_r2.activeEntries)(\"gradient\", ctx_r2.gradient)(\"normalized\", true)(\"curve\", ctx_r2.curve)(\"animations\", ctx_r2.animations);\n} }\nfunction AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r13 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 13);\n ɵngcc0.ɵɵlistener(\"select\", function AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template__svg_g_select_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r13); const series_r11 = restoredCtx.$implicit; const ctx_r12 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r12.onClick($event, series_r11)); })(\"activate\", function AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template__svg_g_activate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r14 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r14.onActivate($event)); })(\"deactivate\", function AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template__svg_g_deactivate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r15 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r15.onDeactivate($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const series_r11 = ctx.$implicit;\n const ctx_r10 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"type\", ctx_r10.seriesType.Stacked)(\"xScale\", ctx_r10.xScale)(\"yScale\", ctx_r10.yScale)(\"colors\", ctx_r10.colors)(\"activeEntries\", ctx_r10.activeEntries)(\"data\", series_r11)(\"scaleType\", ctx_r10.scaleType)(\"visibleValue\", ctx_r10.hoveredVertical)(\"tooltipDisabled\", ctx_r10.tooltipDisabled)(\"tooltipTemplate\", ctx_r10.tooltipTemplate);\n} }\nfunction AreaChartNormalizedComponent__svg_g_9_Template(rf, ctx) { if (rf & 1) {\n const _r17 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 10);\n ɵngcc0.ɵɵlistener(\"mouseleave\", function AreaChartNormalizedComponent__svg_g_9_Template__svg_g_mouseleave_0_listener() { ɵngcc0.ɵɵrestoreView(_r17); const ctx_r16 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r16.hideCircles()); });\n ɵngcc0.ɵɵelementStart(1, \"g\", 11);\n ɵngcc0.ɵɵlistener(\"hover\", function AreaChartNormalizedComponent__svg_g_9_Template__svg_g_hover_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r17); const ctx_r18 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r18.updateHoveredVertical($event)); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(2, AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template, 2, 10, \"g\", 12);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"dims\", ctx_r3.dims)(\"xSet\", ctx_r3.xSet)(\"xScale\", ctx_r3.xScale)(\"yScale\", ctx_r3.yScale)(\"results\", ctx_r3.results)(\"colors\", ctx_r3.colors)(\"showPercentage\", true)(\"tooltipDisabled\", ctx_r3.tooltipDisabled)(\"tooltipTemplate\", ctx_r3.seriesTooltipTemplate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r3.results);\n} }\nfunction AreaChartNormalizedComponent__svg_g_10__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵelement(1, \"g\", 15);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r20 = ctx.$implicit;\n const ctx_r19 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r19.timelineXScale)(\"yScale\", ctx_r19.timelineYScale)(\"colors\", ctx_r19.colors)(\"data\", series_r20)(\"scaleType\", ctx_r19.scaleType)(\"gradient\", ctx_r19.gradient)(\"normalized\", true)(\"curve\", ctx_r19.curve)(\"animations\", ctx_r19.animations);\n} }\nfunction AreaChartNormalizedComponent__svg_g_10_Template(rf, ctx) { if (rf & 1) {\n const _r22 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 14);\n ɵngcc0.ɵɵlistener(\"onDomainChange\", function AreaChartNormalizedComponent__svg_g_10_Template__svg_g_onDomainChange_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r22); const ctx_r21 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r21.updateDomain($event)); });\n ɵngcc0.ɵɵtemplate(1, AreaChartNormalizedComponent__svg_g_10__svg_g_1_Template, 2, 9, \"g\", 4);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"results\", ctx_r4.results)(\"view\", ɵngcc0.ɵɵpureFunction2(10, _c23, ctx_r4.timelineWidth, ctx_r4.height))(\"height\", ctx_r4.timelineHeight)(\"scheme\", ctx_r4.scheme)(\"customColors\", ctx_r4.customColors)(\"legend\", ctx_r4.legend)(\"scaleType\", ctx_r4.scaleType);\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r4.timelineTransform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r4.results)(\"ngForTrackBy\", ctx_r4.trackBy);\n} }\nconst _c24 = \".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\";\nfunction AreaChartStackedComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function AreaChartStackedComponent__svg_g_5_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showGridLines\", ctx_r0.showGridLines)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction AreaChartStackedComponent__svg_g_6_Template(rf, ctx) { if (rf & 1) {\n const _r8 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 8);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function AreaChartStackedComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r8); const ctx_r7 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r7.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n} }\nfunction AreaChartStackedComponent__svg_g_8_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵelement(1, \"g\", 9);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r9 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r2.xScale)(\"yScale\", ctx_r2.yScale)(\"colors\", ctx_r2.colors)(\"data\", series_r9)(\"scaleType\", ctx_r2.scaleType)(\"gradient\", ctx_r2.gradient)(\"activeEntries\", ctx_r2.activeEntries)(\"stacked\", true)(\"curve\", ctx_r2.curve)(\"animations\", ctx_r2.animations);\n} }\nfunction AreaChartStackedComponent__svg_g_9__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r13 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 12);\n ɵngcc0.ɵɵlistener(\"select\", function AreaChartStackedComponent__svg_g_9__svg_g_2_Template__svg_g_select_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r13); const series_r11 = restoredCtx.$implicit; const ctx_r12 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r12.onClick($event, series_r11)); })(\"activate\", function AreaChartStackedComponent__svg_g_9__svg_g_2_Template__svg_g_activate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r14 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r14.onActivate($event)); })(\"deactivate\", function AreaChartStackedComponent__svg_g_9__svg_g_2_Template__svg_g_deactivate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r15 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r15.onDeactivate($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const series_r11 = ctx.$implicit;\n const ctx_r10 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"type\", ctx_r10.seriesType.Stacked)(\"xScale\", ctx_r10.xScale)(\"yScale\", ctx_r10.yScale)(\"colors\", ctx_r10.colors)(\"activeEntries\", ctx_r10.activeEntries)(\"data\", series_r11)(\"scaleType\", ctx_r10.scaleType)(\"visibleValue\", ctx_r10.hoveredVertical)(\"tooltipDisabled\", ctx_r10.tooltipDisabled)(\"tooltipTemplate\", ctx_r10.tooltipTemplate);\n} }\nfunction AreaChartStackedComponent__svg_g_9_Template(rf, ctx) { if (rf & 1) {\n const _r17 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 10);\n ɵngcc0.ɵɵlistener(\"mouseleave\", function AreaChartStackedComponent__svg_g_9_Template__svg_g_mouseleave_0_listener() { ɵngcc0.ɵɵrestoreView(_r17); const ctx_r16 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r16.hideCircles()); });\n ɵngcc0.ɵɵelementStart(1, \"g\", 11);\n ɵngcc0.ɵɵlistener(\"hover\", function AreaChartStackedComponent__svg_g_9_Template__svg_g_hover_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r17); const ctx_r18 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r18.updateHoveredVertical($event)); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(2, AreaChartStackedComponent__svg_g_9__svg_g_2_Template, 2, 10, \"g\", 4);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"dims\", ctx_r3.dims)(\"xSet\", ctx_r3.xSet)(\"xScale\", ctx_r3.xScale)(\"yScale\", ctx_r3.yScale)(\"results\", ctx_r3.results)(\"colors\", ctx_r3.colors)(\"tooltipDisabled\", ctx_r3.tooltipDisabled)(\"tooltipTemplate\", ctx_r3.seriesTooltipTemplate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r3.results)(\"ngForTrackBy\", ctx_r3.trackBy);\n} }\nfunction AreaChartStackedComponent__svg_g_10__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵelement(1, \"g\", 14);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r20 = ctx.$implicit;\n const ctx_r19 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r19.timelineXScale)(\"yScale\", ctx_r19.timelineYScale)(\"colors\", ctx_r19.colors)(\"data\", series_r20)(\"scaleType\", ctx_r19.scaleType)(\"gradient\", ctx_r19.gradient)(\"stacked\", true)(\"curve\", ctx_r19.curve)(\"animations\", ctx_r19.animations);\n} }\nfunction AreaChartStackedComponent__svg_g_10_Template(rf, ctx) { if (rf & 1) {\n const _r22 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 13);\n ɵngcc0.ɵɵlistener(\"onDomainChange\", function AreaChartStackedComponent__svg_g_10_Template__svg_g_onDomainChange_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r22); const ctx_r21 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r21.updateDomain($event)); });\n ɵngcc0.ɵɵtemplate(1, AreaChartStackedComponent__svg_g_10__svg_g_1_Template, 2, 9, \"g\", 4);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"results\", ctx_r4.results)(\"view\", ɵngcc0.ɵɵpureFunction2(10, _c23, ctx_r4.timelineWidth, ctx_r4.height))(\"height\", ctx_r4.timelineHeight)(\"scheme\", ctx_r4.scheme)(\"customColors\", ctx_r4.customColors)(\"legend\", ctx_r4.legend)(\"scaleType\", ctx_r4.scaleType);\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r4.timelineTransform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r4.results)(\"ngForTrackBy\", ctx_r4.trackBy);\n} }\nconst _c25 = [\"ngx-charts-area-series\", \"\"];\nconst _c26 = [\"ngx-charts-bar\", \"\"];\nfunction BarComponent__svg_defs_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"defs\");\n ɵngcc0.ɵɵelement(1, \"g\", 2);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"orientation\", ctx_r0.orientation)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n} }\nfunction BarHorizontalComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 5);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showGridLines\", ctx_r0.showGridLines)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction BarHorizontalComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n const _r5 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 6);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks)(\"yAxisOffset\", ctx_r1.dataLabelMaxWidth.negative);\n} }\nfunction BarHorizontal2DComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 6);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontal2DComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.valueScale)(\"dims\", ctx_r0.dims)(\"showGridLines\", ctx_r0.showGridLines)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction BarHorizontal2DComponent__svg_g_4_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontal2DComponent__svg_g_4_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.groupScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks)(\"yAxisOffset\", ctx_r1.dataLabelMaxWidth.negative);\n} }\nfunction BarHorizontal2DComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n const _r10 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 8);\n ɵngcc0.ɵɵlistener(\"select\", function BarHorizontal2DComponent__svg_g_5_Template__svg_g_select_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r9 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r9.onClick($event, group_r7)); })(\"activate\", function BarHorizontal2DComponent__svg_g_5_Template__svg_g_activate_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r11 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r11.onActivate($event, group_r7)); })(\"deactivate\", function BarHorizontal2DComponent__svg_g_5_Template__svg_g_deactivate_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r12.onDeactivate($event, group_r7)); })(\"dataLabelWidthChanged\", function BarHorizontal2DComponent__svg_g_5_Template__svg_g_dataLabelWidthChanged_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const index_r8 = restoredCtx.index; const ctx_r13 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r13.onDataLabelMaxWidthChanged($event, index_r8)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const group_r7 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\");\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r2.groupTransform(group_r7));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r2.valueScale)(\"activeEntries\", ctx_r2.activeEntries)(\"yScale\", ctx_r2.innerScale)(\"colors\", ctx_r2.colors)(\"series\", group_r7.series)(\"dims\", ctx_r2.dims)(\"gradient\", ctx_r2.gradient)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"seriesName\", group_r7.name)(\"roundEdges\", ctx_r2.roundEdges)(\"animations\", ctx_r2.animations)(\"showDataLabel\", ctx_r2.showDataLabel)(\"dataLabelFormatting\", ctx_r2.dataLabelFormatting)(\"noBarWhenZero\", ctx_r2.noBarWhenZero);\n} }\nfunction BarHorizontalNormalizedComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 5);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalNormalizedComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showGridLines\", ctx_r0.showGridLines)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction BarHorizontalNormalizedComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 6);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalNormalizedComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n} }\nfunction BarHorizontalNormalizedComponent__svg_g_4_Template(rf, ctx) { if (rf & 1) {\n const _r9 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"select\", function BarHorizontalNormalizedComponent__svg_g_4_Template__svg_g_select_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9); const group_r7 = restoredCtx.$implicit; const ctx_r8 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r8.onClick($event, group_r7)); })(\"activate\", function BarHorizontalNormalizedComponent__svg_g_4_Template__svg_g_activate_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9); const group_r7 = restoredCtx.$implicit; const ctx_r10 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r10.onActivate($event, group_r7)); })(\"deactivate\", function BarHorizontalNormalizedComponent__svg_g_4_Template__svg_g_deactivate_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9); const group_r7 = restoredCtx.$implicit; const ctx_r11 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r11.onDeactivate($event, group_r7)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const group_r7 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\");\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r2.groupTransform(group_r7));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"type\", ctx_r2.barChartType.Normalized)(\"xScale\", ctx_r2.xScale)(\"yScale\", ctx_r2.yScale)(\"activeEntries\", ctx_r2.activeEntries)(\"colors\", ctx_r2.colors)(\"series\", group_r7.series)(\"dims\", ctx_r2.dims)(\"gradient\", ctx_r2.gradient)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"seriesName\", group_r7.name)(\"animations\", ctx_r2.animations)(\"noBarWhenZero\", ctx_r2.noBarWhenZero);\n} }\nfunction BarHorizontalStackedComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 5);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalStackedComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showGridLines\", ctx_r0.showGridLines)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction BarHorizontalStackedComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 6);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalStackedComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks)(\"yAxisOffset\", ctx_r1.dataLabelMaxWidth.negative);\n} }\nfunction BarHorizontalStackedComponent__svg_g_4_Template(rf, ctx) { if (rf & 1) {\n const _r10 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"select\", function BarHorizontalStackedComponent__svg_g_4_Template__svg_g_select_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r9 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r9.onClick($event, group_r7)); })(\"activate\", function BarHorizontalStackedComponent__svg_g_4_Template__svg_g_activate_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r11 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r11.onActivate($event, group_r7)); })(\"deactivate\", function BarHorizontalStackedComponent__svg_g_4_Template__svg_g_deactivate_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r12.onDeactivate($event, group_r7)); })(\"dataLabelWidthChanged\", function BarHorizontalStackedComponent__svg_g_4_Template__svg_g_dataLabelWidthChanged_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const index_r8 = restoredCtx.index; const ctx_r13 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r13.onDataLabelMaxWidthChanged($event, index_r8)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const group_r7 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\");\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r2.groupTransform(group_r7));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"type\", ctx_r2.barChartType.Stacked)(\"xScale\", ctx_r2.xScale)(\"yScale\", ctx_r2.yScale)(\"colors\", ctx_r2.colors)(\"series\", group_r7.series)(\"activeEntries\", ctx_r2.activeEntries)(\"dims\", ctx_r2.dims)(\"gradient\", ctx_r2.gradient)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"seriesName\", group_r7.name)(\"animations\", ctx_r2.animations)(\"showDataLabel\", ctx_r2.showDataLabel)(\"dataLabelFormatting\", ctx_r2.dataLabelFormatting)(\"noBarWhenZero\", ctx_r2.noBarWhenZero);\n} }\nfunction BarVerticalComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 5);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showGridLines\", ctx_r0.showGridLines)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks)(\"xAxisOffset\", ctx_r0.dataLabelMaxHeight.negative);\n} }\nfunction BarVerticalComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n const _r5 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 6);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n} }\nfunction BarVertical2DComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 6);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarVertical2DComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.groupScale)(\"dims\", ctx_r0.dims)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks)(\"xAxisOffset\", ctx_r0.dataLabelMaxHeight.negative);\n} }\nfunction BarVertical2DComponent__svg_g_4_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarVertical2DComponent__svg_g_4_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.valueScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n} }\nfunction BarVertical2DComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n const _r10 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 8);\n ɵngcc0.ɵɵlistener(\"select\", function BarVertical2DComponent__svg_g_5_Template__svg_g_select_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r9 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r9.onClick($event, group_r7)); })(\"activate\", function BarVertical2DComponent__svg_g_5_Template__svg_g_activate_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r11 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r11.onActivate($event, group_r7)); })(\"deactivate\", function BarVertical2DComponent__svg_g_5_Template__svg_g_deactivate_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r12.onDeactivate($event, group_r7)); })(\"dataLabelHeightChanged\", function BarVertical2DComponent__svg_g_5_Template__svg_g_dataLabelHeightChanged_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const index_r8 = restoredCtx.index; const ctx_r13 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r13.onDataLabelMaxHeightChanged($event, index_r8)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const group_r7 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\")(\"activeEntries\", ctx_r2.activeEntries)(\"xScale\", ctx_r2.innerScale)(\"yScale\", ctx_r2.valueScale)(\"colors\", ctx_r2.colors)(\"series\", group_r7.series)(\"dims\", ctx_r2.dims)(\"gradient\", ctx_r2.gradient)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"showDataLabel\", ctx_r2.showDataLabel)(\"dataLabelFormatting\", ctx_r2.dataLabelFormatting)(\"seriesName\", group_r7.name)(\"roundEdges\", ctx_r2.roundEdges)(\"animations\", ctx_r2.animations)(\"noBarWhenZero\", ctx_r2.noBarWhenZero);\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r2.groupTransform(group_r7));\n} }\nfunction BarVerticalNormalizedComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 5);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalNormalizedComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction BarVerticalNormalizedComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 6);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalNormalizedComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n} }\nfunction BarVerticalNormalizedComponent__svg_g_4_Template(rf, ctx) { if (rf & 1) {\n const _r9 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"select\", function BarVerticalNormalizedComponent__svg_g_4_Template__svg_g_select_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9); const group_r7 = restoredCtx.$implicit; const ctx_r8 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r8.onClick($event, group_r7)); })(\"activate\", function BarVerticalNormalizedComponent__svg_g_4_Template__svg_g_activate_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9); const group_r7 = restoredCtx.$implicit; const ctx_r10 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r10.onActivate($event, group_r7)); })(\"deactivate\", function BarVerticalNormalizedComponent__svg_g_4_Template__svg_g_deactivate_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9); const group_r7 = restoredCtx.$implicit; const ctx_r11 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r11.onDeactivate($event, group_r7)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const group_r7 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\");\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r2.groupTransform(group_r7));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"type\", ctx_r2.barChartType.Normalized)(\"xScale\", ctx_r2.xScale)(\"yScale\", ctx_r2.yScale)(\"activeEntries\", ctx_r2.activeEntries)(\"colors\", ctx_r2.colors)(\"series\", group_r7.series)(\"dims\", ctx_r2.dims)(\"gradient\", ctx_r2.gradient)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"seriesName\", group_r7.name)(\"animations\", ctx_r2.animations)(\"noBarWhenZero\", ctx_r2.noBarWhenZero);\n} }\nfunction BarVerticalStackedComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 5);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalStackedComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks)(\"xAxisOffset\", ctx_r0.dataLabelMaxHeight.negative);\n} }\nfunction BarVerticalStackedComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 6);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalStackedComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n} }\nfunction BarVerticalStackedComponent__svg_g_4_Template(rf, ctx) { if (rf & 1) {\n const _r10 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"select\", function BarVerticalStackedComponent__svg_g_4_Template__svg_g_select_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r9 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r9.onClick($event, group_r7)); })(\"activate\", function BarVerticalStackedComponent__svg_g_4_Template__svg_g_activate_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r11 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r11.onActivate($event, group_r7)); })(\"deactivate\", function BarVerticalStackedComponent__svg_g_4_Template__svg_g_deactivate_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const group_r7 = restoredCtx.$implicit; const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r12.onDeactivate($event, group_r7)); })(\"dataLabelHeightChanged\", function BarVerticalStackedComponent__svg_g_4_Template__svg_g_dataLabelHeightChanged_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const index_r8 = restoredCtx.index; const ctx_r13 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r13.onDataLabelMaxHeightChanged($event, index_r8)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const group_r7 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\");\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r2.groupTransform(group_r7));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"type\", ctx_r2.barChartType.Stacked)(\"xScale\", ctx_r2.xScale)(\"yScale\", ctx_r2.yScale)(\"activeEntries\", ctx_r2.activeEntries)(\"colors\", ctx_r2.colors)(\"series\", group_r7.series)(\"dims\", ctx_r2.dims)(\"gradient\", ctx_r2.gradient)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"showDataLabel\", ctx_r2.showDataLabel)(\"dataLabelFormatting\", ctx_r2.dataLabelFormatting)(\"seriesName\", group_r7.name)(\"animations\", ctx_r2.animations)(\"noBarWhenZero\", ctx_r2.noBarWhenZero);\n} }\nconst _c27 = [\"ngx-charts-series-horizontal\", \"\"];\nfunction SeriesHorizontal__svg_g_0_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 2);\n ɵngcc0.ɵɵlistener(\"select\", function SeriesHorizontal__svg_g_0_Template__svg_g_select_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.click($event)); })(\"activate\", function SeriesHorizontal__svg_g_0_Template__svg_g_activate_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.activate.emit($event)); })(\"deactivate\", function SeriesHorizontal__svg_g_0_Template__svg_g_deactivate_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r6 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r6.deactivate.emit($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const bar_r2 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\")(\"width\", bar_r2.width)(\"height\", bar_r2.height)(\"x\", bar_r2.x)(\"y\", bar_r2.y)(\"fill\", bar_r2.color)(\"stops\", bar_r2.gradientStops)(\"data\", bar_r2.data)(\"orientation\", ctx_r0.barOrientation.Horizontal)(\"roundEdges\", bar_r2.roundEdges)(\"gradient\", ctx_r0.gradient)(\"isActive\", ctx_r0.isActive(bar_r2.data))(\"ariaLabel\", bar_r2.ariaLabel)(\"animations\", ctx_r0.animations)(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipPlacement\", ctx_r0.tooltipPlacement)(\"tooltipType\", ctx_r0.tooltipType)(\"tooltipTitle\", ctx_r0.tooltipTemplate ? undefined : bar_r2.tooltipText)(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"tooltipContext\", bar_r2.data)(\"noBarWhenZero\", ctx_r0.noBarWhenZero);\n} }\nfunction SeriesHorizontal__svg_g_1__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n const _r11 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 4);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function SeriesHorizontal__svg_g_1__svg_g_1_Template__svg_g_dimensionsChanged_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r11); const i_r9 = restoredCtx.index; const ctx_r10 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r10.dataLabelWidthChanged.emit({ size: $event, index: i_r9 })); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const b_r8 = ctx.$implicit;\n const ctx_r7 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵproperty(\"barX\", b_r8.x)(\"barY\", b_r8.y)(\"barWidth\", b_r8.width)(\"barHeight\", b_r8.height)(\"value\", b_r8.total)(\"valueFormatting\", ctx_r7.dataLabelFormatting)(\"orientation\", ctx_r7.barOrientation.Horizontal);\n} }\nfunction SeriesHorizontal__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, SeriesHorizontal__svg_g_1__svg_g_1_Template, 1, 7, \"g\", 3);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r1.barsForDataLabels)(\"ngForTrackBy\", ctx_r1.trackDataLabelBy);\n} }\nconst _c28 = [\"ngx-charts-series-vertical\", \"\"];\nfunction SeriesVerticalComponent__svg_g_0_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 2);\n ɵngcc0.ɵɵlistener(\"select\", function SeriesVerticalComponent__svg_g_0_Template__svg_g_select_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.onClick($event)); })(\"activate\", function SeriesVerticalComponent__svg_g_0_Template__svg_g_activate_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.activate.emit($event)); })(\"deactivate\", function SeriesVerticalComponent__svg_g_0_Template__svg_g_deactivate_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r6 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r6.deactivate.emit($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const bar_r2 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\")(\"@.disabled\", !ctx_r0.animations)(\"width\", bar_r2.width)(\"height\", bar_r2.height)(\"x\", bar_r2.x)(\"y\", bar_r2.y)(\"fill\", bar_r2.color)(\"stops\", bar_r2.gradientStops)(\"data\", bar_r2.data)(\"orientation\", ctx_r0.barOrientation.Vertical)(\"roundEdges\", bar_r2.roundEdges)(\"gradient\", ctx_r0.gradient)(\"ariaLabel\", bar_r2.ariaLabel)(\"isActive\", ctx_r0.isActive(bar_r2.data))(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipPlacement\", ctx_r0.tooltipPlacement)(\"tooltipType\", ctx_r0.tooltipType)(\"tooltipTitle\", ctx_r0.tooltipTemplate ? undefined : bar_r2.tooltipText)(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"tooltipContext\", bar_r2.data)(\"noBarWhenZero\", ctx_r0.noBarWhenZero)(\"animations\", ctx_r0.animations);\n} }\nfunction SeriesVerticalComponent__svg_g_1__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n const _r11 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 4);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function SeriesVerticalComponent__svg_g_1__svg_g_1_Template__svg_g_dimensionsChanged_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r11); const i_r9 = restoredCtx.index; const ctx_r10 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r10.dataLabelHeightChanged.emit({ size: $event, index: i_r9 })); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const b_r8 = ctx.$implicit;\n const ctx_r7 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵproperty(\"barX\", b_r8.x)(\"barY\", b_r8.y)(\"barWidth\", b_r8.width)(\"barHeight\", b_r8.height)(\"value\", b_r8.total)(\"valueFormatting\", ctx_r7.dataLabelFormatting)(\"orientation\", ctx_r7.barOrientation.Vertical);\n} }\nfunction SeriesVerticalComponent__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, SeriesVerticalComponent__svg_g_1__svg_g_1_Template, 1, 7, \"g\", 3);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r1.barsForDataLabels)(\"ngForTrackBy\", ctx_r1.trackDataLabelBy);\n} }\nconst _c29 = [\"ngx-charts-bar-label\", \"\"];\nfunction BoxChartComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 5);\n ɵngcc0.ɵɵlistener(\"activate\", function BoxChartComponent__svg_g_5_Template__svg_g_activate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.onActivate($event)); })(\"deactivate\", function BoxChartComponent__svg_g_5_Template__svg_g_deactivate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.onDeactivate($event)); })(\"select\", function BoxChartComponent__svg_g_5_Template__svg_g_select_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.onClick($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const result_r1 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"yScale\", ctx_r0.yScale)(\"colors\", ctx_r0.colors)(\"roundEdges\", ctx_r0.roundEdges)(\"strokeColor\", ctx_r0.strokeColor)(\"strokeWidth\", ctx_r0.strokeWidth)(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"series\", result_r1)(\"dims\", ctx_r0.dims)(\"animations\", ctx_r0.animations)(\"gradient\", ctx_r0.gradient);\n} }\nconst _c30 = [\"ngx-charts-box-series\", \"\"];\nconst _c31 = [\"ngx-charts-box\", \"\"];\nfunction BoxComponent__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 5);\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"orientation\", ctx_r0.BarOrientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n} }\nfunction BoxComponent__svg_line_8_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"line\", 6);\n} if (rf & 2) {\n const line_r2 = ctx.$implicit;\n const i_r3 = ctx.index;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"hidden\", ctx_r1.hideBar);\n ɵngcc0.ɵɵattribute(\"x1\", line_r2.v1.x)(\"y1\", line_r2.v1.y)(\"x2\", line_r2.v2.x)(\"y2\", line_r2.v2.y)(\"stroke\", ctx_r1.strokeColor)(\"stroke-width\", i_r3 === 2 ? ctx_r1.medianLineWidth : ctx_r1.whiskerStrokeWidth)(\"mask\", i_r3 ? undefined : ctx_r1.maskLine);\n} }\nfunction BubbleChartComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 6);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BubbleChartComponent__svg_g_5_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"showGridLines\", ctx_r0.showGridLines)(\"dims\", ctx_r0.dims)(\"xScale\", ctx_r0.xScale)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction BubbleChartComponent__svg_g_6_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BubbleChartComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"showGridLines\", ctx_r1.showGridLines)(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n} }\nfunction BubbleChartComponent__svg_g_9_Template(rf, ctx) { if (rf & 1) {\n const _r9 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 8);\n ɵngcc0.ɵɵlistener(\"select\", function BubbleChartComponent__svg_g_9_Template__svg_g_select_1_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9); const series_r7 = restoredCtx.$implicit; const ctx_r8 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r8.onClick($event, series_r7)); })(\"activate\", function BubbleChartComponent__svg_g_9_Template__svg_g_activate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r9); const ctx_r10 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r10.onActivate($event)); })(\"deactivate\", function BubbleChartComponent__svg_g_9_Template__svg_g_deactivate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r9); const ctx_r11 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r11.onDeactivate($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const series_r7 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r2.xScale)(\"yScale\", ctx_r2.yScale)(\"rScale\", ctx_r2.rScale)(\"xScaleType\", ctx_r2.xScaleType)(\"yScaleType\", ctx_r2.yScaleType)(\"xAxisLabel\", ctx_r2.xAxisLabel)(\"yAxisLabel\", ctx_r2.yAxisLabel)(\"colors\", ctx_r2.colors)(\"data\", series_r7)(\"activeEntries\", ctx_r2.activeEntries)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipTemplate\", ctx_r2.tooltipTemplate);\n} }\nconst _c32 = [\"ngx-charts-bubble-series\", \"\"];\nfunction BubbleSeriesComponent__svg_g_0_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\")(2, \"g\", 1);\n ɵngcc0.ɵɵlistener(\"select\", function BubbleSeriesComponent__svg_g_0_Template__svg_g_select_2_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r3); const circle_r1 = restoredCtx.$implicit; const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.onClick(circle_r1.data)); })(\"activate\", function BubbleSeriesComponent__svg_g_0_Template__svg_g_activate_2_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r3); const circle_r1 = restoredCtx.$implicit; const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.activateCircle(circle_r1)); })(\"deactivate\", function BubbleSeriesComponent__svg_g_0_Template__svg_g_deactivate_2_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r3); const circle_r1 = restoredCtx.$implicit; const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.deactivateCircle(circle_r1)); });\n ɵngcc0.ɵɵelementEnd()()();\n} if (rf & 2) {\n const circle_r1 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", circle_r1.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"opacity\", circle_r1.opacity);\n ɵngcc0.ɵɵclassProp(\"active\", circle_r1.isActive);\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\")(\"cx\", 0)(\"cy\", 0)(\"r\", circle_r1.radius)(\"fill\", circle_r1.color)(\"pointerEvents\", \"all\")(\"data\", circle_r1.value)(\"classNames\", circle_r1.classNames)(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipPlacement\", ctx_r0.placementTypes.Top)(\"tooltipType\", ctx_r0.styleTypes.tooltip)(\"tooltipTitle\", ctx_r0.tooltipTemplate ? undefined : ctx_r0.getTooltipText(circle_r1))(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"tooltipContext\", circle_r1.data);\n} }\nconst _c33 = [\"ngx-charts-heat-map-cell\", \"\"];\nfunction HeatMapCellComponent__svg_defs_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"defs\");\n ɵngcc0.ɵɵelement(1, \"g\", 3);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"orientation\", ctx_r0.barOrientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n} }\nconst _c34 = [\"ngx-charts-heat-map-cell-series\", \"\"];\nconst _c35 = function (a0, a1, a2) { return { series: a0, name: a1, value: a2 }; };\nfunction HeatCellSeriesComponent__svg_g_0_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 1);\n ɵngcc0.ɵɵlistener(\"select\", function HeatCellSeriesComponent__svg_g_0_Template__svg_g_select_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r3); const c_r1 = restoredCtx.$implicit; const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.onClick(c_r1.cell)); })(\"activate\", function HeatCellSeriesComponent__svg_g_0_Template__svg_g_activate_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r3); const c_r1 = restoredCtx.$implicit; const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.activate.emit(c_r1.cell)); })(\"deactivate\", function HeatCellSeriesComponent__svg_g_0_Template__svg_g_deactivate_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r3); const c_r1 = restoredCtx.$implicit; const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.deactivate.emit(c_r1.cell)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const c_r1 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"x\", c_r1.x)(\"y\", c_r1.y)(\"width\", c_r1.width)(\"height\", c_r1.height)(\"fill\", c_r1.fill)(\"data\", c_r1.data)(\"gradient\", ctx_r0.gradient)(\"animations\", ctx_r0.animations)(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipPlacement\", ctx_r0.placementTypes.Top)(\"tooltipType\", ctx_r0.styleTypes.tooltip)(\"tooltipTitle\", ctx_r0.tooltipTemplate ? undefined : ctx_r0.tooltipText(c_r1))(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"tooltipContext\", ɵngcc0.ɵɵpureFunction3(14, _c35, c_r1.series, c_r1.label, c_r1.data));\n} }\nfunction HeatMapComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 6);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function HeatMapComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r4); const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction HeatMapComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function HeatMapComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n} }\nfunction HeatMapComponent__svg_rect_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"rect\");\n} if (rf & 2) {\n const rect_r7 = ctx.$implicit;\n ɵngcc0.ɵɵattribute(\"x\", rect_r7.x)(\"y\", rect_r7.y)(\"rx\", rect_r7.rx)(\"width\", rect_r7.width)(\"height\", rect_r7.height)(\"fill\", rect_r7.fill);\n} }\nconst _c36 = [\"ngx-charts-line\", \"\"];\nfunction LineChartComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 7);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function LineChartComponent__svg_g_5_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.updateXAxisHeight($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r0.xScale)(\"dims\", ctx_r0.dims)(\"showGridLines\", ctx_r0.showGridLines)(\"showLabel\", ctx_r0.showXAxisLabel)(\"labelText\", ctx_r0.xAxisLabel)(\"trimTicks\", ctx_r0.trimXAxisTicks)(\"rotateTicks\", ctx_r0.rotateXAxisTicks)(\"maxTickLength\", ctx_r0.maxXAxisTickLength)(\"tickFormatting\", ctx_r0.xAxisTickFormatting)(\"ticks\", ctx_r0.xAxisTicks);\n} }\nfunction LineChartComponent__svg_g_6_Template(rf, ctx) { if (rf & 1) {\n const _r8 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 8);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function LineChartComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r8); const ctx_r7 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r7.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks)(\"referenceLines\", ctx_r1.referenceLines)(\"showRefLines\", ctx_r1.showRefLines)(\"showRefLabels\", ctx_r1.showRefLabels);\n} }\nfunction LineChartComponent__svg_g_8_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵelement(1, \"g\", 9);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r9 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r2.xScale)(\"yScale\", ctx_r2.yScale)(\"colors\", ctx_r2.colors)(\"data\", series_r9)(\"activeEntries\", ctx_r2.activeEntries)(\"scaleType\", ctx_r2.scaleType)(\"curve\", ctx_r2.curve)(\"rangeFillOpacity\", ctx_r2.rangeFillOpacity)(\"hasRange\", ctx_r2.hasRange)(\"animations\", ctx_r2.animations);\n} }\nfunction LineChartComponent__svg_g_9__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r13 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 13);\n ɵngcc0.ɵɵlistener(\"select\", function LineChartComponent__svg_g_9__svg_g_2_Template__svg_g_select_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r12 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r12.onClick($event)); })(\"activate\", function LineChartComponent__svg_g_9__svg_g_2_Template__svg_g_activate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r14 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r14.onActivate($event)); })(\"deactivate\", function LineChartComponent__svg_g_9__svg_g_2_Template__svg_g_deactivate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r15 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r15.onDeactivate($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const series_r11 = ctx.$implicit;\n const ctx_r10 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r10.xScale)(\"yScale\", ctx_r10.yScale)(\"colors\", ctx_r10.colors)(\"data\", series_r11)(\"scaleType\", ctx_r10.scaleType)(\"visibleValue\", ctx_r10.hoveredVertical)(\"activeEntries\", ctx_r10.activeEntries)(\"tooltipDisabled\", ctx_r10.tooltipDisabled)(\"tooltipTemplate\", ctx_r10.tooltipTemplate);\n} }\nfunction LineChartComponent__svg_g_9_Template(rf, ctx) { if (rf & 1) {\n const _r17 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 10);\n ɵngcc0.ɵɵlistener(\"mouseleave\", function LineChartComponent__svg_g_9_Template__svg_g_mouseleave_0_listener() { ɵngcc0.ɵɵrestoreView(_r17); const ctx_r16 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r16.hideCircles()); });\n ɵngcc0.ɵɵelementStart(1, \"g\", 11);\n ɵngcc0.ɵɵlistener(\"hover\", function LineChartComponent__svg_g_9_Template__svg_g_hover_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r17); const ctx_r18 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r18.updateHoveredVertical($event)); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(2, LineChartComponent__svg_g_9__svg_g_2_Template, 2, 9, \"g\", 12);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"dims\", ctx_r3.dims)(\"xSet\", ctx_r3.xSet)(\"xScale\", ctx_r3.xScale)(\"yScale\", ctx_r3.yScale)(\"results\", ctx_r3.results)(\"colors\", ctx_r3.colors)(\"tooltipDisabled\", ctx_r3.tooltipDisabled)(\"tooltipTemplate\", ctx_r3.seriesTooltipTemplate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r3.results);\n} }\nfunction LineChartComponent__svg_g_10__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵelement(1, \"g\", 15);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r20 = ctx.$implicit;\n const ctx_r19 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx_r19.timelineXScale)(\"yScale\", ctx_r19.timelineYScale)(\"colors\", ctx_r19.colors)(\"data\", series_r20)(\"scaleType\", ctx_r19.scaleType)(\"curve\", ctx_r19.curve)(\"hasRange\", ctx_r19.hasRange)(\"animations\", ctx_r19.animations);\n} }\nfunction LineChartComponent__svg_g_10_Template(rf, ctx) { if (rf & 1) {\n const _r22 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 14);\n ɵngcc0.ɵɵlistener(\"onDomainChange\", function LineChartComponent__svg_g_10_Template__svg_g_onDomainChange_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r22); const ctx_r21 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r21.updateDomain($event)); });\n ɵngcc0.ɵɵtemplate(1, LineChartComponent__svg_g_10__svg_g_1_Template, 2, 8, \"g\", 4);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"results\", ctx_r4.results)(\"view\", ɵngcc0.ɵɵpureFunction2(10, _c23, ctx_r4.timelineWidth, ctx_r4.height))(\"height\", ctx_r4.timelineHeight)(\"scheme\", ctx_r4.scheme)(\"customColors\", ctx_r4.customColors)(\"scaleType\", ctx_r4.scaleType)(\"legend\", ctx_r4.legend);\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r4.timelineTransform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r4.results)(\"ngForTrackBy\", ctx_r4.trackBy);\n} }\nconst _c37 = [\"ngx-charts-line-series\", \"\"];\nfunction LineSeriesComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 4);\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"orientation\", ctx_r0.barOrientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n} }\nfunction LineSeriesComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 5);\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"active\", ctx_r1.isActive(ctx_r1.data))(\"inactive\", ctx_r1.isInactive(ctx_r1.data));\n ɵngcc0.ɵɵproperty(\"data\", ctx_r1.data)(\"path\", ctx_r1.outerPath)(\"fill\", ctx_r1.hasGradient ? ctx_r1.gradientUrl : ctx_r1.colors.getColor(ctx_r1.data.name))(\"opacity\", ctx_r1.rangeFillOpacity)(\"animations\", ctx_r1.animations);\n} }\nfunction PolarChartComponent__svg_g_4__svg_circle_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"circle\", 8);\n} if (rf & 2) {\n const r_r6 = ctx.$implicit;\n ɵngcc0.ɵɵattribute(\"r\", r_r6);\n} }\nfunction PolarChartComponent__svg_g_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, PolarChartComponent__svg_g_4__svg_circle_1_Template, 1, 1, \"circle\", 7);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r0.radiusTicks);\n} }\nfunction PolarChartComponent__svg_g_5__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 10);\n} if (rf & 2) {\n const tick_r8 = ctx.$implicit;\n const ctx_r7 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵproperty(\"data\", tick_r8)(\"radius\", ctx_r7.outerRadius)(\"label\", tick_r8.label)(\"max\", ctx_r7.outerRadius)(\"value\", ctx_r7.showGridLines ? 1 : ctx_r7.outerRadius)(\"explodeSlices\", true)(\"animations\", ctx_r7.animations)(\"labelTrim\", ctx_r7.labelTrim)(\"labelTrimSize\", ctx_r7.labelTrimSize);\n} }\nfunction PolarChartComponent__svg_g_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, PolarChartComponent__svg_g_5__svg_g_1_Template, 1, 9, \"g\", 9);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r1.thetaTicks);\n} }\nfunction PolarChartComponent__svg_g_6_Template(rf, ctx) { if (rf & 1) {\n const _r10 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 11);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function PolarChartComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r10); const ctx_r9 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r9.updateYAxisWidth($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"yScale\", ctx_r2.yAxisScale)(\"dims\", ctx_r2.yAxisDims)(\"showGridLines\", ctx_r2.showGridLines)(\"showLabel\", ctx_r2.showYAxisLabel)(\"labelText\", ctx_r2.yAxisLabel)(\"trimTicks\", ctx_r2.trimYAxisTicks)(\"maxTickLength\", ctx_r2.maxYAxisTickLength)(\"tickFormatting\", ctx_r2.yAxisTickFormatting);\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r2.transformYAxis);\n} }\nfunction PolarChartComponent__svg_g_7_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 12);\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"label\", ctx_r3.xAxisLabel)(\"offset\", ctx_r3.labelOffset)(\"orient\", ctx_r3.orientation.Bottom)(\"height\", ctx_r3.dims.height)(\"width\", ctx_r3.dims.width);\n} }\nfunction PolarChartComponent__svg_g_9_Template(rf, ctx) { if (rf & 1) {\n const _r13 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 13);\n ɵngcc0.ɵɵlistener(\"select\", function PolarChartComponent__svg_g_9_Template__svg_g_select_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r12.onClick($event)); })(\"activate\", function PolarChartComponent__svg_g_9_Template__svg_g_activate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r14 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r14.onActivate($event)); })(\"deactivate\", function PolarChartComponent__svg_g_9_Template__svg_g_deactivate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r15 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r15.onDeactivate($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const series_r11 = ctx.$implicit;\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"gradient\", ctx_r4.gradient)(\"xScale\", ctx_r4.xScale)(\"yScale\", ctx_r4.yScale)(\"colors\", ctx_r4.colors)(\"data\", series_r11)(\"activeEntries\", ctx_r4.activeEntries)(\"scaleType\", ctx_r4.scaleType)(\"curve\", ctx_r4.curve)(\"rangeFillOpacity\", ctx_r4.rangeFillOpacity)(\"animations\", ctx_r4.animations)(\"tooltipDisabled\", ctx_r4.tooltipDisabled)(\"tooltipTemplate\", ctx_r4.tooltipTemplate);\n} }\nconst _c38 = [\"ngx-charts-polar-series\", \"\"];\nfunction PolarSeriesComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 4);\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"color\", ctx_r0.seriesColor)(\"name\", ctx_r0.gradientId)(\"startOpacity\", 0.25)(\"endOpacity\", 1)(\"stops\", ctx_r0.gradientStops);\n} }\nfunction PolarSeriesComponent__svg_g_4_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 5);\n ɵngcc0.ɵɵlistener(\"select\", function PolarSeriesComponent__svg_g_4_Template__svg_g_select_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r4); const circle_r2 = restoredCtx.$implicit; const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r3.select.emit(circle_r2.data)); })(\"activate\", function PolarSeriesComponent__svg_g_4_Template__svg_g_activate_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r4); const circle_r2 = restoredCtx.$implicit; const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.activate.emit({ name: circle_r2.data.series })); })(\"deactivate\", function PolarSeriesComponent__svg_g_4_Template__svg_g_deactivate_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r4); const circle_r2 = restoredCtx.$implicit; const ctx_r6 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r6.deactivate.emit({ name: circle_r2.data.series })); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const circle_r2 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"opacity\", ctx_r1.inactive ? 0.2 : 1);\n ɵngcc0.ɵɵproperty(\"cx\", circle_r2.cx)(\"cy\", circle_r2.cy)(\"r\", ctx_r1.circleRadius)(\"fill\", circle_r2.color)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipPlacement\", ctx_r1.placementTypes.Top)(\"tooltipType\", ctx_r1.styleTypes.tooltip)(\"tooltipTitle\", ctx_r1.tooltipTemplate ? undefined : ctx_r1.tooltipText(circle_r2))(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"tooltipContext\", circle_r2.data);\n} }\nconst _c39 = [\"ngx-charts-pie-label\", \"\"];\nconst _c40 = [\"ngx-charts-pie-arc\", \"\"];\nfunction PieArcComponent__svg_defs_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"defs\");\n ɵngcc0.ɵɵelement(1, \"g\", 3);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"color\", ctx_r0.fill)(\"name\", ctx_r0.radialGradientId)(\"startOpacity\", ctx_r0.startOpacity);\n} }\nconst _c41 = \".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:.75s ease-in fadeIn;animation:.75s ease-in fadeIn}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:3s linear drawOut;animation:3s linear drawOut;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\\n\";\nfunction PieGridComponent__svg_g_2__svg_text_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"text\", 10);\n} if (rf & 2) {\n const series_r1 = ɵngcc0.ɵɵnextContext().$implicit;\n ɵngcc0.ɵɵproperty(\"countTo\", series_r1.percent)(\"countSuffix\", \"%\");\n} }\nfunction PieGridComponent__svg_g_2__svg_text_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"text\", 11);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r1 = ɵngcc0.ɵɵnextContext().$implicit;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", series_r1.percent.toLocaleString(), \" \");\n} }\nfunction PieGridComponent__svg_g_2__svg_text_6_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"text\", 12);\n} if (rf & 2) {\n const series_r1 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"countTo\", series_r1.total)(\"countPrefix\", ctx_r4.label + \": \");\n ɵngcc0.ɵɵattribute(\"y\", series_r1.outerRadius);\n} }\nfunction PieGridComponent__svg_g_2__svg_text_7_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"text\", 13);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r1 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r5 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"y\", series_r1.outerRadius);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate2(\" \", ctx_r5.label, \": \", series_r1.total.toLocaleString(), \" \");\n} }\nconst _c42 = function (a0) { return { data: a0 }; };\nfunction PieGridComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r11 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 3)(1, \"g\", 4);\n ɵngcc0.ɵɵlistener(\"select\", function PieGridComponent__svg_g_2_Template__svg_g_select_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r11); const ctx_r10 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r10.onClick($event)); })(\"activate\", function PieGridComponent__svg_g_2_Template__svg_g_activate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r11); const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r12.onActivate($event)); })(\"deactivate\", function PieGridComponent__svg_g_2_Template__svg_g_deactivate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r11); const ctx_r13 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r13.onDeactivate($event)); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(2, PieGridComponent__svg_g_2__svg_text_2_Template, 1, 2, \"text\", 5);\n ɵngcc0.ɵɵtemplate(3, PieGridComponent__svg_g_2__svg_text_3_Template, 2, 1, \"text\", 6);\n ɵngcc0.ɵɵelementStart(4, \"text\", 7);\n ɵngcc0.ɵɵtext(5);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(6, PieGridComponent__svg_g_2__svg_text_6_Template, 1, 3, \"text\", 8);\n ɵngcc0.ɵɵtemplate(7, PieGridComponent__svg_g_2__svg_text_7_Template, 2, 3, \"text\", 9);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const series_r1 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"transform\", series_r1.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"colors\", series_r1.colors)(\"data\", series_r1.data)(\"innerRadius\", series_r1.innerRadius)(\"outerRadius\", series_r1.outerRadius)(\"animations\", ctx_r0.animations)(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipPlacement\", ctx_r0.placementTypes.Top)(\"tooltipType\", ctx_r0.styleTypes.tooltip)(\"tooltipTitle\", ctx_r0.tooltipTemplate ? undefined : ctx_r0.tooltipText(ɵngcc0.ɵɵpureFunction1(17, _c42, series_r1)))(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"tooltipContext\", series_r1.data[0].data);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r0.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r0.animations);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate1(\" \", series_r1.label, \" \");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r0.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r0.animations);\n} }\nconst _c43 = [\"ngx-charts-pie-grid-series\", \"\"];\nfunction PieGridSeriesComponent__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 2);\n ɵngcc0.ɵɵlistener(\"select\", function PieGridSeriesComponent__svg_g_1_Template__svg_g_select_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.onClick($event)); })(\"activate\", function PieGridSeriesComponent__svg_g_1_Template__svg_g_activate_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.activate.emit($event)); })(\"deactivate\", function PieGridSeriesComponent__svg_g_1_Template__svg_g_deactivate_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r5.deactivate.emit($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const arc_r1 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"startAngle\", arc_r1.startAngle)(\"endAngle\", arc_r1.endAngle)(\"innerRadius\", ctx_r0.innerRadius)(\"outerRadius\", ctx_r0.outerRadius)(\"fill\", ctx_r0.color(arc_r1))(\"value\", arc_r1.data.value)(\"data\", arc_r1.data)(\"gradient\", false)(\"pointerEvents\", arc_r1.pointerEvents)(\"animate\", arc_r1.animate);\n ɵngcc0.ɵɵattribute(\"class\", arc_r1.class);\n} }\nconst _c44 = [\"ngx-charts-pie-series\", \"\"];\nfunction PieSeriesComponent__svg_g_0__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 3);\n} if (rf & 2) {\n const arc_r1 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"data\", arc_r1)(\"radius\", ctx_r2.outerRadius)(\"color\", ctx_r2.color(arc_r1))(\"label\", ctx_r2.labelText(arc_r1))(\"labelTrim\", ctx_r2.trimLabels)(\"labelTrimSize\", ctx_r2.maxLabelLength)(\"max\", ctx_r2.max)(\"value\", arc_r1.value)(\"explodeSlices\", ctx_r2.explodeSlices)(\"animations\", ctx_r2.animations);\n} }\nfunction PieSeriesComponent__svg_g_0_Template(rf, ctx) { if (rf & 1) {\n const _r5 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, PieSeriesComponent__svg_g_0__svg_g_1_Template, 1, 10, \"g\", 1);\n ɵngcc0.ɵɵelementStart(2, \"g\", 2);\n ɵngcc0.ɵɵlistener(\"select\", function PieSeriesComponent__svg_g_0_Template__svg_g_select_2_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.onClick($event)); })(\"activate\", function PieSeriesComponent__svg_g_0_Template__svg_g_activate_2_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r6 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r6.activate.emit($event)); })(\"deactivate\", function PieSeriesComponent__svg_g_0_Template__svg_g_deactivate_2_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r7 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r7.deactivate.emit($event)); })(\"dblclick\", function PieSeriesComponent__svg_g_0_Template__svg_g_dblclick_2_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r8 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r8.dblclick.emit($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const arc_r1 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r0.labelVisible(arc_r1));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"startAngle\", arc_r1.startAngle)(\"endAngle\", arc_r1.endAngle)(\"innerRadius\", ctx_r0.innerRadius)(\"outerRadius\", ctx_r0.outerRadius)(\"fill\", ctx_r0.color(arc_r1))(\"value\", arc_r1.data.value)(\"gradient\", ctx_r0.gradient)(\"data\", arc_r1.data)(\"max\", ctx_r0.max)(\"explodeSlices\", ctx_r0.explodeSlices)(\"isActive\", ctx_r0.isActive(arc_r1.data))(\"animate\", ctx_r0.animations)(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipPlacement\", ctx_r0.placementTypes.Top)(\"tooltipType\", ctx_r0.styleTypes.tooltip)(\"tooltipTitle\", ctx_r0.getTooltipTitle(arc_r1))(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"tooltipContext\", arc_r1.data);\n} }\nconst _c45 = [\"textEl\"];\nconst _c46 = [\"ngx-charts-card\", \"\"];\nfunction CardComponent__svg_path_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"path\", 7);\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"fill\", ctx_r0.bandColor)(\"transform\", ctx_r0.transformBand)(\"d\", ctx_r0.bandPath);\n} }\nconst _c47 = [\"ngx-charts-card-series\", \"\"];\nfunction CardSeriesComponent__svg_rect_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"rect\", 2);\n} if (rf & 2) {\n const c_r2 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"fill\", ctx_r0.emptyColor);\n ɵngcc0.ɵɵattribute(\"x\", c_r2.x)(\"y\", c_r2.y)(\"width\", c_r2.width)(\"height\", c_r2.height);\n} }\nfunction CardSeriesComponent__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n const _r5 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 3);\n ɵngcc0.ɵɵlistener(\"select\", function CardSeriesComponent__svg_g_1_Template__svg_g_select_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.onClick($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const c_r3 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"x\", c_r3.x)(\"y\", c_r3.y)(\"width\", c_r3.width)(\"height\", c_r3.height)(\"color\", c_r3.color)(\"bandColor\", c_r3.bandColor)(\"textColor\", c_r3.textColor)(\"data\", c_r3.data)(\"label\", c_r3.label)(\"medianSize\", ctx_r1.medianSize)(\"valueFormatting\", ctx_r1.valueFormatting)(\"labelFormatting\", ctx_r1.labelFormatting)(\"animations\", ctx_r1.animations);\n} }\nconst _c48 = [\"ngx-charts-tree-map-cell\", \"\"];\nfunction TreeMapCellComponent__svg_defs_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"defs\");\n ɵngcc0.ɵɵelement(1, \"g\", 3);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"orientation\", ctx_r0.orientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n} }\nfunction TreeMapCellComponent__svg_foreignObject_3__xhtml_span_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"span\", 8);\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵproperty(\"countTo\", ctx_r2.value)(\"valueFormatting\", ctx_r2.valueFormatting);\n} }\nfunction TreeMapCellComponent__svg_foreignObject_3__xhtml_span_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 9);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r3.formattedValue, \" \");\n} }\nfunction TreeMapCellComponent__svg_foreignObject_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"foreignObject\", 4);\n ɵngcc0.ɵɵnamespaceHTML();\n ɵngcc0.ɵɵelementStart(1, \"p\");\n ɵngcc0.ɵɵelement(2, \"span\", 5)(3, \"br\");\n ɵngcc0.ɵɵtemplate(4, TreeMapCellComponent__svg_foreignObject_3__xhtml_span_4_Template, 1, 2, \"span\", 6);\n ɵngcc0.ɵɵtemplate(5, TreeMapCellComponent__svg_foreignObject_3__xhtml_span_5_Template, 2, 1, \"span\", 7);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"pointer-events\", \"none\");\n ɵngcc0.ɵɵattribute(\"x\", ctx_r1.x)(\"y\", ctx_r1.y)(\"width\", ctx_r1.width)(\"height\", ctx_r1.height);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"color\", ctx_r1.getTextColor())(\"height\", ctx_r1.height + \"px\")(\"width\", ctx_r1.width + \"px\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"innerHTML\", ctx_r1.formattedLabel, ɵngcc0.ɵɵsanitizeHtml);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r1.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r1.animations);\n} }\nconst _c49 = [\"ngx-charts-tree-map-cell-series\", \"\"];\nfunction TreeMapCellSeriesComponent__svg_g_0_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 1);\n ɵngcc0.ɵɵlistener(\"select\", function TreeMapCellSeriesComponent__svg_g_0_Template__svg_g_select_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r2.onClick($event)); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const c_r1 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"data\", c_r1.data)(\"x\", c_r1.x)(\"y\", c_r1.y)(\"width\", c_r1.width)(\"height\", c_r1.height)(\"fill\", c_r1.fill)(\"label\", c_r1.label)(\"value\", c_r1.value)(\"valueFormatting\", ctx_r0.valueFormatting)(\"labelFormatting\", ctx_r0.labelFormatting)(\"gradient\", ctx_r0.gradient)(\"animations\", ctx_r0.animations)(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipPlacement\", ctx_r0.placementTypes.Top)(\"tooltipType\", ctx_r0.styleTypes.tooltip)(\"tooltipTitle\", ctx_r0.tooltipTemplate ? undefined : ctx_r0.getTooltipText(c_r1))(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"tooltipContext\", c_r1.data);\n} }\nconst _c50 = [\"valueTextEl\"];\nconst _c51 = [\"unitsTextEl\"];\nfunction LinearGaugeComponent__svg_line_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"line\", 10);\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r0.transformLine)(\"stroke\", ctx_r0.colors.getColor(ctx_r0.units));\n} }\nfunction LinearGaugeComponent__svg_line_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"line\", 11);\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r1.transformLine)(\"stroke\", ctx_r1.colors.getColor(ctx_r1.units));\n} }\nconst _c52 = function () { return {}; };\nfunction GaugeComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n const _r5 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"g\", 5);\n ɵngcc0.ɵɵlistener(\"select\", function GaugeComponent__svg_g_2_Template__svg_g_select_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.onClick($event)); })(\"activate\", function GaugeComponent__svg_g_2_Template__svg_g_activate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r6 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r6.onActivate($event)); })(\"deactivate\", function GaugeComponent__svg_g_2_Template__svg_g_deactivate_1_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r7 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r7.onDeactivate($event)); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const arc_r3 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r0.rotation);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"backgroundArc\", arc_r3.backgroundArc)(\"valueArc\", arc_r3.valueArc)(\"cornerRadius\", ctx_r0.cornerRadius)(\"colors\", ctx_r0.colors)(\"isActive\", ctx_r0.isActive(arc_r3.valueArc.data))(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"valueFormatting\", ctx_r0.valueFormatting)(\"animations\", ctx_r0.animations);\n} }\nfunction GaugeComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 6);\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"bigSegments\", ctx_r1.bigSegments)(\"smallSegments\", ctx_r1.smallSegments)(\"min\", ctx_r1.min)(\"max\", ctx_r1.max)(\"radius\", ctx_r1.outerRadius)(\"angleSpan\", ctx_r1.angleSpan)(\"valueScale\", ctx_r1.valueScale)(\"startAngle\", ctx_r1.startAngle)(\"tickFormatting\", ctx_r1.axisTickFormatting);\n} }\nfunction GaugeComponent__svg_text_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"text\", 7, 8)(2, \"tspan\", 9);\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(4, \"tspan\", 10);\n ɵngcc0.ɵɵtext(5);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"text-anchor\", \"middle\");\n ɵngcc0.ɵɵattribute(\"transform\", ctx_r2.textTransform);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵtextInterpolate(ctx_r2.displayValue);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r2.units);\n} }\nconst _c53 = [\"ngx-charts-gauge-arc\", \"\"];\nconst _c54 = [\"ngx-charts-gauge-axis\", \"\"];\nfunction GaugeAxisComponent__svg_g_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 2);\n ɵngcc0.ɵɵelement(1, \"path\");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tick_r3 = ctx.$implicit;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"d\", tick_r3.line);\n} }\nfunction GaugeAxisComponent__svg_g_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 2)(1, \"text\", 3);\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const tick_r4 = ctx.$implicit;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"text-anchor\", tick_r4.textAnchor);\n ɵngcc0.ɵɵattribute(\"transform\", tick_r4.textTransform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", tick_r4.text, \" \");\n} }\nfunction GaugeAxisComponent__svg_g_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 4);\n ɵngcc0.ɵɵelement(1, \"path\");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tick_r5 = ctx.$implicit;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"d\", tick_r5.line);\n} }\nfunction isViewContainerRef(x) {\n return x.element;\n}\n/**\n * Injection service is a helper to append components\n * dynamically to a known location in the DOM, most\n * noteably for dialogs/tooltips appending to body.\n *\n * @export\n */\nclass InjectionService {\n constructor(applicationRef, componentFactoryResolver, injector) {\n this.applicationRef = applicationRef;\n this.componentFactoryResolver = componentFactoryResolver;\n this.injector = injector;\n }\n /**\n * Sets a default global root view container. This is useful for\n * things like ngUpgrade that doesn't have a ApplicationRef root.\n *\n * @param container\n */\n static setGlobalRootViewContainer(container) {\n InjectionService.globalRootViewContainer = container;\n }\n /**\n * Gets the root view container to inject the component to.\n *\n * @memberOf InjectionService\n */\n getRootViewContainer() {\n if (this._container)\n return this._container;\n if (InjectionService.globalRootViewContainer)\n return InjectionService.globalRootViewContainer;\n if (this.applicationRef.components.length)\n return this.applicationRef.components[0];\n throw new Error('View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.');\n }\n /**\n * Overrides the default root view container. This is useful for\n * things like ngUpgrade that doesn't have a ApplicationRef root.\n *\n * @param container\n *\n * @memberOf InjectionService\n */\n setRootViewContainer(container) {\n this._container = container;\n }\n /**\n * Gets the html element for a component ref.\n *\n * @param componentRef\n *\n * @memberOf InjectionService\n */\n getComponentRootNode(component) {\n if (isViewContainerRef(component)) {\n return component.element.nativeElement;\n }\n if (component.hostView && component.hostView.rootNodes.length > 0) {\n return component.hostView.rootNodes[0];\n }\n // the top most component root node has no `hostView`\n return component.location.nativeElement;\n }\n /**\n * Gets the root component container html element.\n *\n * @memberOf InjectionService\n */\n getRootViewContainerNode(component) {\n return this.getComponentRootNode(component);\n }\n /**\n * Projects the bindings onto the component\n *\n * @param component\n * @param options\n *\n * @memberOf InjectionService\n */\n projectComponentBindings(component, bindings) {\n if (bindings) {\n if (bindings.inputs !== undefined) {\n const bindingKeys = Object.getOwnPropertyNames(bindings.inputs);\n for (const bindingName of bindingKeys) {\n component.instance[bindingName] = bindings.inputs[bindingName];\n }\n }\n if (bindings.outputs !== undefined) {\n const eventKeys = Object.getOwnPropertyNames(bindings.outputs);\n for (const eventName of eventKeys) {\n component.instance[eventName] = bindings.outputs[eventName];\n }\n }\n }\n return component;\n }\n /**\n * Appends a component to a adjacent location\n *\n * @param componentClass\n * @param [options={}]\n * @param [location]\n *\n * @memberOf InjectionService\n */\n appendComponent(componentClass, bindings = {}, location) {\n if (!location)\n location = this.getRootViewContainer();\n const appendLocation = this.getComponentRootNode(location);\n const portalHost = new DomPortalOutlet(appendLocation, this.componentFactoryResolver, this.applicationRef, this.injector);\n const portal = new ComponentPortal(componentClass);\n const componentRef = portalHost.attach(portal);\n this.projectComponentBindings(componentRef, bindings);\n return componentRef;\n }\n}\nInjectionService.ɵfac = function InjectionService_Factory(t) { return new (t || InjectionService)(ɵngcc0.ɵɵinject(ɵngcc0.ApplicationRef), ɵngcc0.ɵɵinject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵinject(ɵngcc0.Injector)); };\nInjectionService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: InjectionService, factory: InjectionService.ɵfac });\nInjectionService.globalRootViewContainer = null;\nInjectionService.ctorParameters = () => [\n { type: ApplicationRef },\n { type: ComponentFactoryResolver },\n { type: Injector }\n];\n\n/**\n * Throttle a function\n *\n */\nfunction throttle(func, wait, options) {\n options = options || {};\n let context;\n let args;\n let result;\n let timeout = null;\n let previous = 0;\n function later() {\n previous = options.leading === false ? 0 : +new Date();\n timeout = null;\n result = func.apply(context, args);\n }\n return function () {\n const now = +new Date();\n if (!previous && options.leading === false) {\n previous = now;\n }\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0) {\n clearTimeout(timeout);\n timeout = null;\n previous = now;\n result = func.apply(context, args);\n }\n else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n}\n/**\n * Throttle decorator\n *\n * class MyClass {\n * throttleable(10)\n * myFn() { ... }\n * }\n */\nfunction throttleable(duration, options) {\n return function innerDecorator(target, key, descriptor) {\n return {\n configurable: true,\n enumerable: descriptor.enumerable,\n get: function getter() {\n Object.defineProperty(this, key, {\n configurable: true,\n enumerable: descriptor.enumerable,\n value: throttle(descriptor.value, duration, options)\n });\n return this[key];\n }\n };\n };\n}\n\nvar PlacementTypes;\n(function (PlacementTypes) {\n PlacementTypes[\"Top\"] = \"top\";\n PlacementTypes[\"Bottom\"] = \"bottom\";\n PlacementTypes[\"Left\"] = \"left\";\n PlacementTypes[\"Right\"] = \"right\";\n PlacementTypes[\"Center\"] = \"center\";\n})(PlacementTypes || (PlacementTypes = {}));\n\nconst caretOffset = 7;\nfunction verticalPosition(elDimensions, popoverDimensions, alignment) {\n if (alignment === PlacementTypes.Top) {\n return elDimensions.top - caretOffset;\n }\n if (alignment === PlacementTypes.Bottom) {\n return elDimensions.top + elDimensions.height - popoverDimensions.height + caretOffset;\n }\n if (alignment === PlacementTypes.Center) {\n return elDimensions.top + elDimensions.height / 2 - popoverDimensions.height / 2;\n }\n return undefined;\n}\nfunction horizontalPosition(elDimensions, popoverDimensions, alignment) {\n if (alignment === PlacementTypes.Left) {\n return elDimensions.left - caretOffset;\n }\n if (alignment === PlacementTypes.Right) {\n return elDimensions.left + elDimensions.width - popoverDimensions.width + caretOffset;\n }\n if (alignment === PlacementTypes.Center) {\n return elDimensions.left + elDimensions.width / 2 - popoverDimensions.width / 2;\n }\n return undefined;\n}\n/**\n * Position helper for the popover directive.\n *\n * @export\n */\nclass PositionHelper {\n /**\n * Calculate vertical alignment position\n *\n * @memberOf PositionHelper\n */\n static calculateVerticalAlignment(elDimensions, popoverDimensions, alignment) {\n let result = verticalPosition(elDimensions, popoverDimensions, alignment);\n if (result + popoverDimensions.height > window.innerHeight) {\n result = window.innerHeight - popoverDimensions.height;\n }\n return result;\n }\n /**\n * Calculate vertical caret position\n *\n * @memberOf PositionHelper\n */\n static calculateVerticalCaret(elDimensions, popoverDimensions, caretDimensions, alignment) {\n let result;\n if (alignment === PlacementTypes.Top) {\n result = elDimensions.height / 2 - caretDimensions.height / 2 + caretOffset;\n }\n if (alignment === PlacementTypes.Bottom) {\n result = popoverDimensions.height - elDimensions.height / 2 - caretDimensions.height / 2 - caretOffset;\n }\n if (alignment === PlacementTypes.Center) {\n result = popoverDimensions.height / 2 - caretDimensions.height / 2;\n }\n const popoverPosition = verticalPosition(elDimensions, popoverDimensions, alignment);\n if (popoverPosition + popoverDimensions.height > window.innerHeight) {\n result += popoverPosition + popoverDimensions.height - window.innerHeight;\n }\n return result;\n }\n /**\n * Calculate horz alignment position\n *\n * @memberOf PositionHelper\n */\n static calculateHorizontalAlignment(elDimensions, popoverDimensions, alignment) {\n let result = horizontalPosition(elDimensions, popoverDimensions, alignment);\n if (result + popoverDimensions.width > window.innerWidth) {\n result = window.innerWidth - popoverDimensions.width;\n }\n return result;\n }\n /**\n * Calculate horz caret position\n *\n * @memberOf PositionHelper\n */\n static calculateHorizontalCaret(elDimensions, popoverDimensions, caretDimensions, alignment) {\n let result;\n if (alignment === PlacementTypes.Left) {\n result = elDimensions.width / 2 - caretDimensions.width / 2 + caretOffset;\n }\n if (alignment === PlacementTypes.Right) {\n result = popoverDimensions.width - elDimensions.width / 2 - caretDimensions.width / 2 - caretOffset;\n }\n if (alignment === PlacementTypes.Center) {\n result = popoverDimensions.width / 2 - caretDimensions.width / 2;\n }\n const popoverPosition = horizontalPosition(elDimensions, popoverDimensions, alignment);\n if (popoverPosition + popoverDimensions.width > window.innerWidth) {\n result += popoverPosition + popoverDimensions.width - window.innerWidth;\n }\n return result;\n }\n /**\n * Checks if the element's position should be flipped\n *\n * @memberOf PositionHelper\n */\n static shouldFlip(elDimensions, popoverDimensions, placement, spacing) {\n let flip = false;\n if (placement === PlacementTypes.Right) {\n if (elDimensions.left + elDimensions.width + popoverDimensions.width + spacing > window.innerWidth) {\n flip = true;\n }\n }\n if (placement === PlacementTypes.Left) {\n if (elDimensions.left - popoverDimensions.width - spacing < 0) {\n flip = true;\n }\n }\n if (placement === PlacementTypes.Top) {\n if (elDimensions.top - popoverDimensions.height - spacing < 0) {\n flip = true;\n }\n }\n if (placement === PlacementTypes.Bottom) {\n if (elDimensions.top + elDimensions.height + popoverDimensions.height + spacing > window.innerHeight) {\n flip = true;\n }\n }\n return flip;\n }\n /**\n * Position caret\n *\n * @memberOf PositionHelper\n */\n static positionCaret(placement, elmDim, hostDim, caretDimensions, alignment) {\n let top = 0;\n let left = 0;\n if (placement === PlacementTypes.Right) {\n left = -7;\n top = PositionHelper.calculateVerticalCaret(hostDim, elmDim, caretDimensions, alignment);\n }\n else if (placement === PlacementTypes.Left) {\n left = elmDim.width;\n top = PositionHelper.calculateVerticalCaret(hostDim, elmDim, caretDimensions, alignment);\n }\n else if (placement === PlacementTypes.Top) {\n top = elmDim.height;\n left = PositionHelper.calculateHorizontalCaret(hostDim, elmDim, caretDimensions, alignment);\n }\n else if (placement === PlacementTypes.Bottom) {\n top = -7;\n left = PositionHelper.calculateHorizontalCaret(hostDim, elmDim, caretDimensions, alignment);\n }\n return { top, left };\n }\n /**\n * Position content\n *\n * @memberOf PositionHelper\n */\n static positionContent(placement, elmDim, hostDim, spacing, alignment) {\n let top = 0;\n let left = 0;\n if (placement === PlacementTypes.Right) {\n left = hostDim.left + hostDim.width + spacing;\n top = PositionHelper.calculateVerticalAlignment(hostDim, elmDim, alignment);\n }\n else if (placement === PlacementTypes.Left) {\n left = hostDim.left - elmDim.width - spacing;\n top = PositionHelper.calculateVerticalAlignment(hostDim, elmDim, alignment);\n }\n else if (placement === PlacementTypes.Top) {\n top = hostDim.top - elmDim.height - spacing;\n left = PositionHelper.calculateHorizontalAlignment(hostDim, elmDim, alignment);\n }\n else if (placement === PlacementTypes.Bottom) {\n top = hostDim.top + hostDim.height + spacing;\n left = PositionHelper.calculateHorizontalAlignment(hostDim, elmDim, alignment);\n }\n return { top, left };\n }\n /**\n * Determine placement based on flip\n *\n * @memberOf PositionHelper\n */\n static determinePlacement(placement, elmDim, hostDim, spacing) {\n const shouldFlip = PositionHelper.shouldFlip(hostDim, elmDim, placement, spacing);\n if (shouldFlip) {\n if (placement === PlacementTypes.Right) {\n return PlacementTypes.Left;\n }\n else if (placement === PlacementTypes.Left) {\n return PlacementTypes.Right;\n }\n else if (placement === PlacementTypes.Top) {\n return PlacementTypes.Bottom;\n }\n else if (placement === PlacementTypes.Bottom) {\n return PlacementTypes.Top;\n }\n }\n return placement;\n }\n}\n\nclass TooltipContentComponent {\n constructor(element, renderer, platformId) {\n this.element = element;\n this.renderer = renderer;\n this.platformId = platformId;\n }\n get cssClasses() {\n let clz = 'ngx-charts-tooltip-content';\n clz += ` position-${this.placement}`;\n clz += ` type-${this.type}`;\n clz += ` ${this.cssClass}`;\n return clz;\n }\n ngAfterViewInit() {\n setTimeout(this.position.bind(this));\n }\n position() {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n const nativeElm = this.element.nativeElement;\n const hostDim = this.host.nativeElement.getBoundingClientRect();\n // if no dims were found, never show\n if (!hostDim.height && !hostDim.width)\n return;\n const elmDim = nativeElm.getBoundingClientRect();\n this.checkFlip(hostDim, elmDim);\n this.positionContent(nativeElm, hostDim, elmDim);\n if (this.showCaret) {\n this.positionCaret(hostDim, elmDim);\n }\n // animate its entry\n setTimeout(() => this.renderer.addClass(nativeElm, 'animate'), 1);\n }\n positionContent(nativeElm, hostDim, elmDim) {\n const { top, left } = PositionHelper.positionContent(this.placement, elmDim, hostDim, this.spacing, this.alignment);\n this.renderer.setStyle(nativeElm, 'top', `${top}px`);\n this.renderer.setStyle(nativeElm, 'left', `${left}px`);\n }\n positionCaret(hostDim, elmDim) {\n const caretElm = this.caretElm.nativeElement;\n const caretDimensions = caretElm.getBoundingClientRect();\n const { top, left } = PositionHelper.positionCaret(this.placement, elmDim, hostDim, caretDimensions, this.alignment);\n this.renderer.setStyle(caretElm, 'top', `${top}px`);\n this.renderer.setStyle(caretElm, 'left', `${left}px`);\n }\n checkFlip(hostDim, elmDim) {\n this.placement = PositionHelper.determinePlacement(this.placement, elmDim, hostDim, this.spacing);\n }\n onWindowResize() {\n this.position();\n }\n}\nTooltipContentComponent.ɵfac = function TooltipContentComponent_Factory(t) { return new (t || TooltipContentComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID)); };\nTooltipContentComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: TooltipContentComponent, selectors: [[\"ngx-tooltip-content\"]], viewQuery: function TooltipContentComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.caretElm = _t.first);\n } }, hostVars: 2, hostBindings: function TooltipContentComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"resize\", function TooltipContentComponent_resize_HostBindingHandler() { return ctx.onWindowResize(); }, false, ɵngcc0.ɵɵresolveWindow);\n } if (rf & 2) {\n ɵngcc0.ɵɵclassMap(ctx.cssClasses);\n } }, inputs: { placement: \"placement\", host: \"host\", showCaret: \"showCaret\", type: \"type\", alignment: \"alignment\", spacing: \"spacing\", cssClass: \"cssClass\", title: \"title\", template: \"template\", context: \"context\" }, decls: 6, vars: 6, consts: [[3, \"hidden\"], [\"caretElm\", \"\"], [1, \"tooltip-content\"], [4, \"ngIf\"], [3, \"innerHTML\", 4, \"ngIf\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [3, \"innerHTML\"]], template: function TooltipContentComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\");\n ɵngcc0.ɵɵelement(1, \"span\", 0, 1);\n ɵngcc0.ɵɵelementStart(3, \"div\", 2);\n ɵngcc0.ɵɵtemplate(4, TooltipContentComponent_span_4_Template, 2, 4, \"span\", 3);\n ɵngcc0.ɵɵtemplate(5, TooltipContentComponent_span_5_Template, 1, 1, \"span\", 4);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassMapInterpolate1(\"tooltip-caret position-\", ctx.placement, \"\");\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx.showCaret);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx.title);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.title);\n } }, dependencies: [ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet], styles: [\".ngx-charts-tooltip-content{position:fixed;border-radius:3px;z-index:5000;display:block;font-weight:normal;opacity:0;pointer-events:none!important}.ngx-charts-tooltip-content.type-popover{background:#fff;color:#060709;border:1px solid #72809b;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #fff}.ngx-charts-tooltip-content.type-tooltip{color:#fff;background:rgba(0,0,0,.75);font-size:12px;padding:0 10px;text-align:center;pointer-events:auto}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content .tooltip-label{display:block;line-height:1em;padding:8px 5px 5px;font-size:1em}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.position-right{transform:translate(10px)}.ngx-charts-tooltip-content.position-left{transform:translate(-10px)}.ngx-charts-tooltip-content.position-top{transform:translateY(-10px)}.ngx-charts-tooltip-content.position-bottom{transform:translateY(10px)}.ngx-charts-tooltip-content.animate{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0);pointer-events:auto}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{text-align:left;line-height:1.2em;padding:5px 0}.tooltip-item .tooltip-item-color{display:inline-block;height:12px;width:12px;margin-right:5px;color:#5b646b;border-radius:3px}\\n\"], encapsulation: 2 });\nTooltipContentComponent.ctorParameters = () => [\n { type: ElementRef },\n { type: Renderer2 },\n { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\nTooltipContentComponent.propDecorators = {\n host: [{ type: Input }],\n showCaret: [{ type: Input }],\n type: [{ type: Input }],\n placement: [{ type: Input }],\n alignment: [{ type: Input }],\n spacing: [{ type: Input }],\n cssClass: [{ type: Input }],\n title: [{ type: Input }],\n template: [{ type: Input }],\n context: [{ type: Input }],\n caretElm: [{ type: ViewChild, args: ['caretElm',] }],\n cssClasses: [{ type: HostBinding, args: ['class',] }],\n onWindowResize: [{ type: HostListener, args: ['window:resize',] }]\n};\n__decorate([\n throttleable(100)\n], TooltipContentComponent.prototype, \"onWindowResize\", null);\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(InjectionService, [{\n type: Injectable\n }], function () { return [{ type: ɵngcc0.ApplicationRef }, { type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.Injector }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TooltipContentComponent, [{\n type: Component,\n args: [{ selector: 'ngx-tooltip-content', template: `\n <div>\n <span #caretElm [hidden]=\"!showCaret\" class=\"tooltip-caret position-{{ this.placement }}\"> </span>\n <div class=\"tooltip-content\">\n <span *ngIf=\"!title\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ model: context }\"> </ng-template>\n </span>\n <span *ngIf=\"title\" [innerHTML]=\"title\"> </span>\n </div>\n </div>\n `, encapsulation: ViewEncapsulation.None, styles: [\".ngx-charts-tooltip-content{position:fixed;border-radius:3px;z-index:5000;display:block;font-weight:normal;opacity:0;pointer-events:none!important}.ngx-charts-tooltip-content.type-popover{background:#fff;color:#060709;border:1px solid #72809b;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #fff}.ngx-charts-tooltip-content.type-tooltip{color:#fff;background:rgba(0,0,0,.75);font-size:12px;padding:0 10px;text-align:center;pointer-events:auto}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content .tooltip-label{display:block;line-height:1em;padding:8px 5px 5px;font-size:1em}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.position-right{transform:translate(10px)}.ngx-charts-tooltip-content.position-left{transform:translate(-10px)}.ngx-charts-tooltip-content.position-top{transform:translateY(-10px)}.ngx-charts-tooltip-content.position-bottom{transform:translateY(10px)}.ngx-charts-tooltip-content.animate{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0);pointer-events:auto}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{text-align:left;line-height:1.2em;padding:5px 0}.tooltip-item .tooltip-item-color{display:inline-block;height:12px;width:12px;margin-right:5px;color:#5b646b;border-radius:3px}\\n\"] }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }, { type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, { cssClasses: [{\n type: HostBinding,\n args: ['class']\n }], placement: [{\n type: Input\n }], onWindowResize: [{\n type: HostListener,\n args: ['window:resize']\n }], host: [{\n type: Input\n }], showCaret: [{\n type: Input\n }], type: [{\n type: Input\n }], alignment: [{\n type: Input\n }], spacing: [{\n type: Input\n }], cssClass: [{\n type: Input\n }], title: [{\n type: Input\n }], template: [{\n type: Input\n }], context: [{\n type: Input\n }], caretElm: [{\n type: ViewChild,\n args: ['caretElm']\n }] }); })();\n\nclass InjectionRegisteryService {\n constructor(injectionService) {\n this.injectionService = injectionService;\n this.defaults = {};\n this.components = new Map();\n }\n getByType(type = this.type) {\n return this.components.get(type);\n }\n create(bindings) {\n return this.createByType(this.type, bindings);\n }\n createByType(type, bindings) {\n bindings = this.assignDefaults(bindings);\n const component = this.injectComponent(type, bindings);\n this.register(type, component);\n return component;\n }\n destroy(instance) {\n const compsByType = this.components.get(instance.componentType);\n if (compsByType && compsByType.length) {\n const idx = compsByType.indexOf(instance);\n if (idx > -1) {\n const component = compsByType[idx];\n component.destroy();\n compsByType.splice(idx, 1);\n }\n }\n }\n destroyAll() {\n this.destroyByType(this.type);\n }\n destroyByType(type) {\n const comps = this.components.get(type);\n if (comps && comps.length) {\n let i = comps.length - 1;\n while (i >= 0) {\n this.destroy(comps[i--]);\n }\n }\n }\n injectComponent(type, bindings) {\n return this.injectionService.appendComponent(type, bindings);\n }\n assignDefaults(bindings) {\n const inputs = Object.assign({}, this.defaults.inputs);\n const outputs = Object.assign({}, this.defaults.outputs);\n if (!bindings.inputs && !bindings.outputs) {\n bindings = { inputs: bindings };\n }\n if (inputs) {\n bindings.inputs = Object.assign(Object.assign({}, inputs), bindings.inputs);\n }\n if (outputs) {\n bindings.outputs = Object.assign(Object.assign({}, outputs), bindings.outputs);\n }\n return bindings;\n }\n register(type, component) {\n if (!this.components.has(type)) {\n this.components.set(type, []);\n }\n const types = this.components.get(type);\n types.push(component);\n }\n}\n\nclass TooltipService extends InjectionRegisteryService {\n constructor(injectionService) {\n super(injectionService);\n this.type = TooltipContentComponent;\n }\n}\nTooltipService.ɵfac = function TooltipService_Factory(t) { return new (t || TooltipService)(ɵngcc0.ɵɵinject(InjectionService)); };\nTooltipService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TooltipService, factory: TooltipService.ɵfac });\nTooltipService.ctorParameters = () => [\n { type: InjectionService }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TooltipService, [{\n type: Injectable\n }], function () { return [{ type: InjectionService }]; }, null); })();\n\nvar LegendPosition;\n(function (LegendPosition) {\n LegendPosition[\"Right\"] = \"right\";\n LegendPosition[\"Below\"] = \"below\";\n})(LegendPosition || (LegendPosition = {}));\nvar LegendType;\n(function (LegendType) {\n LegendType[\"ScaleLegend\"] = \"scaleLegend\";\n LegendType[\"Legend\"] = \"legend\";\n})(LegendType || (LegendType = {}));\n\nvar ScaleType;\n(function (ScaleType) {\n ScaleType[\"Time\"] = \"time\";\n ScaleType[\"Linear\"] = \"linear\";\n ScaleType[\"Ordinal\"] = \"ordinal\";\n ScaleType[\"Quantile\"] = \"quantile\";\n})(ScaleType || (ScaleType = {}));\n\nclass ChartComponent {\n constructor() {\n this.showLegend = false;\n this.animations = true;\n this.legendLabelClick = new EventEmitter();\n this.legendLabelActivate = new EventEmitter();\n this.legendLabelDeactivate = new EventEmitter();\n this.LegendPosition = LegendPosition;\n this.LegendType = LegendType;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n let legendColumns = 0;\n if (this.showLegend) {\n this.legendType = this.getLegendType();\n if (!this.legendOptions || this.legendOptions.position === LegendPosition.Right) {\n if (this.legendType === LegendType.ScaleLegend) {\n legendColumns = 1;\n }\n else {\n legendColumns = 2;\n }\n }\n }\n const chartColumns = 12 - legendColumns;\n this.chartWidth = Math.floor((this.view[0] * chartColumns) / 12.0);\n this.legendWidth =\n !this.legendOptions || this.legendOptions.position === LegendPosition.Right\n ? Math.floor((this.view[0] * legendColumns) / 12.0)\n : this.chartWidth;\n }\n getLegendType() {\n return this.legendOptions.scaleType === ScaleType.Linear ? LegendType.ScaleLegend : LegendType.Legend;\n }\n}\nChartComponent.ɵfac = function ChartComponent_Factory(t) { return new (t || ChartComponent)(); };\nChartComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: ChartComponent, selectors: [[\"ngx-charts-chart\"]], inputs: { showLegend: \"showLegend\", animations: \"animations\", legendType: \"legendType\", view: \"view\", legendOptions: \"legendOptions\", activeEntries: \"activeEntries\" }, outputs: { legendLabelClick: \"legendLabelClick\", legendLabelActivate: \"legendLabelActivate\", legendLabelDeactivate: \"legendLabelDeactivate\" }, features: [ɵngcc0.ɵɵProvidersFeature([TooltipService]), ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c2, decls: 5, vars: 8, consts: [[1, \"ngx-charts-outer\"], [1, \"ngx-charts\"], [\"class\", \"chart-legend\", 3, \"horizontal\", \"valueRange\", \"colors\", \"height\", \"width\", 4, \"ngIf\"], [\"class\", \"chart-legend\", 3, \"horizontal\", \"data\", \"title\", \"colors\", \"height\", \"width\", \"activeEntries\", \"labelClick\", \"labelActivate\", \"labelDeactivate\", 4, \"ngIf\"], [1, \"chart-legend\", 3, \"horizontal\", \"valueRange\", \"colors\", \"height\", \"width\"], [1, \"chart-legend\", 3, \"horizontal\", \"data\", \"title\", \"colors\", \"height\", \"width\", \"activeEntries\", \"labelClick\", \"labelActivate\", \"labelDeactivate\"]], template: function ChartComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"div\", 0);\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"svg\", 1);\n ɵngcc0.ɵɵprojection(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(3, ChartComponent_ngx_charts_scale_legend_3_Template, 1, 5, \"ngx-charts-scale-legend\", 2);\n ɵngcc0.ɵɵtemplate(4, ChartComponent_ngx_charts_legend_4_Template, 1, 7, \"ngx-charts-legend\", 3);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.view[0], \"px\");\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\")(\"@.disabled\", !ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"width\", ctx.chartWidth)(\"height\", ctx.view[1]);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showLegend && ctx.legendType === ctx.LegendType.ScaleLegend);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showLegend && ctx.legendType === ctx.LegendType.Legend);\n } }, dependencies: function () { return [ɵngcc1.NgIf, LegendComponent, ScaleLegendComponent]; }, encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':enter', [style({ opacity: 0 }), animate('500ms 100ms', style({ opacity: 1 }))])\n ])\n ] }, changeDetection: 0 });\nChartComponent.propDecorators = {\n view: [{ type: Input }],\n showLegend: [{ type: Input }],\n legendOptions: [{ type: Input }],\n legendType: [{ type: Input }],\n activeEntries: [{ type: Input }],\n animations: [{ type: Input }],\n legendLabelClick: [{ type: Output }],\n legendLabelActivate: [{ type: Output }],\n legendLabelDeactivate: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ChartComponent, [{\n type: Component,\n args: [{\n providers: [TooltipService],\n selector: 'ngx-charts-chart',\n template: `\n <div class=\"ngx-charts-outer\" [style.width.px]=\"view[0]\" [@animationState]=\"'active'\" [@.disabled]=\"!animations\">\n <svg class=\"ngx-charts\" [attr.width]=\"chartWidth\" [attr.height]=\"view[1]\">\n <ng-content></ng-content>\n </svg>\n <ngx-charts-scale-legend\n *ngIf=\"showLegend && legendType === LegendType.ScaleLegend\"\n class=\"chart-legend\"\n [horizontal]=\"legendOptions && legendOptions.position === LegendPosition.Below\"\n [valueRange]=\"legendOptions.domain\"\n [colors]=\"legendOptions.colors\"\n [height]=\"view[1]\"\n [width]=\"legendWidth\"\n >\n </ngx-charts-scale-legend>\n <ngx-charts-legend\n *ngIf=\"showLegend && legendType === LegendType.Legend\"\n class=\"chart-legend\"\n [horizontal]=\"legendOptions && legendOptions.position === LegendPosition.Below\"\n [data]=\"legendOptions.domain\"\n [title]=\"legendOptions.title\"\n [colors]=\"legendOptions.colors\"\n [height]=\"view[1]\"\n [width]=\"legendWidth\"\n [activeEntries]=\"activeEntries\"\n (labelClick)=\"legendLabelClick.emit($event)\"\n (labelActivate)=\"legendLabelActivate.emit($event)\"\n (labelDeactivate)=\"legendLabelDeactivate.emit($event)\"\n >\n </ngx-charts-legend>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':enter', [style({ opacity: 0 }), animate('500ms 100ms', style({ opacity: 1 }))])\n ])\n ]\n }]\n }], function () { return []; }, { showLegend: [{\n type: Input\n }], animations: [{\n type: Input\n }], legendLabelClick: [{\n type: Output\n }], legendLabelActivate: [{\n type: Output\n }], legendLabelDeactivate: [{\n type: Output\n }], legendType: [{\n type: Input\n }], view: [{\n type: Input\n }], legendOptions: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }] }); })();\n\n/**\n * Visibility Observer\n */\nclass VisibilityObserver {\n constructor(element, zone) {\n this.element = element;\n this.zone = zone;\n this.visible = new EventEmitter();\n this.isVisible = false;\n this.runCheck();\n }\n destroy() {\n clearTimeout(this.timeout);\n }\n onVisibilityChange() {\n // trigger zone recalc for columns\n this.zone.run(() => {\n this.isVisible = true;\n this.visible.emit(true);\n });\n }\n runCheck() {\n const check = () => {\n if (!this.element) {\n return;\n }\n // https://davidwalsh.name/offsetheight-visibility\n const { offsetHeight, offsetWidth } = this.element.nativeElement;\n if (offsetHeight && offsetWidth) {\n clearTimeout(this.timeout);\n this.onVisibilityChange();\n }\n else {\n clearTimeout(this.timeout);\n this.zone.runOutsideAngular(() => {\n this.timeout = setTimeout(() => check(), 100);\n });\n }\n };\n this.zone.runOutsideAngular(() => {\n this.timeout = setTimeout(() => check());\n });\n }\n}\nVisibilityObserver.ɵfac = function VisibilityObserver_Factory(t) { return new (t || VisibilityObserver)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nVisibilityObserver.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: VisibilityObserver, selectors: [[\"visibility-observer\"]], outputs: { visible: \"visible\" } });\nVisibilityObserver.ctorParameters = () => [\n { type: ElementRef },\n { type: NgZone }\n];\nVisibilityObserver.propDecorators = {\n visible: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(VisibilityObserver, [{\n type: Directive,\n args: [{\n selector: 'visibility-observer'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }]; }, { visible: [{\n type: Output\n }] }); })();\n\nfunction isDate(value) {\n return toString.call(value) === '[object Date]';\n}\nfunction isNumber(value) {\n return typeof value === 'number';\n}\n\nclass BaseChartComponent {\n constructor(chartElement, zone, cd, platformId) {\n this.chartElement = chartElement;\n this.zone = zone;\n this.cd = cd;\n this.platformId = platformId;\n this.scheme = 'cool';\n this.schemeType = ScaleType.Ordinal;\n this.animations = true;\n this.select = new EventEmitter();\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.animations = false;\n }\n }\n ngAfterViewInit() {\n this.bindWindowResizeEvent();\n // listen for visibility of the element for hidden by default scenario\n this.visibilityObserver = new VisibilityObserver(this.chartElement, this.zone);\n this.visibilityObserver.visible.subscribe(this.update.bind(this));\n }\n ngOnDestroy() {\n this.unbindEvents();\n if (this.visibilityObserver) {\n this.visibilityObserver.visible.unsubscribe();\n this.visibilityObserver.destroy();\n }\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n if (this.results) {\n this.results = this.cloneData(this.results);\n }\n else {\n this.results = [];\n }\n if (this.view) {\n this.width = this.view[0];\n this.height = this.view[1];\n }\n else {\n const dims = this.getContainerDims();\n if (dims) {\n this.width = dims.width;\n this.height = dims.height;\n }\n }\n // default values if width or height are 0 or undefined\n if (!this.width) {\n this.width = 600;\n }\n if (!this.height) {\n this.height = 400;\n }\n this.width = Math.floor(this.width);\n this.height = Math.floor(this.height);\n if (this.cd) {\n this.cd.markForCheck();\n }\n }\n getContainerDims() {\n let width;\n let height;\n const hostElem = this.chartElement.nativeElement;\n if (isPlatformBrowser(this.platformId) && hostElem.parentNode !== null) {\n // Get the container dimensions\n const dims = hostElem.parentNode.getBoundingClientRect();\n width = dims.width;\n height = dims.height;\n }\n if (width && height) {\n return { width, height };\n }\n return null;\n }\n /**\n * Converts all date objects that appear as name\n * into formatted date strings\n */\n formatDates() {\n for (let i = 0; i < this.results.length; i++) {\n const g = this.results[i];\n g.label = g.name;\n if (isDate(g.label)) {\n g.label = g.label.toLocaleDateString();\n }\n if (g.series) {\n for (let j = 0; j < g.series.length; j++) {\n const d = g.series[j];\n d.label = d.name;\n if (isDate(d.label)) {\n d.label = d.label.toLocaleDateString();\n }\n }\n }\n }\n }\n unbindEvents() {\n if (this.resizeSubscription) {\n this.resizeSubscription.unsubscribe();\n }\n }\n bindWindowResizeEvent() {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n const source = fromEvent(window, 'resize');\n const subscription = source.pipe(debounceTime(200)).subscribe(e => {\n this.update();\n if (this.cd) {\n this.cd.markForCheck();\n }\n });\n this.resizeSubscription = subscription;\n }\n /**\n * Clones the data into a new object\n *\n * @memberOf BaseChart\n */\n cloneData(data) {\n const results = [];\n for (const item of data) {\n const copy = {\n name: item['name']\n };\n if (item['value'] !== undefined) {\n copy['value'] = item['value'];\n }\n if (item['series'] !== undefined) {\n copy['series'] = [];\n for (const seriesItem of item['series']) {\n const seriesItemCopy = Object.assign({}, seriesItem);\n copy['series'].push(seriesItemCopy);\n }\n }\n if (item['extra'] !== undefined) {\n copy['extra'] = JSON.parse(JSON.stringify(item['extra']));\n }\n results.push(copy);\n }\n return results;\n }\n}\nBaseChartComponent.ɵfac = function BaseChartComponent_Factory(t) { return new (t || BaseChartComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID)); };\nBaseChartComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BaseChartComponent, selectors: [[\"base-chart\"]], inputs: { scheme: \"scheme\", schemeType: \"schemeType\", animations: \"animations\", results: \"results\", view: \"view\", customColors: \"customColors\" }, outputs: { select: \"select\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 1, vars: 0, template: function BaseChartComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\");\n } }, encapsulation: 2 });\nBaseChartComponent.ctorParameters = () => [\n { type: ElementRef },\n { type: NgZone },\n { type: ChangeDetectorRef },\n { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\nBaseChartComponent.propDecorators = {\n results: [{ type: Input }],\n view: [{ type: Input }],\n scheme: [{ type: Input }],\n schemeType: [{ type: Input }],\n customColors: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BaseChartComponent, [{\n type: Component,\n args: [{\n selector: 'base-chart',\n template: ` <div></div> `\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, { scheme: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], results: [{\n type: Input\n }], view: [{\n type: Input\n }], customColors: [{\n type: Input\n }] }); })();\n\nvar Orientation;\n(function (Orientation) {\n Orientation[\"Top\"] = \"top\";\n Orientation[\"Bottom\"] = \"bottom\";\n Orientation[\"Left\"] = \"left\";\n Orientation[\"Right\"] = \"right\";\n})(Orientation || (Orientation = {}));\n\nclass AxisLabelComponent {\n constructor(element) {\n this.textHeight = 25;\n this.margin = 5;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.strokeWidth = '0.01';\n this.textAnchor = 'middle';\n this.transform = '';\n switch (this.orient) {\n case Orientation.Top:\n this.y = this.offset;\n this.x = this.width / 2;\n break;\n case Orientation.Bottom:\n this.y = this.offset;\n this.x = this.width / 2;\n break;\n case Orientation.Left:\n this.y = -(this.offset + this.textHeight + this.margin);\n this.x = -this.height / 2;\n this.transform = 'rotate(270)';\n break;\n case Orientation.Right:\n this.y = this.offset + this.margin;\n this.x = -this.height / 2;\n this.transform = 'rotate(270)';\n break;\n default:\n }\n }\n}\nAxisLabelComponent.ɵfac = function AxisLabelComponent_Factory(t) { return new (t || AxisLabelComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nAxisLabelComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AxisLabelComponent, selectors: [[\"g\", \"ngx-charts-axis-label\", \"\"]], inputs: { orient: \"orient\", label: \"label\", offset: \"offset\", width: \"width\", height: \"height\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c3, decls: 2, vars: 6, template: function AxisLabelComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"text\");\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"stroke-width\", ctx.strokeWidth)(\"x\", ctx.x)(\"y\", ctx.y)(\"text-anchor\", ctx.textAnchor)(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx.label, \" \");\n } }, encapsulation: 2, changeDetection: 0 });\nAxisLabelComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nAxisLabelComponent.propDecorators = {\n orient: [{ type: Input }],\n label: [{ type: Input }],\n offset: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AxisLabelComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-axis-label]',\n template: `\n <svg:text\n [attr.stroke-width]=\"strokeWidth\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n [attr.text-anchor]=\"textAnchor\"\n [attr.transform]=\"transform\"\n >\n {{ label }}\n </svg:text>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { orient: [{\n type: Input\n }], label: [{\n type: Input\n }], offset: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }] }); })();\n\nfunction trimLabel(s, max = 16) {\n if (typeof s !== 'string') {\n if (typeof s === 'number') {\n return s + '';\n }\n else {\n return '';\n }\n }\n s = s.trim();\n if (s.length <= max) {\n return s;\n }\n else {\n return `${s.slice(0, max)}...`;\n }\n}\n\nfunction reduceTicks(ticks, maxTicks) {\n if (ticks.length > maxTicks) {\n const reduced = [];\n const modulus = Math.floor(ticks.length / maxTicks);\n for (let i = 0; i < ticks.length; i++) {\n if (i % modulus === 0) {\n reduced.push(ticks[i]);\n }\n }\n ticks = reduced;\n }\n return ticks;\n}\n\nvar TextAnchor;\n(function (TextAnchor) {\n TextAnchor[\"Start\"] = \"start\";\n TextAnchor[\"Middle\"] = \"middle\";\n TextAnchor[\"End\"] = \"end\";\n})(TextAnchor || (TextAnchor = {}));\n\nclass XAxisTicksComponent {\n constructor(platformId) {\n this.platformId = platformId;\n this.tickArguments = [5];\n this.tickStroke = '#ccc';\n this.trimTicks = true;\n this.maxTickLength = 16;\n this.showGridLines = false;\n this.rotateTicks = true;\n this.dimensionsChanged = new EventEmitter();\n this.verticalSpacing = 20;\n this.rotateLabels = false;\n this.innerTickSize = 6;\n this.outerTickSize = 6;\n this.tickPadding = 3;\n this.textAnchor = TextAnchor.Middle;\n this.maxTicksLength = 0;\n this.maxAllowedLength = 16;\n this.height = 0;\n this.approxHeight = 10;\n }\n ngOnChanges(changes) {\n this.update();\n }\n ngAfterViewInit() {\n setTimeout(() => this.updateDims());\n }\n updateDims() {\n if (!isPlatformBrowser(this.platformId)) {\n // for SSR, use approximate value instead of measured\n this.dimensionsChanged.emit({ height: this.approxHeight });\n return;\n }\n const height = parseInt(this.ticksElement.nativeElement.getBoundingClientRect().height, 10);\n if (height !== this.height) {\n this.height = height;\n this.dimensionsChanged.emit({ height: this.height });\n setTimeout(() => this.updateDims());\n }\n }\n update() {\n const scale = this.scale;\n this.ticks = this.getTicks();\n if (this.tickFormatting) {\n this.tickFormat = this.tickFormatting;\n }\n else if (scale.tickFormat) {\n this.tickFormat = scale.tickFormat.apply(scale, this.tickArguments);\n }\n else {\n this.tickFormat = function (d) {\n if (d.constructor.name === 'Date') {\n return d.toLocaleDateString();\n }\n return d.toLocaleString();\n };\n }\n const angle = this.rotateTicks ? this.getRotationAngle(this.ticks) : null;\n this.adjustedScale = this.scale.bandwidth\n ? function (d) {\n return this.scale(d) + this.scale.bandwidth() * 0.5;\n }\n : this.scale;\n this.textTransform = '';\n if (angle && angle !== 0) {\n this.textTransform = `rotate(${angle})`;\n this.textAnchor = TextAnchor.End;\n this.verticalSpacing = 10;\n }\n else {\n this.textAnchor = TextAnchor.Middle;\n }\n setTimeout(() => this.updateDims());\n }\n getRotationAngle(ticks) {\n let angle = 0;\n this.maxTicksLength = 0;\n for (let i = 0; i < ticks.length; i++) {\n const tick = this.tickFormat(ticks[i]).toString();\n let tickLength = tick.length;\n if (this.trimTicks) {\n tickLength = this.tickTrim(tick).length;\n }\n if (tickLength > this.maxTicksLength) {\n this.maxTicksLength = tickLength;\n }\n }\n const len = Math.min(this.maxTicksLength, this.maxAllowedLength);\n const charWidth = 7; // need to measure this\n const wordWidth = len * charWidth;\n let baseWidth = wordWidth;\n const maxBaseWidth = Math.floor(this.width / ticks.length);\n // calculate optimal angle\n while (baseWidth > maxBaseWidth && angle > -90) {\n angle -= 30;\n baseWidth = Math.cos(angle * (Math.PI / 180)) * wordWidth;\n }\n this.approxHeight = Math.max(Math.abs(Math.sin(angle * (Math.PI / 180)) * wordWidth), 10);\n return angle;\n }\n getTicks() {\n let ticks;\n const maxTicks = this.getMaxTicks(20);\n const maxScaleTicks = this.getMaxTicks(100);\n if (this.tickValues) {\n ticks = this.tickValues;\n }\n else if (this.scale.ticks) {\n ticks = this.scale.ticks.apply(this.scale, [maxScaleTicks]);\n }\n else {\n ticks = this.scale.domain();\n ticks = reduceTicks(ticks, maxTicks);\n }\n return ticks;\n }\n getMaxTicks(tickWidth) {\n return Math.floor(this.width / tickWidth);\n }\n tickTransform(tick) {\n return 'translate(' + this.adjustedScale(tick) + ',' + this.verticalSpacing + ')';\n }\n gridLineTransform() {\n return `translate(0,${-this.verticalSpacing - 5})`;\n }\n tickTrim(label) {\n return this.trimTicks ? trimLabel(label, this.maxTickLength) : label;\n }\n}\nXAxisTicksComponent.ɵfac = function XAxisTicksComponent_Factory(t) { return new (t || XAxisTicksComponent)(ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID)); };\nXAxisTicksComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: XAxisTicksComponent, selectors: [[\"g\", \"ngx-charts-x-axis-ticks\", \"\"]], viewQuery: function XAxisTicksComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c4, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.ticksElement = _t.first);\n } }, inputs: { tickArguments: \"tickArguments\", tickStroke: \"tickStroke\", trimTicks: \"trimTicks\", maxTickLength: \"maxTickLength\", showGridLines: \"showGridLines\", rotateTicks: \"rotateTicks\", scale: \"scale\", orient: \"orient\", tickValues: \"tickValues\", tickFormatting: \"tickFormatting\", gridLineHeight: \"gridLineHeight\", width: \"width\" }, outputs: { dimensionsChanged: \"dimensionsChanged\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c5, decls: 4, vars: 2, consts: [[\"ticksel\", \"\"], [\"class\", \"tick\", 4, \"ngFor\", \"ngForOf\"], [4, \"ngFor\", \"ngForOf\"], [1, \"tick\"], [\"stroke-width\", \"0.01\"], [4, \"ngIf\"], [\"y2\", \"0\", 1, \"gridline-path\", \"gridline-path-vertical\"]], template: function XAxisTicksComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", null, 0);\n ɵngcc0.ɵɵtemplate(2, XAxisTicksComponent__svg_g_2_Template, 5, 7, \"g\", 1);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(3, XAxisTicksComponent__svg_g_3_Template, 2, 2, \"g\", 2);\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.ticks);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.ticks);\n } }, dependencies: [ɵngcc1.NgForOf, ɵngcc1.NgIf], encapsulation: 2, changeDetection: 0 });\nXAxisTicksComponent.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\nXAxisTicksComponent.propDecorators = {\n scale: [{ type: Input }],\n orient: [{ type: Input }],\n tickArguments: [{ type: Input }],\n tickValues: [{ type: Input }],\n tickStroke: [{ type: Input }],\n trimTicks: [{ type: Input }],\n maxTickLength: [{ type: Input }],\n tickFormatting: [{ type: Input }],\n showGridLines: [{ type: Input }],\n gridLineHeight: [{ type: Input }],\n width: [{ type: Input }],\n rotateTicks: [{ type: Input }],\n dimensionsChanged: [{ type: Output }],\n ticksElement: [{ type: ViewChild, args: ['ticksel',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(XAxisTicksComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-x-axis-ticks]',\n template: `\n <svg:g #ticksel>\n <svg:g *ngFor=\"let tick of ticks\" class=\"tick\" [attr.transform]=\"tickTransform(tick)\">\n <title>{{ tickFormat(tick) }}</title>\n <svg:text\n stroke-width=\"0.01\"\n [attr.text-anchor]=\"textAnchor\"\n [attr.transform]=\"textTransform\"\n [style.font-size]=\"'12px'\"\n >\n {{ tickTrim(tickFormat(tick)) }}\n </svg:text>\n </svg:g>\n </svg:g>\n\n <svg:g *ngFor=\"let tick of ticks\" [attr.transform]=\"tickTransform(tick)\">\n <svg:g *ngIf=\"showGridLines\" [attr.transform]=\"gridLineTransform()\">\n <svg:line class=\"gridline-path gridline-path-vertical\" [attr.y1]=\"-gridLineHeight\" y2=\"0\" />\n </svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, { tickArguments: [{\n type: Input\n }], tickStroke: [{\n type: Input\n }], trimTicks: [{\n type: Input\n }], maxTickLength: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], rotateTicks: [{\n type: Input\n }], dimensionsChanged: [{\n type: Output\n }], scale: [{\n type: Input\n }], orient: [{\n type: Input\n }], tickValues: [{\n type: Input\n }], tickFormatting: [{\n type: Input\n }], gridLineHeight: [{\n type: Input\n }], width: [{\n type: Input\n }], ticksElement: [{\n type: ViewChild,\n args: ['ticksel']\n }] }); })();\n\nclass XAxisComponent {\n constructor() {\n this.rotateTicks = true;\n this.showGridLines = false;\n this.xOrient = Orientation.Bottom;\n this.xAxisOffset = 0;\n this.dimensionsChanged = new EventEmitter();\n this.xAxisClassName = 'x axis';\n this.labelOffset = 0;\n this.fill = 'none';\n this.stroke = 'stroke';\n this.tickStroke = '#ccc';\n this.strokeWidth = 'none';\n this.padding = 5;\n this.orientation = Orientation;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.transform = `translate(0,${this.xAxisOffset + this.padding + this.dims.height})`;\n if (typeof this.xAxisTickCount !== 'undefined') {\n this.tickArguments = [this.xAxisTickCount];\n }\n }\n emitTicksHeight({ height }) {\n const newLabelOffset = height + 25 + 5;\n if (newLabelOffset !== this.labelOffset) {\n this.labelOffset = newLabelOffset;\n setTimeout(() => {\n this.dimensionsChanged.emit({ height });\n }, 0);\n }\n }\n}\nXAxisComponent.ɵfac = function XAxisComponent_Factory(t) { return new (t || XAxisComponent)(); };\nXAxisComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: XAxisComponent, selectors: [[\"g\", \"ngx-charts-x-axis\", \"\"]], viewQuery: function XAxisComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(XAxisTicksComponent, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.ticksComponent = _t.first);\n } }, inputs: { rotateTicks: \"rotateTicks\", showGridLines: \"showGridLines\", xOrient: \"xOrient\", xAxisOffset: \"xAxisOffset\", xScale: \"xScale\", dims: \"dims\", trimTicks: \"trimTicks\", maxTickLength: \"maxTickLength\", tickFormatting: \"tickFormatting\", showLabel: \"showLabel\", labelText: \"labelText\", ticks: \"ticks\", xAxisTickCount: \"xAxisTickCount\" }, outputs: { dimensionsChanged: \"dimensionsChanged\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c6, decls: 3, vars: 4, consts: [[\"ngx-charts-x-axis-ticks\", \"\", 3, \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"tickArguments\", \"tickStroke\", \"scale\", \"orient\", \"showGridLines\", \"gridLineHeight\", \"width\", \"tickValues\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\", 4, \"ngIf\"], [\"ngx-charts-x-axis-ticks\", \"\", 3, \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"tickArguments\", \"tickStroke\", \"scale\", \"orient\", \"showGridLines\", \"gridLineHeight\", \"width\", \"tickValues\", \"dimensionsChanged\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\"]], template: function XAxisComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, XAxisComponent__svg_g_1_Template, 1, 12, \"g\", 0);\n ɵngcc0.ɵɵtemplate(2, XAxisComponent__svg_g_2_Template, 1, 5, \"g\", 1);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"class\", ctx.xAxisClassName)(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xScale);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showLabel);\n } }, dependencies: [ɵngcc1.NgIf, AxisLabelComponent, XAxisTicksComponent], encapsulation: 2, changeDetection: 0 });\nXAxisComponent.propDecorators = {\n xScale: [{ type: Input }],\n dims: [{ type: Input }],\n trimTicks: [{ type: Input }],\n rotateTicks: [{ type: Input }],\n maxTickLength: [{ type: Input }],\n tickFormatting: [{ type: Input }],\n showGridLines: [{ type: Input }],\n showLabel: [{ type: Input }],\n labelText: [{ type: Input }],\n ticks: [{ type: Input }],\n xAxisTickCount: [{ type: Input }],\n xOrient: [{ type: Input }],\n xAxisOffset: [{ type: Input }],\n dimensionsChanged: [{ type: Output }],\n ticksComponent: [{ type: ViewChild, args: [XAxisTicksComponent,] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(XAxisComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-x-axis]',\n template: `\n <svg:g [attr.class]=\"xAxisClassName\" [attr.transform]=\"transform\">\n <svg:g\n ngx-charts-x-axis-ticks\n *ngIf=\"xScale\"\n [trimTicks]=\"trimTicks\"\n [rotateTicks]=\"rotateTicks\"\n [maxTickLength]=\"maxTickLength\"\n [tickFormatting]=\"tickFormatting\"\n [tickArguments]=\"tickArguments\"\n [tickStroke]=\"tickStroke\"\n [scale]=\"xScale\"\n [orient]=\"xOrient\"\n [showGridLines]=\"showGridLines\"\n [gridLineHeight]=\"dims.height\"\n [width]=\"dims.width\"\n [tickValues]=\"ticks\"\n (dimensionsChanged)=\"emitTicksHeight($event)\"\n />\n <svg:g\n ngx-charts-axis-label\n *ngIf=\"showLabel\"\n [label]=\"labelText\"\n [offset]=\"labelOffset\"\n [orient]=\"orientation.Bottom\"\n [height]=\"dims.height\"\n [width]=\"dims.width\"\n ></svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { rotateTicks: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], xOrient: [{\n type: Input\n }], xAxisOffset: [{\n type: Input\n }], dimensionsChanged: [{\n type: Output\n }], xScale: [{\n type: Input\n }], dims: [{\n type: Input\n }], trimTicks: [{\n type: Input\n }], maxTickLength: [{\n type: Input\n }], tickFormatting: [{\n type: Input\n }], showLabel: [{\n type: Input\n }], labelText: [{\n type: Input\n }], ticks: [{\n type: Input\n }], xAxisTickCount: [{\n type: Input\n }], ticksComponent: [{\n type: ViewChild,\n args: [XAxisTicksComponent]\n }] }); })();\n\n/**\n * Generates a rounded rectanglar path\n *\n * @export\n * @param x, y, w, h, r, tl, tr, bl, br\n */\nfunction roundedRect(x, y, w, h, r, [tl, tr, bl, br]) {\n let retval = '';\n w = Math.floor(w);\n h = Math.floor(h);\n w = w === 0 ? 1 : w;\n h = h === 0 ? 1 : h;\n retval = `M${[x + r, y]}`;\n retval += `h${w - 2 * r}`;\n if (tr) {\n retval += `a${[r, r]} 0 0 1 ${[r, r]}`;\n }\n else {\n retval += `h${r}v${r}`;\n }\n retval += `v${h - 2 * r}`;\n if (br) {\n retval += `a${[r, r]} 0 0 1 ${[-r, r]}`;\n }\n else {\n retval += `v${r}h${-r}`;\n }\n retval += `h${2 * r - w}`;\n if (bl) {\n retval += `a${[r, r]} 0 0 1 ${[-r, -r]}`;\n }\n else {\n retval += `h${-r}v${-r}`;\n }\n retval += `v${2 * r - h}`;\n if (tl) {\n retval += `a${[r, r]} 0 0 1 ${[r, -r]}`;\n }\n else {\n retval += `v${-r}h${r}`;\n }\n retval += `z`;\n return retval;\n}\n\nclass YAxisTicksComponent {\n constructor(platformId) {\n this.platformId = platformId;\n this.tickArguments = [5];\n this.tickStroke = '#ccc';\n this.trimTicks = true;\n this.maxTickLength = 16;\n this.showGridLines = false;\n this.showRefLabels = false;\n this.showRefLines = false;\n this.dimensionsChanged = new EventEmitter();\n this.innerTickSize = 6;\n this.tickPadding = 3;\n this.verticalSpacing = 20;\n this.textAnchor = TextAnchor.Middle;\n this.width = 0;\n this.outerTickSize = 6;\n this.rotateLabels = false;\n this.referenceLineLength = 0;\n this.Orientation = Orientation;\n }\n ngOnChanges(changes) {\n this.update();\n }\n ngAfterViewInit() {\n setTimeout(() => this.updateDims());\n }\n updateDims() {\n if (!isPlatformBrowser(this.platformId)) {\n // for SSR, use approximate value instead of measured\n this.width = this.getApproximateAxisWidth();\n this.dimensionsChanged.emit({ width: this.width });\n return;\n }\n const width = parseInt(this.ticksElement.nativeElement.getBoundingClientRect().width, 10);\n if (width !== this.width) {\n this.width = width;\n this.dimensionsChanged.emit({ width });\n setTimeout(() => this.updateDims());\n }\n }\n update() {\n let scale;\n const sign = this.orient === Orientation.Top || this.orient === Orientation.Right ? -1 : 1;\n this.tickSpacing = Math.max(this.innerTickSize, 0) + this.tickPadding;\n scale = this.scale;\n this.ticks = this.getTicks();\n if (this.tickFormatting) {\n this.tickFormat = this.tickFormatting;\n }\n else if (scale.tickFormat) {\n this.tickFormat = scale.tickFormat.apply(scale, this.tickArguments);\n }\n else {\n this.tickFormat = function (d) {\n if (d.constructor.name === 'Date') {\n return d.toLocaleDateString();\n }\n return d.toLocaleString();\n };\n }\n this.adjustedScale = scale.bandwidth\n ? function (d) {\n return scale(d) + scale.bandwidth() * 0.5;\n }\n : scale;\n if (this.showRefLines && this.referenceLines) {\n this.setReferencelines();\n }\n switch (this.orient) {\n case Orientation.Top:\n this.transform = function (tick) {\n return 'translate(' + this.adjustedScale(tick) + ',0)';\n };\n this.textAnchor = TextAnchor.Middle;\n this.y2 = this.innerTickSize * sign;\n this.y1 = this.tickSpacing * sign;\n this.dy = sign < 0 ? '0em' : '.71em';\n break;\n case Orientation.Bottom:\n this.transform = function (tick) {\n return 'translate(' + this.adjustedScale(tick) + ',0)';\n };\n this.textAnchor = TextAnchor.Middle;\n this.y2 = this.innerTickSize * sign;\n this.y1 = this.tickSpacing * sign;\n this.dy = sign < 0 ? '0em' : '.71em';\n break;\n case Orientation.Left:\n this.transform = function (tick) {\n return 'translate(0,' + this.adjustedScale(tick) + ')';\n };\n this.textAnchor = TextAnchor.End;\n this.x2 = this.innerTickSize * -sign;\n this.x1 = this.tickSpacing * -sign;\n this.dy = '.32em';\n break;\n case Orientation.Right:\n this.transform = function (tick) {\n return 'translate(0,' + this.adjustedScale(tick) + ')';\n };\n this.textAnchor = TextAnchor.Start;\n this.x2 = this.innerTickSize * -sign;\n this.x1 = this.tickSpacing * -sign;\n this.dy = '.32em';\n break;\n default:\n }\n setTimeout(() => this.updateDims());\n }\n setReferencelines() {\n this.refMin = this.adjustedScale(Math.min.apply(null, this.referenceLines.map(item => item.value)));\n this.refMax = this.adjustedScale(Math.max.apply(null, this.referenceLines.map(item => item.value)));\n this.referenceLineLength = this.referenceLines.length;\n this.referenceAreaPath = roundedRect(0, this.refMax, this.gridLineWidth, this.refMin - this.refMax, 0, [\n false,\n false,\n false,\n false\n ]);\n }\n getTicks() {\n let ticks;\n const maxTicks = this.getMaxTicks(20);\n const maxScaleTicks = this.getMaxTicks(50);\n if (this.tickValues) {\n ticks = this.tickValues;\n }\n else if (this.scale.ticks) {\n ticks = this.scale.ticks.apply(this.scale, [maxScaleTicks]);\n }\n else {\n ticks = this.scale.domain();\n ticks = reduceTicks(ticks, maxTicks);\n }\n return ticks;\n }\n getMaxTicks(tickHeight) {\n return Math.floor(this.height / tickHeight);\n }\n tickTransform(tick) {\n return `translate(${this.adjustedScale(tick)},${this.verticalSpacing})`;\n }\n gridLineTransform() {\n return `translate(5,0)`;\n }\n tickTrim(label) {\n return this.trimTicks ? trimLabel(label, this.maxTickLength) : label;\n }\n getApproximateAxisWidth() {\n const maxChars = Math.max(...this.ticks.map(t => this.tickTrim(this.tickFormat(t)).length));\n const charWidth = 7;\n return maxChars * charWidth;\n }\n}\nYAxisTicksComponent.ɵfac = function YAxisTicksComponent_Factory(t) { return new (t || YAxisTicksComponent)(ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID)); };\nYAxisTicksComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: YAxisTicksComponent, selectors: [[\"g\", \"ngx-charts-y-axis-ticks\", \"\"]], viewQuery: function YAxisTicksComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c4, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.ticksElement = _t.first);\n } }, inputs: { tickArguments: \"tickArguments\", tickStroke: \"tickStroke\", trimTicks: \"trimTicks\", maxTickLength: \"maxTickLength\", showGridLines: \"showGridLines\", showRefLabels: \"showRefLabels\", showRefLines: \"showRefLines\", scale: \"scale\", orient: \"orient\", tickValues: \"tickValues\", tickFormatting: \"tickFormatting\", gridLineWidth: \"gridLineWidth\", height: \"height\", referenceLines: \"referenceLines\" }, outputs: { dimensionsChanged: \"dimensionsChanged\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c7, decls: 6, vars: 4, consts: [[\"ticksel\", \"\"], [\"class\", \"tick\", 4, \"ngFor\", \"ngForOf\"], [\"class\", \"reference-area\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\"], [1, \"tick\"], [\"stroke-width\", \"0.01\"], [1, \"reference-area\"], [4, \"ngIf\"], [\"class\", \"gridline-path gridline-path-horizontal\", \"x1\", \"0\", 4, \"ngIf\"], [\"x1\", \"0\", 1, \"gridline-path\", \"gridline-path-horizontal\"], [\"x1\", \"0\", 1, \"refline-path\", \"gridline-path-horizontal\"], [1, \"refline-label\"]], template: function YAxisTicksComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", null, 0);\n ɵngcc0.ɵɵtemplate(2, YAxisTicksComponent__svg_g_2_Template, 5, 9, \"g\", 1);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(3, YAxisTicksComponent__svg_path_3_Template, 1, 2, \"path\", 2);\n ɵngcc0.ɵɵtemplate(4, YAxisTicksComponent__svg_g_4_Template, 2, 2, \"g\", 3);\n ɵngcc0.ɵɵtemplate(5, YAxisTicksComponent__svg_g_5_Template, 2, 1, \"g\", 3);\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.ticks);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.referenceLineLength > 1 && ctx.refMax && ctx.refMin && ctx.showRefLines);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.ticks);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.referenceLines);\n } }, dependencies: [ɵngcc1.NgForOf, ɵngcc1.NgIf], encapsulation: 2, changeDetection: 0 });\nYAxisTicksComponent.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\nYAxisTicksComponent.propDecorators = {\n scale: [{ type: Input }],\n orient: [{ type: Input }],\n tickArguments: [{ type: Input }],\n tickValues: [{ type: Input }],\n tickStroke: [{ type: Input }],\n trimTicks: [{ type: Input }],\n maxTickLength: [{ type: Input }],\n tickFormatting: [{ type: Input }],\n showGridLines: [{ type: Input }],\n gridLineWidth: [{ type: Input }],\n height: [{ type: Input }],\n referenceLines: [{ type: Input }],\n showRefLabels: [{ type: Input }],\n showRefLines: [{ type: Input }],\n dimensionsChanged: [{ type: Output }],\n ticksElement: [{ type: ViewChild, args: ['ticksel',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(YAxisTicksComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-y-axis-ticks]',\n template: `\n <svg:g #ticksel>\n <svg:g *ngFor=\"let tick of ticks\" class=\"tick\" [attr.transform]=\"transform(tick)\">\n <title>{{ tickFormat(tick) }}</title>\n <svg:text\n stroke-width=\"0.01\"\n [attr.dy]=\"dy\"\n [attr.x]=\"x1\"\n [attr.y]=\"y1\"\n [attr.text-anchor]=\"textAnchor\"\n [style.font-size]=\"'12px'\"\n >\n {{ tickTrim(tickFormat(tick)) }}\n </svg:text>\n </svg:g>\n </svg:g>\n\n <svg:path\n *ngIf=\"referenceLineLength > 1 && refMax && refMin && showRefLines\"\n class=\"reference-area\"\n [attr.d]=\"referenceAreaPath\"\n [attr.transform]=\"gridLineTransform()\"\n />\n <svg:g *ngFor=\"let tick of ticks\" [attr.transform]=\"transform(tick)\">\n <svg:g *ngIf=\"showGridLines\" [attr.transform]=\"gridLineTransform()\">\n <svg:line\n *ngIf=\"orient === Orientation.Left\"\n class=\"gridline-path gridline-path-horizontal\"\n x1=\"0\"\n [attr.x2]=\"gridLineWidth\"\n />\n <svg:line\n *ngIf=\"orient === Orientation.Right\"\n class=\"gridline-path gridline-path-horizontal\"\n x1=\"0\"\n [attr.x2]=\"-gridLineWidth\"\n />\n </svg:g>\n </svg:g>\n\n <svg:g *ngFor=\"let refLine of referenceLines\">\n <svg:g *ngIf=\"showRefLines\" [attr.transform]=\"transform(refLine.value)\">\n <svg:line\n class=\"refline-path gridline-path-horizontal\"\n x1=\"0\"\n [attr.x2]=\"gridLineWidth\"\n [attr.transform]=\"gridLineTransform()\"\n />\n <svg:g *ngIf=\"showRefLabels\">\n <title>{{ tickTrim(tickFormat(refLine.value)) }}</title>\n <svg:text\n class=\"refline-label\"\n [attr.dy]=\"dy\"\n [attr.y]=\"-6\"\n [attr.x]=\"gridLineWidth\"\n [attr.text-anchor]=\"textAnchor\"\n >\n {{ refLine.name }}\n </svg:text>\n </svg:g>\n </svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, { tickArguments: [{\n type: Input\n }], tickStroke: [{\n type: Input\n }], trimTicks: [{\n type: Input\n }], maxTickLength: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], showRefLabels: [{\n type: Input\n }], showRefLines: [{\n type: Input\n }], dimensionsChanged: [{\n type: Output\n }], scale: [{\n type: Input\n }], orient: [{\n type: Input\n }], tickValues: [{\n type: Input\n }], tickFormatting: [{\n type: Input\n }], gridLineWidth: [{\n type: Input\n }], height: [{\n type: Input\n }], referenceLines: [{\n type: Input\n }], ticksElement: [{\n type: ViewChild,\n args: ['ticksel']\n }] }); })();\n\nclass YAxisComponent {\n constructor() {\n this.showGridLines = false;\n this.yOrient = Orientation.Left;\n this.yAxisOffset = 0;\n this.dimensionsChanged = new EventEmitter();\n this.yAxisClassName = 'y axis';\n this.labelOffset = 15;\n this.fill = 'none';\n this.stroke = '#CCC';\n this.tickStroke = '#CCC';\n this.strokeWidth = 1;\n this.padding = 5;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.offset = -(this.yAxisOffset + this.padding);\n if (this.yOrient === Orientation.Right) {\n this.labelOffset = 65;\n this.transform = `translate(${this.offset + this.dims.width} , 0)`;\n }\n else {\n this.offset = this.offset;\n this.transform = `translate(${this.offset} , 0)`;\n }\n if (this.yAxisTickCount !== undefined) {\n this.tickArguments = [this.yAxisTickCount];\n }\n }\n emitTicksWidth({ width }) {\n if (width !== this.labelOffset && this.yOrient === Orientation.Right) {\n this.labelOffset = width + this.labelOffset;\n setTimeout(() => {\n this.dimensionsChanged.emit({ width });\n }, 0);\n }\n else if (width !== this.labelOffset) {\n this.labelOffset = width;\n setTimeout(() => {\n this.dimensionsChanged.emit({ width });\n }, 0);\n }\n }\n}\nYAxisComponent.ɵfac = function YAxisComponent_Factory(t) { return new (t || YAxisComponent)(); };\nYAxisComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: YAxisComponent, selectors: [[\"g\", \"ngx-charts-y-axis\", \"\"]], viewQuery: function YAxisComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(YAxisTicksComponent, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.ticksComponent = _t.first);\n } }, inputs: { showGridLines: \"showGridLines\", yOrient: \"yOrient\", yAxisOffset: \"yAxisOffset\", yScale: \"yScale\", dims: \"dims\", trimTicks: \"trimTicks\", maxTickLength: \"maxTickLength\", tickFormatting: \"tickFormatting\", ticks: \"ticks\", showLabel: \"showLabel\", labelText: \"labelText\", yAxisTickCount: \"yAxisTickCount\", referenceLines: \"referenceLines\", showRefLines: \"showRefLines\", showRefLabels: \"showRefLabels\" }, outputs: { dimensionsChanged: \"dimensionsChanged\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c8, decls: 3, vars: 4, consts: [[\"ngx-charts-y-axis-ticks\", \"\", 3, \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"tickArguments\", \"tickValues\", \"tickStroke\", \"scale\", \"orient\", \"showGridLines\", \"gridLineWidth\", \"referenceLines\", \"showRefLines\", \"showRefLabels\", \"height\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\", 4, \"ngIf\"], [\"ngx-charts-y-axis-ticks\", \"\", 3, \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"tickArguments\", \"tickValues\", \"tickStroke\", \"scale\", \"orient\", \"showGridLines\", \"gridLineWidth\", \"referenceLines\", \"showRefLines\", \"showRefLabels\", \"height\", \"dimensionsChanged\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\"]], template: function YAxisComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, YAxisComponent__svg_g_1_Template, 1, 14, \"g\", 0);\n ɵngcc0.ɵɵtemplate(2, YAxisComponent__svg_g_2_Template, 1, 5, \"g\", 1);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"class\", ctx.yAxisClassName)(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yScale);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showLabel);\n } }, dependencies: [ɵngcc1.NgIf, AxisLabelComponent, YAxisTicksComponent], encapsulation: 2, changeDetection: 0 });\nYAxisComponent.propDecorators = {\n yScale: [{ type: Input }],\n dims: [{ type: Input }],\n trimTicks: [{ type: Input }],\n maxTickLength: [{ type: Input }],\n tickFormatting: [{ type: Input }],\n ticks: [{ type: Input }],\n showGridLines: [{ type: Input }],\n showLabel: [{ type: Input }],\n labelText: [{ type: Input }],\n yAxisTickCount: [{ type: Input }],\n yOrient: [{ type: Input }],\n referenceLines: [{ type: Input }],\n showRefLines: [{ type: Input }],\n showRefLabels: [{ type: Input }],\n yAxisOffset: [{ type: Input }],\n dimensionsChanged: [{ type: Output }],\n ticksComponent: [{ type: ViewChild, args: [YAxisTicksComponent,] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(YAxisComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-y-axis]',\n template: `\n <svg:g [attr.class]=\"yAxisClassName\" [attr.transform]=\"transform\">\n <svg:g\n ngx-charts-y-axis-ticks\n *ngIf=\"yScale\"\n [trimTicks]=\"trimTicks\"\n [maxTickLength]=\"maxTickLength\"\n [tickFormatting]=\"tickFormatting\"\n [tickArguments]=\"tickArguments\"\n [tickValues]=\"ticks\"\n [tickStroke]=\"tickStroke\"\n [scale]=\"yScale\"\n [orient]=\"yOrient\"\n [showGridLines]=\"showGridLines\"\n [gridLineWidth]=\"dims.width\"\n [referenceLines]=\"referenceLines\"\n [showRefLines]=\"showRefLines\"\n [showRefLabels]=\"showRefLabels\"\n [height]=\"dims.height\"\n (dimensionsChanged)=\"emitTicksWidth($event)\"\n />\n\n <svg:g\n ngx-charts-axis-label\n *ngIf=\"showLabel\"\n [label]=\"labelText\"\n [offset]=\"labelOffset\"\n [orient]=\"yOrient\"\n [height]=\"dims.height\"\n [width]=\"dims.width\"\n ></svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { showGridLines: [{\n type: Input\n }], yOrient: [{\n type: Input\n }], yAxisOffset: [{\n type: Input\n }], dimensionsChanged: [{\n type: Output\n }], yScale: [{\n type: Input\n }], dims: [{\n type: Input\n }], trimTicks: [{\n type: Input\n }], maxTickLength: [{\n type: Input\n }], tickFormatting: [{\n type: Input\n }], ticks: [{\n type: Input\n }], showLabel: [{\n type: Input\n }], labelText: [{\n type: Input\n }], yAxisTickCount: [{\n type: Input\n }], referenceLines: [{\n type: Input\n }], showRefLines: [{\n type: Input\n }], showRefLabels: [{\n type: Input\n }], ticksComponent: [{\n type: ViewChild,\n args: [YAxisTicksComponent]\n }] }); })();\n\nclass AxesModule {\n}\nAxesModule.ɵfac = function AxesModule_Factory(t) { return new (t || AxesModule)(); };\nAxesModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: AxesModule });\nAxesModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [CommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AxesModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: [AxisLabelComponent, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent],\n exports: [AxisLabelComponent, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(AxesModule, { declarations: function () { return [AxisLabelComponent, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent]; }, imports: function () { return [CommonModule]; }, exports: function () { return [AxisLabelComponent, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent]; } }); })();\n\nvar StyleTypes;\n(function (StyleTypes) {\n StyleTypes[\"popover\"] = \"popover\";\n StyleTypes[\"tooltip\"] = \"tooltip\";\n})(StyleTypes || (StyleTypes = {}));\n\nvar ShowTypes;\n(function (ShowTypes) {\n ShowTypes[ShowTypes[\"all\"] = 'all'] = \"all\";\n ShowTypes[ShowTypes[\"focus\"] = 'focus'] = \"focus\";\n ShowTypes[ShowTypes[\"mouseover\"] = 'mouseover'] = \"mouseover\";\n})(ShowTypes || (ShowTypes = {}));\n\nclass TooltipDirective {\n constructor(tooltipService, viewContainerRef, renderer) {\n this.tooltipService = tooltipService;\n this.viewContainerRef = viewContainerRef;\n this.renderer = renderer;\n this.tooltipCssClass = '';\n this.tooltipAppendToBody = true;\n this.tooltipSpacing = 10;\n this.tooltipDisabled = false;\n this.tooltipShowCaret = true;\n this.tooltipPlacement = PlacementTypes.Top;\n this.tooltipAlignment = PlacementTypes.Center;\n this.tooltipType = StyleTypes.popover;\n this.tooltipCloseOnClickOutside = true;\n this.tooltipCloseOnMouseLeave = true;\n this.tooltipHideTimeout = 300;\n this.tooltipShowTimeout = 100;\n this.tooltipShowEvent = ShowTypes.all;\n this.tooltipImmediateExit = false;\n this.show = new EventEmitter();\n this.hide = new EventEmitter();\n }\n get listensForFocus() {\n return this.tooltipShowEvent === ShowTypes.all || this.tooltipShowEvent === ShowTypes.focus;\n }\n get listensForHover() {\n return this.tooltipShowEvent === ShowTypes.all || this.tooltipShowEvent === ShowTypes.mouseover;\n }\n ngOnDestroy() {\n this.hideTooltip(true);\n }\n onFocus() {\n if (this.listensForFocus) {\n this.showTooltip();\n }\n }\n onBlur() {\n if (this.listensForFocus) {\n this.hideTooltip(true);\n }\n }\n onMouseEnter() {\n if (this.listensForHover) {\n this.showTooltip();\n }\n }\n onMouseLeave(target) {\n if (this.listensForHover && this.tooltipCloseOnMouseLeave) {\n clearTimeout(this.timeout);\n if (this.component) {\n const contentDom = this.component.instance.element.nativeElement;\n const contains = contentDom.contains(target);\n if (contains)\n return;\n }\n this.hideTooltip(this.tooltipImmediateExit);\n }\n }\n onMouseClick() {\n if (this.listensForHover) {\n this.hideTooltip(true);\n }\n }\n showTooltip(immediate) {\n if (this.component || this.tooltipDisabled)\n return;\n const time = immediate\n ? 0\n : this.tooltipShowTimeout + (navigator.userAgent.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/) ? 300 : 0);\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.tooltipService.destroyAll();\n const options = this.createBoundOptions();\n this.component = this.tooltipService.create(options);\n // add a tiny timeout to avoid event re-triggers\n setTimeout(() => {\n if (this.component) {\n this.addHideListeners(this.component.instance.element.nativeElement);\n }\n }, 10);\n this.show.emit(true);\n }, time);\n }\n addHideListeners(tooltip) {\n // on mouse enter, cancel the hide triggered by the leave\n this.mouseEnterContentEvent = this.renderer.listen(tooltip, 'mouseenter', () => {\n clearTimeout(this.timeout);\n });\n // content mouse leave listener\n if (this.tooltipCloseOnMouseLeave) {\n this.mouseLeaveContentEvent = this.renderer.listen(tooltip, 'mouseleave', () => {\n this.hideTooltip(this.tooltipImmediateExit);\n });\n }\n // content close on click outside\n if (this.tooltipCloseOnClickOutside) {\n this.documentClickEvent = this.renderer.listen('window', 'click', event => {\n const contains = tooltip.contains(event.target);\n if (!contains)\n this.hideTooltip();\n });\n }\n }\n hideTooltip(immediate = false) {\n if (!this.component)\n return;\n const destroyFn = () => {\n // remove events\n if (this.mouseLeaveContentEvent)\n this.mouseLeaveContentEvent();\n if (this.mouseEnterContentEvent)\n this.mouseEnterContentEvent();\n if (this.documentClickEvent)\n this.documentClickEvent();\n // emit events\n this.hide.emit(true);\n // destroy component\n this.tooltipService.destroy(this.component);\n this.component = undefined;\n };\n clearTimeout(this.timeout);\n if (!immediate) {\n this.timeout = setTimeout(destroyFn, this.tooltipHideTimeout);\n }\n else {\n destroyFn();\n }\n }\n createBoundOptions() {\n return {\n title: this.tooltipTitle,\n template: this.tooltipTemplate,\n host: this.viewContainerRef.element,\n placement: this.tooltipPlacement,\n alignment: this.tooltipAlignment,\n type: this.tooltipType,\n showCaret: this.tooltipShowCaret,\n cssClass: this.tooltipCssClass,\n spacing: this.tooltipSpacing,\n context: this.tooltipContext\n };\n }\n}\nTooltipDirective.ɵfac = function TooltipDirective_Factory(t) { return new (t || TooltipDirective)(ɵngcc0.ɵɵdirectiveInject(TooltipService), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nTooltipDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: TooltipDirective, selectors: [[\"\", \"ngx-tooltip\", \"\"]], hostBindings: function TooltipDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"focusin\", function TooltipDirective_focusin_HostBindingHandler() { return ctx.onFocus(); })(\"blur\", function TooltipDirective_blur_HostBindingHandler() { return ctx.onBlur(); })(\"mouseenter\", function TooltipDirective_mouseenter_HostBindingHandler() { return ctx.onMouseEnter(); })(\"mouseleave\", function TooltipDirective_mouseleave_HostBindingHandler($event) { return ctx.onMouseLeave($event.target); })(\"click\", function TooltipDirective_click_HostBindingHandler() { return ctx.onMouseClick(); });\n } }, inputs: { tooltipCssClass: \"tooltipCssClass\", tooltipAppendToBody: \"tooltipAppendToBody\", tooltipSpacing: \"tooltipSpacing\", tooltipDisabled: \"tooltipDisabled\", tooltipShowCaret: \"tooltipShowCaret\", tooltipPlacement: \"tooltipPlacement\", tooltipAlignment: \"tooltipAlignment\", tooltipType: \"tooltipType\", tooltipCloseOnClickOutside: \"tooltipCloseOnClickOutside\", tooltipCloseOnMouseLeave: \"tooltipCloseOnMouseLeave\", tooltipHideTimeout: \"tooltipHideTimeout\", tooltipShowTimeout: \"tooltipShowTimeout\", tooltipShowEvent: \"tooltipShowEvent\", tooltipImmediateExit: \"tooltipImmediateExit\", tooltipTitle: \"tooltipTitle\", tooltipTemplate: \"tooltipTemplate\", tooltipContext: \"tooltipContext\" }, outputs: { show: \"show\", hide: \"hide\" } });\nTooltipDirective.ctorParameters = () => [\n { type: TooltipService },\n { type: ViewContainerRef },\n { type: Renderer2 }\n];\nTooltipDirective.propDecorators = {\n tooltipCssClass: [{ type: Input }],\n tooltipTitle: [{ type: Input }],\n tooltipAppendToBody: [{ type: Input }],\n tooltipSpacing: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipShowCaret: [{ type: Input }],\n tooltipPlacement: [{ type: Input }],\n tooltipAlignment: [{ type: Input }],\n tooltipType: [{ type: Input }],\n tooltipCloseOnClickOutside: [{ type: Input }],\n tooltipCloseOnMouseLeave: [{ type: Input }],\n tooltipHideTimeout: [{ type: Input }],\n tooltipShowTimeout: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n tooltipShowEvent: [{ type: Input }],\n tooltipContext: [{ type: Input }],\n tooltipImmediateExit: [{ type: Input }],\n show: [{ type: Output }],\n hide: [{ type: Output }],\n onFocus: [{ type: HostListener, args: ['focusin',] }],\n onBlur: [{ type: HostListener, args: ['blur',] }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave', ['$event.target'],] }],\n onMouseClick: [{ type: HostListener, args: ['click',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TooltipDirective, [{\n type: Directive,\n args: [{ selector: '[ngx-tooltip]' }]\n }], function () { return [{ type: TooltipService }, { type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.Renderer2 }]; }, { tooltipCssClass: [{\n type: Input\n }], tooltipAppendToBody: [{\n type: Input\n }], tooltipSpacing: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], tooltipShowCaret: [{\n type: Input\n }], tooltipPlacement: [{\n type: Input\n }], tooltipAlignment: [{\n type: Input\n }], tooltipType: [{\n type: Input\n }], tooltipCloseOnClickOutside: [{\n type: Input\n }], tooltipCloseOnMouseLeave: [{\n type: Input\n }], tooltipHideTimeout: [{\n type: Input\n }], tooltipShowTimeout: [{\n type: Input\n }], tooltipShowEvent: [{\n type: Input\n }], tooltipImmediateExit: [{\n type: Input\n }], show: [{\n type: Output\n }], hide: [{\n type: Output\n }], onFocus: [{\n type: HostListener,\n args: ['focusin']\n }], onBlur: [{\n type: HostListener,\n args: ['blur']\n }], onMouseEnter: [{\n type: HostListener,\n args: ['mouseenter']\n }], onMouseLeave: [{\n type: HostListener,\n args: ['mouseleave', ['$event.target']]\n }], onMouseClick: [{\n type: HostListener,\n args: ['click']\n }], tooltipTitle: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }], tooltipContext: [{\n type: Input\n }] }); })();\n\nclass TooltipModule {\n}\nTooltipModule.ɵfac = function TooltipModule_Factory(t) { return new (t || TooltipModule)(); };\nTooltipModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: TooltipModule });\nTooltipModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [InjectionService, TooltipService], imports: [CommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TooltipModule, [{\n type: NgModule,\n args: [{\n declarations: [TooltipContentComponent, TooltipDirective],\n providers: [InjectionService, TooltipService],\n exports: [TooltipContentComponent, TooltipDirective],\n imports: [CommonModule],\n entryComponents: [TooltipContentComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TooltipModule, { declarations: function () { return [TooltipContentComponent, TooltipDirective]; }, imports: function () { return [CommonModule]; }, exports: function () { return [TooltipContentComponent, TooltipDirective]; } }); })();\n\n/**\n * Formats a label given a date, number or string.\n *\n * @export\n */\nfunction formatLabel(label) {\n if (label instanceof Date) {\n label = label.toLocaleDateString();\n }\n else {\n label = label.toLocaleString();\n }\n return label;\n}\n/**\n * Escapes a label.\n *\n * @export\n */\nfunction escapeLabel(label) {\n return label.toLocaleString().replace(/[&'`\"<>]/g, match => {\n return {\n '&': '&',\n // tslint:disable-next-line: quotemark\n \"'\": ''',\n '`': '`',\n '\"': '"',\n '<': '<',\n '>': '>'\n }[match];\n });\n}\n\nconst cache = {};\n/**\n * Generates a short id.\n *\n * Description:\n * A 4-character alphanumeric sequence (364 = 1.6 million)\n * This should only be used for JavaScript specific models.\n * http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js\n *\n * Example: `ebgf`\n */\nfunction id() {\n let newId = ('0000' + ((Math.random() * Math.pow(36, 4)) << 0).toString(36)).slice(-4);\n // append a 'a' because neo gets mad\n newId = `a${newId}`;\n // ensure not already used\n if (!cache[newId]) {\n cache[newId] = true;\n return newId;\n }\n return id();\n}\n\nvar BarOrientation;\n(function (BarOrientation) {\n BarOrientation[\"Vertical\"] = \"vertical\";\n BarOrientation[\"Horizontal\"] = \"horizontal\";\n})(BarOrientation || (BarOrientation = {}));\n\nvar SeriesType;\n(function (SeriesType) {\n SeriesType[\"Standard\"] = \"standard\";\n SeriesType[\"Stacked\"] = \"stacked\";\n})(SeriesType || (SeriesType = {}));\nclass CircleSeriesComponent {\n constructor() {\n this.type = SeriesType.Standard;\n this.tooltipDisabled = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.barVisible = false;\n this.barOrientation = BarOrientation;\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n ngOnInit() {\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n }\n ngOnChanges() {\n this.update();\n }\n update() {\n this.circle = this.getActiveCircle();\n }\n getActiveCircle() {\n const indexActiveDataPoint = this.data.series.findIndex(d => {\n const label = d.name;\n return label && this.visibleValue && label.toString() === this.visibleValue.toString() && d.value !== undefined;\n });\n if (indexActiveDataPoint === -1) {\n // No valid point is 'active/hovered over' at this moment.\n return undefined;\n }\n return this.mapDataPointToCircle(this.data.series[indexActiveDataPoint], indexActiveDataPoint);\n }\n mapDataPointToCircle(d, i) {\n const seriesName = this.data.name;\n const value = d.value;\n const label = d.name;\n const tooltipLabel = formatLabel(label);\n let cx;\n if (this.scaleType === ScaleType.Time) {\n cx = this.xScale(label);\n }\n else if (this.scaleType === ScaleType.Linear) {\n cx = this.xScale(Number(label));\n }\n else {\n cx = this.xScale(label);\n }\n const cy = this.yScale(this.type === SeriesType.Standard ? value : d.d1);\n const radius = 5;\n const height = this.yScale.range()[0] - cy;\n const opacity = 1;\n let color;\n if (this.colors.scaleType === ScaleType.Linear) {\n if (this.type === SeriesType.Standard) {\n color = this.colors.getColor(value);\n }\n else {\n color = this.colors.getColor(d.d1);\n }\n }\n else {\n color = this.colors.getColor(seriesName);\n }\n const data = Object.assign({}, d, {\n series: seriesName,\n value,\n name: label\n });\n return {\n classNames: [`circle-data-${i}`],\n value,\n label,\n data,\n cx,\n cy,\n radius,\n height,\n tooltipLabel,\n color,\n opacity,\n seriesName,\n gradientStops: this.getGradientStops(color),\n min: d.min,\n max: d.max\n };\n }\n getTooltipText({ tooltipLabel, value, seriesName, min, max }) {\n return `\n <span class=\"tooltip-label\">${escapeLabel(seriesName)} • ${escapeLabel(tooltipLabel)}</span>\n <span class=\"tooltip-val\">${value.toLocaleString()}${this.getTooltipMinMaxText(min, max)}</span>\n `;\n }\n getTooltipMinMaxText(min, max) {\n if (min !== undefined || max !== undefined) {\n let result = ' (';\n if (min !== undefined) {\n if (max === undefined) {\n result += '≥';\n }\n result += min.toLocaleString();\n if (max !== undefined) {\n result += ' - ';\n }\n }\n else if (max !== undefined) {\n result += '≤';\n }\n if (max !== undefined) {\n result += max.toLocaleString();\n }\n result += ')';\n return result;\n }\n else {\n return '';\n }\n }\n getGradientStops(color) {\n return [\n {\n offset: 0,\n color,\n opacity: 0.2\n },\n {\n offset: 100,\n color,\n opacity: 1\n }\n ];\n }\n onClick(data) {\n this.select.emit(data);\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n activateCircle() {\n this.barVisible = true;\n this.activate.emit({ name: this.data.name });\n }\n deactivateCircle() {\n this.barVisible = false;\n this.circle.opacity = 0;\n this.deactivate.emit({ name: this.data.name });\n }\n}\nCircleSeriesComponent.ɵfac = function CircleSeriesComponent_Factory(t) { return new (t || CircleSeriesComponent)(); };\nCircleSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CircleSeriesComponent, selectors: [[\"g\", \"ngx-charts-circle-series\", \"\"]], inputs: { type: \"type\", tooltipDisabled: \"tooltipDisabled\", data: \"data\", xScale: \"xScale\", yScale: \"yScale\", colors: \"colors\", scaleType: \"scaleType\", visibleValue: \"visibleValue\", activeEntries: \"activeEntries\", tooltipTemplate: \"tooltipTemplate\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c9, decls: 1, vars: 1, consts: [[4, \"ngIf\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"], [\"class\", \"tooltip-bar\", 4, \"ngIf\"], [\"ngx-charts-circle\", \"\", \"ngx-tooltip\", \"\", 1, \"circle\", 3, \"cx\", \"cy\", \"r\", \"fill\", \"pointerEvents\", \"data\", \"classNames\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\"], [1, \"tooltip-bar\"]], template: function CircleSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CircleSeriesComponent__svg_g_0_Template, 5, 21, \"g\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.circle);\n } }, dependencies: function () { return [ɵngcc1.NgIf, TooltipDirective, CircleComponent, SvgLinearGradientComponent]; }, encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':enter', [\n style({\n opacity: 0\n }),\n animate(250, style({ opacity: 1 }))\n ])\n ])\n ] }, changeDetection: 0 });\nCircleSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n type: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n scaleType: [{ type: Input }],\n visibleValue: [{ type: Input }],\n activeEntries: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CircleSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-circle-series]',\n template: `\n <svg:g *ngIf=\"circle\">\n <defs>\n <svg:g\n ngx-charts-svg-linear-gradient\n [orientation]=\"barOrientation.Vertical\"\n [name]=\"gradientId\"\n [stops]=\"circle.gradientStops\"\n />\n </defs>\n <svg:rect\n *ngIf=\"barVisible && type === 'standard'\"\n [@animationState]=\"'active'\"\n [attr.x]=\"circle.cx - circle.radius\"\n [attr.y]=\"circle.cy\"\n [attr.width]=\"circle.radius * 2\"\n [attr.height]=\"circle.height\"\n [attr.fill]=\"gradientFill\"\n class=\"tooltip-bar\"\n />\n <svg:g\n ngx-charts-circle\n class=\"circle\"\n [cx]=\"circle.cx\"\n [cy]=\"circle.cy\"\n [r]=\"circle.radius\"\n [fill]=\"circle.color\"\n [class.active]=\"isActive({ name: circle.seriesName })\"\n [pointerEvents]=\"circle.value === 0 ? 'none' : 'all'\"\n [data]=\"circle.value\"\n [classNames]=\"circle.classNames\"\n (select)=\"onClick(circle.data)\"\n (activate)=\"activateCircle()\"\n (deactivate)=\"deactivateCircle()\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"placementTypes.Top\"\n [tooltipType]=\"styleTypes.tooltip\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : getTooltipText(circle)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"circle.data\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':enter', [\n style({\n opacity: 0\n }),\n animate(250, style({ opacity: 1 }))\n ])\n ])\n ]\n }]\n }], function () { return []; }, { type: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], data: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], colors: [{\n type: Input\n }], scaleType: [{\n type: Input\n }], visibleValue: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }] }); })();\n\nclass CircleComponent {\n constructor() {\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n onClick() {\n this.select.emit(this.data);\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n ngOnChanges(changes) {\n this.classNames = Array.isArray(this.classNames) ? this.classNames.join(' ') : '';\n this.classNames += 'circle';\n }\n}\nCircleComponent.ɵfac = function CircleComponent_Factory(t) { return new (t || CircleComponent)(); };\nCircleComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CircleComponent, selectors: [[\"g\", \"ngx-charts-circle\", \"\"]], hostBindings: function CircleComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CircleComponent_click_HostBindingHandler() { return ctx.onClick(); })(\"mouseenter\", function CircleComponent_mouseenter_HostBindingHandler() { return ctx.onMouseEnter(); })(\"mouseleave\", function CircleComponent_mouseleave_HostBindingHandler() { return ctx.onMouseLeave(); });\n } }, inputs: { classNames: \"classNames\", cx: \"cx\", cy: \"cy\", r: \"r\", fill: \"fill\", stroke: \"stroke\", data: \"data\", circleOpacity: \"circleOpacity\", pointerEvents: \"pointerEvents\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c11, decls: 1, vars: 8, template: function CircleComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"circle\");\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"cx\", ctx.cx)(\"cy\", ctx.cy)(\"r\", ctx.r)(\"fill\", ctx.fill)(\"stroke\", ctx.stroke)(\"opacity\", ctx.circleOpacity)(\"class\", ctx.classNames)(\"pointer-events\", ctx.pointerEvents);\n } }, encapsulation: 2, changeDetection: 0 });\nCircleComponent.propDecorators = {\n cx: [{ type: Input }],\n cy: [{ type: Input }],\n r: [{ type: Input }],\n fill: [{ type: Input }],\n stroke: [{ type: Input }],\n data: [{ type: Input }],\n classNames: [{ type: Input }],\n circleOpacity: [{ type: Input }],\n pointerEvents: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n onClick: [{ type: HostListener, args: ['click',] }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CircleComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-circle]',\n template: `\n <svg:circle\n [attr.cx]=\"cx\"\n [attr.cy]=\"cy\"\n [attr.r]=\"r\"\n [attr.fill]=\"fill\"\n [attr.stroke]=\"stroke\"\n [attr.opacity]=\"circleOpacity\"\n [attr.class]=\"classNames\"\n [attr.pointer-events]=\"pointerEvents\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], onClick: [{\n type: HostListener,\n args: ['click']\n }], onMouseEnter: [{\n type: HostListener,\n args: ['mouseenter']\n }], onMouseLeave: [{\n type: HostListener,\n args: ['mouseleave']\n }], classNames: [{\n type: Input\n }], cx: [{\n type: Input\n }], cy: [{\n type: Input\n }], r: [{\n type: Input\n }], fill: [{\n type: Input\n }], stroke: [{\n type: Input\n }], data: [{\n type: Input\n }], circleOpacity: [{\n type: Input\n }], pointerEvents: [{\n type: Input\n }] }); })();\n\nclass GridPanelComponent {\n}\nGridPanelComponent.ɵfac = function GridPanelComponent_Factory(t) { return new (t || GridPanelComponent)(); };\nGridPanelComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: GridPanelComponent, selectors: [[\"g\", \"ngx-charts-grid-panel\", \"\"]], inputs: { width: \"width\", height: \"height\", x: \"x\", y: \"y\" }, attrs: _c12, decls: 1, vars: 4, consts: [[\"stroke\", \"none\", 1, \"gridpanel\"]], template: function GridPanelComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"rect\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"height\", ctx.height)(\"width\", ctx.width)(\"x\", ctx.x)(\"y\", ctx.y);\n } }, encapsulation: 2, changeDetection: 0 });\nGridPanelComponent.propDecorators = {\n width: [{ type: Input }],\n height: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridPanelComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-grid-panel]',\n template: `\n <svg:rect [attr.height]=\"height\" [attr.width]=\"width\" [attr.x]=\"x\" [attr.y]=\"y\" stroke=\"none\" class=\"gridpanel\" />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], null, { width: [{\n type: Input\n }], height: [{\n type: Input\n }], x: [{\n type: Input\n }], y: [{\n type: Input\n }] }); })();\n\nvar ClassEnum;\n(function (ClassEnum) {\n ClassEnum[\"Odd\"] = \"odd\";\n ClassEnum[\"Even\"] = \"even\";\n})(ClassEnum || (ClassEnum = {}));\nclass GridPanelSeriesComponent {\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.gridPanels = this.getGridPanels();\n }\n getGridPanels() {\n return this.data.map(d => {\n let offset;\n let width;\n let height;\n let x;\n let y;\n let className = ClassEnum.Odd;\n if (this.orient === BarOrientation.Vertical) {\n const position = this.xScale(d.name);\n const positionIndex = Number.parseInt((position / this.xScale.step()).toString(), 10);\n if (positionIndex % 2 === 1) {\n className = ClassEnum.Even;\n }\n offset = this.xScale.bandwidth() * this.xScale.paddingInner();\n width = this.xScale.bandwidth() + offset;\n height = this.dims.height;\n x = this.xScale(d.name) - offset / 2;\n y = 0;\n }\n else if (this.orient === BarOrientation.Horizontal) {\n const position = this.yScale(d.name);\n const positionIndex = Number.parseInt((position / this.yScale.step()).toString(), 10);\n if (positionIndex % 2 === 1) {\n className = ClassEnum.Even;\n }\n offset = this.yScale.bandwidth() * this.yScale.paddingInner();\n width = this.dims.width;\n height = this.yScale.bandwidth() + offset;\n x = 0;\n y = this.yScale(d.name) - offset / 2;\n }\n return {\n name: d.name,\n class: className,\n height,\n width,\n x,\n y\n };\n });\n }\n}\nGridPanelSeriesComponent.ɵfac = function GridPanelSeriesComponent_Factory(t) { return new (t || GridPanelSeriesComponent)(); };\nGridPanelSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: GridPanelSeriesComponent, selectors: [[\"g\", \"ngx-charts-grid-panel-series\", \"\"]], inputs: { data: \"data\", dims: \"dims\", xScale: \"xScale\", yScale: \"yScale\", orient: \"orient\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c13, decls: 1, vars: 1, consts: [[\"ngx-charts-grid-panel\", \"\", 3, \"height\", \"width\", \"x\", \"y\", \"grid-panel\", \"odd\", \"even\", 4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-grid-panel\", \"\", 3, \"height\", \"width\", \"x\", \"y\"]], template: function GridPanelSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, GridPanelSeriesComponent__svg_g_0_Template, 1, 10, \"g\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.gridPanels);\n } }, dependencies: [ɵngcc1.NgForOf, GridPanelComponent], encapsulation: 2, changeDetection: 0 });\nGridPanelSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n dims: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n orient: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GridPanelSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-grid-panel-series]',\n template: `\n <svg:g\n ngx-charts-grid-panel\n *ngFor=\"let gridPanel of gridPanels\"\n [height]=\"gridPanel.height\"\n [width]=\"gridPanel.width\"\n [x]=\"gridPanel.x\"\n [y]=\"gridPanel.y\"\n [class.grid-panel]=\"true\"\n [class.odd]=\"gridPanel.class === 'odd'\"\n [class.even]=\"gridPanel.class === 'even'\"\n ></svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], null, { data: [{\n type: Input\n }], dims: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], orient: [{\n type: Input\n }] }); })();\n\nclass SvgLinearGradientComponent {\n constructor() {\n this.orientation = BarOrientation.Vertical;\n }\n ngOnChanges(changes) {\n this.x1 = '0%';\n this.x2 = '0%';\n this.y1 = '0%';\n this.y2 = '0%';\n if (this.orientation === BarOrientation.Horizontal) {\n this.x2 = '100%';\n }\n else if (this.orientation === BarOrientation.Vertical) {\n this.y1 = '100%';\n }\n }\n}\nSvgLinearGradientComponent.ɵfac = function SvgLinearGradientComponent_Factory(t) { return new (t || SvgLinearGradientComponent)(); };\nSvgLinearGradientComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: SvgLinearGradientComponent, selectors: [[\"g\", \"ngx-charts-svg-linear-gradient\", \"\"]], inputs: { orientation: \"orientation\", name: \"name\", stops: \"stops\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c14, decls: 2, vars: 6, consts: [[3, \"id\"], [3, \"stop-color\", \"stop-opacity\", 4, \"ngFor\", \"ngForOf\"]], template: function SvgLinearGradientComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"linearGradient\", 0);\n ɵngcc0.ɵɵtemplate(1, SvgLinearGradientComponent__svg_stop_1_Template, 1, 5, \"stop\", 1);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"id\", ctx.name);\n ɵngcc0.ɵɵattribute(\"x1\", ctx.x1)(\"y1\", ctx.y1)(\"x2\", ctx.x2)(\"y2\", ctx.y2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.stops);\n } }, dependencies: [ɵngcc1.NgForOf], encapsulation: 2, changeDetection: 0 });\nSvgLinearGradientComponent.propDecorators = {\n orientation: [{ type: Input }],\n name: [{ type: Input }],\n stops: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SvgLinearGradientComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-svg-linear-gradient]',\n template: `\n <svg:linearGradient [id]=\"name\" [attr.x1]=\"x1\" [attr.y1]=\"y1\" [attr.x2]=\"x2\" [attr.y2]=\"y2\">\n <svg:stop\n *ngFor=\"let stop of stops\"\n [attr.offset]=\"stop.offset + '%'\"\n [style.stop-color]=\"stop.color\"\n [style.stop-opacity]=\"stop.opacity\"\n />\n </svg:linearGradient>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { orientation: [{\n type: Input\n }], name: [{\n type: Input\n }], stops: [{\n type: Input\n }] }); })();\n\nclass SvgRadialGradientComponent {\n constructor() {\n this.endOpacity = 1;\n this.cx = 0;\n this.cy = 0;\n }\n get stops() {\n return this.stopsInput || this.stopsDefault;\n }\n set stops(value) {\n this.stopsInput = value;\n }\n ngOnChanges(changes) {\n this.r = '30%';\n if ('color' in changes || 'startOpacity' in changes || 'endOpacity' in changes) {\n this.stopsDefault = [\n {\n offset: 0,\n color: this.color,\n opacity: this.startOpacity\n },\n {\n offset: 100,\n color: this.color,\n opacity: this.endOpacity\n }\n ];\n }\n }\n}\nSvgRadialGradientComponent.ɵfac = function SvgRadialGradientComponent_Factory(t) { return new (t || SvgRadialGradientComponent)(); };\nSvgRadialGradientComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: SvgRadialGradientComponent, selectors: [[\"g\", \"ngx-charts-svg-radial-gradient\", \"\"]], inputs: { endOpacity: \"endOpacity\", cx: \"cx\", cy: \"cy\", stops: \"stops\", color: \"color\", name: \"name\", startOpacity: \"startOpacity\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c15, decls: 2, vars: 5, consts: [[\"gradientUnits\", \"userSpaceOnUse\", 3, \"id\"], [3, \"stop-color\", \"stop-opacity\", 4, \"ngFor\", \"ngForOf\"]], template: function SvgRadialGradientComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"radialGradient\", 0);\n ɵngcc0.ɵɵtemplate(1, SvgRadialGradientComponent__svg_stop_1_Template, 1, 5, \"stop\", 1);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"id\", ctx.name);\n ɵngcc0.ɵɵattribute(\"cx\", ctx.cx)(\"cy\", ctx.cy)(\"r\", ctx.r);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.stops);\n } }, dependencies: [ɵngcc1.NgForOf], encapsulation: 2, changeDetection: 0 });\nSvgRadialGradientComponent.propDecorators = {\n color: [{ type: Input }],\n name: [{ type: Input }],\n startOpacity: [{ type: Input }],\n endOpacity: [{ type: Input }],\n cx: [{ type: Input }],\n cy: [{ type: Input }],\n stops: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SvgRadialGradientComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-svg-radial-gradient]',\n template: `\n <svg:radialGradient [id]=\"name\" [attr.cx]=\"cx\" [attr.cy]=\"cy\" [attr.r]=\"r\" gradientUnits=\"userSpaceOnUse\">\n <svg:stop\n *ngFor=\"let stop of stops\"\n [attr.offset]=\"stop.offset + '%'\"\n [style.stop-color]=\"stop.color\"\n [style.stop-opacity]=\"stop.opacity\"\n />\n </svg:radialGradient>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { endOpacity: [{\n type: Input\n }], cx: [{\n type: Input\n }], cy: [{\n type: Input\n }], stops: [{\n type: Input\n }], color: [{\n type: Input\n }], name: [{\n type: Input\n }], startOpacity: [{\n type: Input\n }] }); })();\n\nclass AreaComponent {\n constructor(element) {\n this.opacity = 1;\n this.startOpacity = 0.5;\n this.endOpacity = 1;\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.animationsLoaded = false;\n this.hasGradient = false;\n this.barOrientation = BarOrientation;\n this.element = element.nativeElement;\n }\n ngOnChanges() {\n this.update();\n if (!this.animationsLoaded) {\n this.loadAnimation();\n this.animationsLoaded = true;\n }\n }\n update() {\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n if (this.gradient || this.stops) {\n this.gradientStops = this.getGradient();\n this.hasGradient = true;\n }\n else {\n this.hasGradient = false;\n }\n this.updatePathEl();\n }\n loadAnimation() {\n this.areaPath = this.startingPath;\n setTimeout(this.updatePathEl.bind(this), 100);\n }\n updatePathEl() {\n const node = select(this.element).select('.area');\n if (this.animations) {\n node.transition().duration(750).attr('d', this.path);\n }\n else {\n node.attr('d', this.path);\n }\n }\n getGradient() {\n if (this.stops) {\n return this.stops;\n }\n return [\n {\n offset: 0,\n color: this.fill,\n opacity: this.startOpacity\n },\n {\n offset: 100,\n color: this.fill,\n opacity: this.endOpacity\n }\n ];\n }\n}\nAreaComponent.ɵfac = function AreaComponent_Factory(t) { return new (t || AreaComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nAreaComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AreaComponent, selectors: [[\"g\", \"ngx-charts-area\", \"\"]], inputs: { opacity: \"opacity\", startOpacity: \"startOpacity\", endOpacity: \"endOpacity\", gradient: \"gradient\", animations: \"animations\", data: \"data\", path: \"path\", startingPath: \"startingPath\", fill: \"fill\", stops: \"stops\" }, outputs: { select: \"select\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c16, decls: 2, vars: 5, consts: [[4, \"ngIf\"], [1, \"area\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"]], template: function AreaComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, AreaComponent__svg_defs_0_Template, 2, 3, \"defs\", 0);\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(1, \"path\", 1);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.gradient);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"opacity\", ctx.opacity);\n ɵngcc0.ɵɵattribute(\"d\", ctx.areaPath)(\"fill\", ctx.gradient ? ctx.gradientFill : ctx.fill);\n } }, dependencies: [ɵngcc1.NgIf, SvgLinearGradientComponent], encapsulation: 2, changeDetection: 0 });\nAreaComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nAreaComponent.propDecorators = {\n data: [{ type: Input }],\n path: [{ type: Input }],\n startingPath: [{ type: Input }],\n fill: [{ type: Input }],\n opacity: [{ type: Input }],\n startOpacity: [{ type: Input }],\n endOpacity: [{ type: Input }],\n gradient: [{ type: Input }],\n stops: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AreaComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-area]',\n template: `\n <svg:defs *ngIf=\"gradient\">\n <svg:g\n ngx-charts-svg-linear-gradient\n [orientation]=\"barOrientation.Vertical\"\n [name]=\"gradientId\"\n [stops]=\"gradientStops\"\n />\n </svg:defs>\n <svg:path class=\"area\" [attr.d]=\"areaPath\" [attr.fill]=\"gradient ? gradientFill : fill\" [style.opacity]=\"opacity\" />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { opacity: [{\n type: Input\n }], startOpacity: [{\n type: Input\n }], endOpacity: [{\n type: Input\n }], gradient: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], data: [{\n type: Input\n }], path: [{\n type: Input\n }], startingPath: [{\n type: Input\n }], fill: [{\n type: Input\n }], stops: [{\n type: Input\n }] }); })();\n\n// Robert Penner's easeOutExpo\nfunction easeOutExpo(t, b, c, d) {\n return (c * (-Math.pow(2, (-10 * t) / d) + 1) * 1024) / 1023 + b;\n}\n/**\n * Counts from a number to the end incrementally.\n */\nfunction count(countFrom, countTo, countDecimals, countDuration, callback) {\n const startVal = Number(countFrom);\n const endVal = Number(countTo);\n const countDown = startVal > endVal;\n const decimals = Math.max(0, countDecimals);\n const dec = Math.pow(10, decimals);\n const duration = Number(countDuration) * 1000;\n let startTime;\n function runCount(timestamp) {\n let frameVal;\n const progress = timestamp - startTime;\n if (countDown) {\n frameVal = startVal - easeOutExpo(progress, 0, startVal - endVal, duration);\n }\n else {\n frameVal = easeOutExpo(progress, startVal, endVal - startVal, duration);\n }\n if (countDown) {\n frameVal = frameVal < endVal ? endVal : frameVal;\n }\n else {\n frameVal = frameVal > endVal ? endVal : frameVal;\n }\n frameVal = Math.round(frameVal * dec) / dec;\n const tick = progress < duration;\n callback({\n value: frameVal,\n progress,\n timestamp,\n finished: !tick\n });\n if (tick) {\n return requestAnimationFrame(val => runCount(val));\n }\n }\n return requestAnimationFrame(timestamp => {\n startTime = timestamp;\n return runCount(timestamp);\n });\n}\n/**\n * Determine decimals places\n *\n * @export\n */\nfunction decimalChecker(countTo) {\n const endVal = Number(countTo);\n if (endVal % 1 !== 0 && Math.abs(endVal) <= 10) {\n return 2;\n }\n return 0;\n}\n\n/**\n * Count up component\n *\n * Loosely inspired by:\n * - https://github.com/izupet/angular2-counto\n * - https://inorganik.github.io/countUp.js/\n *\n * @export\n */\nclass CountUpDirective {\n constructor(cd, element) {\n this.cd = cd;\n this.countDuration = 1;\n this.countPrefix = '';\n this.countSuffix = '';\n this.countChange = new EventEmitter();\n this.countFinish = new EventEmitter();\n this.value = '';\n this._countDecimals = 0;\n this._countTo = 0;\n this._countFrom = 0;\n this.nativeElement = element.nativeElement;\n }\n set countDecimals(val) {\n this._countDecimals = val;\n }\n get countDecimals() {\n if (this._countDecimals)\n return this._countDecimals;\n return decimalChecker(this.countTo);\n }\n set countTo(val) {\n this._countTo = parseFloat(val);\n this.start();\n }\n get countTo() {\n return this._countTo;\n }\n set countFrom(val) {\n this._countFrom = parseFloat(val);\n this.start();\n }\n get countFrom() {\n return this._countFrom;\n }\n ngOnDestroy() {\n cancelAnimationFrame(this.animationReq);\n }\n start() {\n cancelAnimationFrame(this.animationReq);\n const valueFormatting = this.valueFormatting || (value => `${this.countPrefix}${value.toLocaleString()}${this.countSuffix}`);\n const callback = ({ value, progress, finished }) => {\n this.value = valueFormatting(value);\n this.cd.markForCheck();\n if (!finished)\n this.countChange.emit({ value: this.value, progress });\n if (finished)\n this.countFinish.emit({ value: this.value, progress });\n };\n this.animationReq = count(this.countFrom, this.countTo, this.countDecimals, this.countDuration, callback);\n }\n}\nCountUpDirective.ɵfac = function CountUpDirective_Factory(t) { return new (t || CountUpDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCountUpDirective.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CountUpDirective, selectors: [[\"\", \"ngx-charts-count-up\", \"\"]], inputs: { countDuration: \"countDuration\", countPrefix: \"countPrefix\", countSuffix: \"countSuffix\", countDecimals: \"countDecimals\", countTo: \"countTo\", countFrom: \"countFrom\", valueFormatting: \"valueFormatting\" }, outputs: { countChange: \"countChange\", countFinish: \"countFinish\" }, attrs: _c17, decls: 1, vars: 1, template: function CountUpDirective_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0);\n } if (rf & 2) {\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx.value, \" \");\n } }, encapsulation: 2 });\nCountUpDirective.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: ElementRef }\n];\nCountUpDirective.propDecorators = {\n countDuration: [{ type: Input }],\n countPrefix: [{ type: Input }],\n countSuffix: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n countDecimals: [{ type: Input }],\n countTo: [{ type: Input }],\n countFrom: [{ type: Input }],\n countChange: [{ type: Output }],\n countFinish: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CountUpDirective, [{\n type: Component,\n args: [{\n selector: '[ngx-charts-count-up]',\n template: ` {{ value }} `\n }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }]; }, { countDuration: [{\n type: Input\n }], countPrefix: [{\n type: Input\n }], countSuffix: [{\n type: Input\n }], countChange: [{\n type: Output\n }], countFinish: [{\n type: Output\n }], countDecimals: [{\n type: Input\n }], countTo: [{\n type: Input\n }], countFrom: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }] }); })();\n\n// If we don't check whether 'window' and 'global' variables are defined,\n// code will fail in browser/node with 'variable is undefined' error.\nlet root;\nif (typeof window !== 'undefined') {\n root = window;\n}\nelse if (typeof global !== 'undefined') {\n root = global;\n}\n// tslint:disable-next-line:variable-name\nconst MouseEvent = root.MouseEvent;\nfunction createMouseEvent(name, bubbles = false, cancelable = true) {\n // Calling new of an event does not work correctly on IE. The following is a tested workaround\n // See https://stackoverflow.com/questions/27176983/dispatchevent-not-working-in-ie11\n if (typeof MouseEvent === 'function') {\n // Sane browsers\n return new MouseEvent(name, { bubbles, cancelable });\n }\n else {\n // IE\n const event = document.createEvent('MouseEvent');\n event.initEvent(name, bubbles, cancelable);\n return event;\n }\n}\n\nclass TooltipArea {\n constructor(platformId) {\n this.platformId = platformId;\n this.anchorOpacity = 0;\n this.anchorPos = -1;\n this.anchorValues = [];\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n this.showPercentage = false;\n this.tooltipDisabled = false;\n this.hover = new EventEmitter();\n }\n getValues(xVal) {\n const results = [];\n for (const group of this.results) {\n const item = group.series.find(d => d.name.toString() === xVal.toString());\n let groupName = group.name;\n if (groupName instanceof Date) {\n groupName = groupName.toLocaleDateString();\n }\n if (item) {\n const label = item.name;\n let val = item.value;\n if (this.showPercentage) {\n val = (item.d1 - item.d0).toFixed(2) + '%';\n }\n let color;\n if (this.colors.scaleType === ScaleType.Linear) {\n let v = val;\n if (item.d1) {\n v = item.d1;\n }\n color = this.colors.getColor(v);\n }\n else {\n color = this.colors.getColor(group.name);\n }\n const data = Object.assign({}, item, {\n value: val,\n name: label,\n series: groupName,\n min: item.min,\n max: item.max,\n color\n });\n results.push(data);\n }\n }\n return results;\n }\n mouseMove(event) {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n const xPos = event.pageX - event.target.getBoundingClientRect().left;\n const closestIndex = this.findClosestPointIndex(xPos);\n const closestPoint = this.xSet[closestIndex];\n this.anchorPos = this.xScale(closestPoint);\n this.anchorPos = Math.max(0, this.anchorPos);\n this.anchorPos = Math.min(this.dims.width, this.anchorPos);\n this.anchorValues = this.getValues(closestPoint);\n if (this.anchorPos !== this.lastAnchorPos) {\n const ev = createMouseEvent('mouseleave');\n this.tooltipAnchor.nativeElement.dispatchEvent(ev);\n this.anchorOpacity = 0.7;\n this.hover.emit({\n value: closestPoint\n });\n this.showTooltip();\n this.lastAnchorPos = this.anchorPos;\n }\n }\n findClosestPointIndex(xPos) {\n let minIndex = 0;\n let maxIndex = this.xSet.length - 1;\n let minDiff = Number.MAX_VALUE;\n let closestIndex = 0;\n while (minIndex <= maxIndex) {\n const currentIndex = ((minIndex + maxIndex) / 2) | 0;\n const currentElement = this.xScale(this.xSet[currentIndex]);\n const curDiff = Math.abs(currentElement - xPos);\n if (curDiff < minDiff) {\n minDiff = curDiff;\n closestIndex = currentIndex;\n }\n if (currentElement < xPos) {\n minIndex = currentIndex + 1;\n }\n else if (currentElement > xPos) {\n maxIndex = currentIndex - 1;\n }\n else {\n minDiff = 0;\n closestIndex = currentIndex;\n break;\n }\n }\n return closestIndex;\n }\n showTooltip() {\n const event = createMouseEvent('mouseenter');\n this.tooltipAnchor.nativeElement.dispatchEvent(event);\n }\n hideTooltip() {\n const event = createMouseEvent('mouseleave');\n this.tooltipAnchor.nativeElement.dispatchEvent(event);\n this.anchorOpacity = 0;\n this.lastAnchorPos = -1;\n }\n getToolTipText(tooltipItem) {\n let result = '';\n if (tooltipItem.series !== undefined) {\n result += tooltipItem.series;\n }\n else {\n result += '???';\n }\n result += ': ';\n if (tooltipItem.value !== undefined) {\n result += tooltipItem.value.toLocaleString();\n }\n if (tooltipItem.min !== undefined || tooltipItem.max !== undefined) {\n result += ' (';\n if (tooltipItem.min !== undefined) {\n if (tooltipItem.max === undefined) {\n result += '≥';\n }\n result += tooltipItem.min.toLocaleString();\n if (tooltipItem.max !== undefined) {\n result += ' - ';\n }\n }\n else if (tooltipItem.max !== undefined) {\n result += '≤';\n }\n if (tooltipItem.max !== undefined) {\n result += tooltipItem.max.toLocaleString();\n }\n result += ')';\n }\n return result;\n }\n}\nTooltipArea.ɵfac = function TooltipArea_Factory(t) { return new (t || TooltipArea)(ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID)); };\nTooltipArea.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: TooltipArea, selectors: [[\"g\", \"ngx-charts-tooltip-area\", \"\"]], viewQuery: function TooltipArea_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c18, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipAnchor = _t.first);\n } }, inputs: { showPercentage: \"showPercentage\", tooltipDisabled: \"tooltipDisabled\", dims: \"dims\", xSet: \"xSet\", xScale: \"xScale\", yScale: \"yScale\", results: \"results\", colors: \"colors\", tooltipTemplate: \"tooltipTemplate\" }, outputs: { hover: \"hover\" }, attrs: _c19, decls: 6, vars: 18, consts: [[\"y\", \"0\", 1, \"tooltip-area\", 2, \"opacity\", \"0\", \"cursor\", \"auto\", 3, \"mousemove\", \"mouseleave\"], [\"defaultTooltipTemplate\", \"\"], [\"y\", \"0\", \"ngx-tooltip\", \"\", 1, \"tooltip-anchor\", 3, \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipSpacing\", \"tooltipTemplate\", \"tooltipContext\", \"tooltipImmediateExit\"], [\"tooltipAnchor\", \"\"], [1, \"area-tooltip-container\"], [\"class\", \"tooltip-item\", 4, \"ngFor\", \"ngForOf\"], [1, \"tooltip-item\"], [1, \"tooltip-item-color\"]], template: function TooltipArea_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"rect\", 0);\n ɵngcc0.ɵɵlistener(\"mousemove\", function TooltipArea_Template__svg_rect_mousemove_1_listener($event) { return ctx.mouseMove($event); })(\"mouseleave\", function TooltipArea_Template__svg_rect_mouseleave_1_listener() { return ctx.hideTooltip(); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(2, TooltipArea__svg_ng_template_2_Template, 2, 1, \"ng-template\", null, 1, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵelement(4, \"rect\", 2, 3);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(3);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"x\", 0)(\"width\", ctx.dims.width)(\"height\", ctx.dims.height);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵstyleProp(\"opacity\", ctx.anchorOpacity)(\"pointer-events\", \"none\");\n ɵngcc0.ɵɵproperty(\"@animationState\", ctx.anchorOpacity !== 0 ? \"active\" : \"inactive\")(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipPlacement\", ctx.placementTypes.Right)(\"tooltipType\", ctx.styleTypes.tooltip)(\"tooltipSpacing\", 15)(\"tooltipTemplate\", ctx.tooltipTemplate ? ctx.tooltipTemplate : _r0)(\"tooltipContext\", ctx.anchorValues)(\"tooltipImmediateExit\", true);\n ɵngcc0.ɵɵattribute(\"x\", ctx.anchorPos)(\"width\", 1)(\"height\", ctx.dims.height);\n } }, dependencies: [ɵngcc1.NgForOf, TooltipDirective], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition('inactive => active', [\n style({\n opacity: 0\n }),\n animate(250, style({ opacity: 0.7 }))\n ]),\n transition('active => inactive', [\n style({\n opacity: 0.7\n }),\n animate(250, style({ opacity: 0 }))\n ])\n ])\n ] }, changeDetection: 0 });\nTooltipArea.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\nTooltipArea.propDecorators = {\n dims: [{ type: Input }],\n xSet: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n results: [{ type: Input }],\n colors: [{ type: Input }],\n showPercentage: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n hover: [{ type: Output }],\n tooltipAnchor: [{ type: ViewChild, args: ['tooltipAnchor', { static: false },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TooltipArea, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-tooltip-area]',\n template: `\n <svg:g>\n <svg:rect\n class=\"tooltip-area\"\n [attr.x]=\"0\"\n y=\"0\"\n [attr.width]=\"dims.width\"\n [attr.height]=\"dims.height\"\n style=\"opacity: 0; cursor: 'auto';\"\n (mousemove)=\"mouseMove($event)\"\n (mouseleave)=\"hideTooltip()\"\n />\n <ng-template #defaultTooltipTemplate let-model=\"model\">\n <xhtml:div class=\"area-tooltip-container\">\n <xhtml:div *ngFor=\"let tooltipItem of model\" class=\"tooltip-item\">\n <xhtml:span class=\"tooltip-item-color\" [style.background-color]=\"tooltipItem.color\"></xhtml:span>\n {{ getToolTipText(tooltipItem) }}\n </xhtml:div>\n </xhtml:div>\n </ng-template>\n <svg:rect\n #tooltipAnchor\n [@animationState]=\"anchorOpacity !== 0 ? 'active' : 'inactive'\"\n class=\"tooltip-anchor\"\n [attr.x]=\"anchorPos\"\n y=\"0\"\n [attr.width]=\"1\"\n [attr.height]=\"dims.height\"\n [style.opacity]=\"anchorOpacity\"\n [style.pointer-events]=\"'none'\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"placementTypes.Right\"\n [tooltipType]=\"styleTypes.tooltip\"\n [tooltipSpacing]=\"15\"\n [tooltipTemplate]=\"tooltipTemplate ? tooltipTemplate : defaultTooltipTemplate\"\n [tooltipContext]=\"anchorValues\"\n [tooltipImmediateExit]=\"true\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition('inactive => active', [\n style({\n opacity: 0\n }),\n animate(250, style({ opacity: 0.7 }))\n ]),\n transition('active => inactive', [\n style({\n opacity: 0.7\n }),\n animate(250, style({ opacity: 0 }))\n ])\n ])\n ]\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, { showPercentage: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], hover: [{\n type: Output\n }], dims: [{\n type: Input\n }], xSet: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], results: [{\n type: Input\n }], colors: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }], tooltipAnchor: [{\n type: ViewChild,\n args: ['tooltipAnchor', { static: false }]\n }] }); })();\n\nclass Timeline {\n constructor(element, cd) {\n this.cd = cd;\n this.height = 50;\n this.select = new EventEmitter();\n this.onDomainChange = new EventEmitter();\n this.initialized = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n if (!this.initialized) {\n this.addBrush();\n this.initialized = true;\n }\n }\n update() {\n this.dims = this.getDims();\n this.height = this.dims.height;\n const offsetY = this.view[1] - this.height;\n this.xDomain = this.getXDomain();\n this.xScale = this.getXScale();\n if (this.brush) {\n this.updateBrush();\n }\n this.transform = `translate(0 , ${offsetY})`;\n this.filterId = 'filter' + id().toString();\n this.filter = `url(#${this.filterId})`;\n this.cd.markForCheck();\n }\n getXDomain() {\n let values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.name)) {\n values.push(d.name);\n }\n }\n }\n let domain = [];\n if (this.scaleType === ScaleType.Time) {\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n }\n else if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n }\n else {\n domain = values;\n }\n return domain;\n }\n getXScale() {\n let scale;\n if (this.scaleType === ScaleType.Time) {\n scale = scaleTime().range([0, this.dims.width]).domain(this.xDomain);\n }\n else if (this.scaleType === ScaleType.Linear) {\n scale = scaleLinear().range([0, this.dims.width]).domain(this.xDomain);\n }\n else if (this.scaleType === ScaleType.Ordinal) {\n scale = scalePoint().range([0, this.dims.width]).padding(0.1).domain(this.xDomain);\n }\n return scale;\n }\n addBrush() {\n if (this.brush)\n return;\n const height = this.height;\n const width = this.view[0];\n this.brush = brushX()\n .extent([\n [0, 0],\n [width, height]\n ])\n .on('brush end', ({ selection }) => {\n const newSelection = selection || this.xScale.range();\n const newDomain = newSelection.map(this.xScale.invert);\n this.onDomainChange.emit(newDomain);\n this.cd.markForCheck();\n });\n select(this.element).select('.brush').call(this.brush);\n }\n updateBrush() {\n if (!this.brush)\n return;\n const height = this.height;\n const width = this.view[0];\n this.brush.extent([\n [0, 0],\n [width, height]\n ]);\n select(this.element).select('.brush').call(this.brush);\n // clear hardcoded properties so they can be defined by CSS\n select(this.element)\n .select('.selection')\n .attr('fill', undefined)\n .attr('stroke', undefined)\n .attr('fill-opacity', undefined);\n this.cd.markForCheck();\n }\n getDims() {\n const width = this.view[0];\n const dims = {\n width,\n height: this.height\n };\n return dims;\n }\n}\nTimeline.ɵfac = function Timeline_Factory(t) { return new (t || Timeline)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nTimeline.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: Timeline, selectors: [[\"g\", \"ngx-charts-timeline\", \"\"]], inputs: { height: \"height\", view: \"view\", results: \"results\", scheme: \"scheme\", customColors: \"customColors\", legend: \"legend\", autoScale: \"autoScale\", scaleType: \"scaleType\" }, outputs: { select: \"select\", onDomainChange: \"onDomainChange\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c20, ngContentSelectors: _c2, decls: 7, vars: 4, consts: [[1, \"timeline\"], [\"in\", \"SourceGraphic\", \"type\", \"matrix\", \"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"], [1, \"embedded-chart\"], [\"x\", \"0\", \"y\", \"0\", 1, \"brush-background\"], [1, \"brush\"]], template: function Timeline_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 0)(1, \"filter\");\n ɵngcc0.ɵɵelement(2, \"feColorMatrix\", 1);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(3, \"g\", 2);\n ɵngcc0.ɵɵprojection(4);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(5, \"rect\", 3)(6, \"g\", 4);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"id\", ctx.filterId);\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵattribute(\"width\", ctx.view[0])(\"height\", ctx.height);\n } }, styles: [\".timeline .brush-background{fill:#0000000d}.timeline .brush .selection{fill:#0000001a;stroke-width:1px;stroke:#888}.timeline .brush .handle{fill-opacity:0}.timeline .embedded-chart{opacity:.6}\\n\"], encapsulation: 2, changeDetection: 0 });\nTimeline.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef }\n];\nTimeline.propDecorators = {\n view: [{ type: Input }],\n results: [{ type: Input }],\n scheme: [{ type: Input }],\n customColors: [{ type: Input }],\n legend: [{ type: Input }],\n autoScale: [{ type: Input }],\n scaleType: [{ type: Input }],\n height: [{ type: Input }],\n select: [{ type: Output }],\n onDomainChange: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Timeline, [{\n type: Component,\n args: [{ selector: 'g[ngx-charts-timeline]', template: `\n <svg:g class=\"timeline\" [attr.transform]=\"transform\">\n <svg:filter [attr.id]=\"filterId\">\n <svg:feColorMatrix\n in=\"SourceGraphic\"\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </svg:filter>\n <svg:g class=\"embedded-chart\">\n <ng-content></ng-content>\n </svg:g>\n <svg:rect x=\"0\" [attr.width]=\"view[0]\" y=\"0\" [attr.height]=\"height\" class=\"brush-background\" />\n <svg:g class=\"brush\"></svg:g>\n </svg:g>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".timeline .brush-background{fill:#0000000d}.timeline .brush .selection{fill:#0000001a;stroke-width:1px;stroke:#888}.timeline .brush .handle{fill-opacity:0}.timeline .embedded-chart{opacity:.6}\\n\"] }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }]; }, { height: [{\n type: Input\n }], select: [{\n type: Output\n }], onDomainChange: [{\n type: Output\n }], view: [{\n type: Input\n }], results: [{\n type: Input\n }], scheme: [{\n type: Input\n }], customColors: [{\n type: Input\n }], legend: [{\n type: Input\n }], autoScale: [{\n type: Input\n }], scaleType: [{\n type: Input\n }] }); })();\n\nclass LegendComponent {\n constructor(cd) {\n this.cd = cd;\n this.horizontal = false;\n this.labelClick = new EventEmitter();\n this.labelActivate = new EventEmitter();\n this.labelDeactivate = new EventEmitter();\n this.legendEntries = [];\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.cd.markForCheck();\n this.legendEntries = this.getLegendEntries();\n }\n getLegendEntries() {\n const items = [];\n for (const label of this.data) {\n const formattedLabel = formatLabel(label);\n const idx = items.findIndex(i => {\n return i.label === formattedLabel;\n });\n if (idx === -1) {\n items.push({\n label,\n formattedLabel,\n color: this.colors.getColor(label)\n });\n }\n }\n return items;\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.label === d.name;\n });\n return item !== undefined;\n }\n activate(item) {\n this.labelActivate.emit(item);\n }\n deactivate(item) {\n this.labelDeactivate.emit(item);\n }\n trackBy(index, item) {\n return item.label;\n }\n}\nLegendComponent.ɵfac = function LegendComponent_Factory(t) { return new (t || LegendComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nLegendComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: LegendComponent, selectors: [[\"ngx-charts-legend\"]], inputs: { horizontal: \"horizontal\", data: \"data\", title: \"title\", colors: \"colors\", height: \"height\", width: \"width\", activeEntries: \"activeEntries\" }, outputs: { labelClick: \"labelClick\", labelActivate: \"labelActivate\", labelDeactivate: \"labelDeactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 5, vars: 9, consts: [[\"class\", \"legend-title\", 4, \"ngIf\"], [1, \"legend-wrap\"], [1, \"legend-labels\"], [\"class\", \"legend-label\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [1, \"legend-title\"], [1, \"legend-title-text\"], [1, \"legend-label\"], [3, \"label\", \"formattedLabel\", \"color\", \"isActive\", \"select\", \"activate\", \"deactivate\"]], template: function LegendComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\");\n ɵngcc0.ɵɵtemplate(1, LegendComponent_header_1_Template, 3, 1, \"header\", 0);\n ɵngcc0.ɵɵelementStart(2, \"div\", 1)(3, \"ul\", 2);\n ɵngcc0.ɵɵtemplate(4, LegendComponent_li_4_Template, 2, 4, \"li\", 3);\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.width, \"px\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", (ctx.title == null ? null : ctx.title.length) > 0);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵstyleProp(\"max-height\", ctx.height - 45, \"px\");\n ɵngcc0.ɵɵclassProp(\"horizontal-legend\", ctx.horizontal);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.legendEntries)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, LegendEntryComponent]; }, styles: [\".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{white-space:nowrap;overflow:hidden;margin-left:10px;margin-bottom:5px;font-size:14px;font-weight:bold}.chart-legend ul,.chart-legend li{padding:0;margin:0;list-style:none}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{line-height:85%;list-style:none;text-align:left;float:left;width:100%;border-radius:3px;overflow-y:auto;overflow-x:hidden;white-space:nowrap;background:rgba(0,0,0,.05)}.chart-legend .legend-label{cursor:pointer;font-size:90%;margin:8px;color:#afb7c8}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{display:inline-block;height:15px;width:15px;margin-right:5px;color:#5b646b;border-radius:3px}.chart-legend .legend-label-text{display:inline-block;vertical-align:top;line-height:15px;font-size:12px;width:calc(100% - 20px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-legend .legend-title-text{vertical-align:bottom;display:inline-block;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\\n\"], encapsulation: 2, changeDetection: 0 });\nLegendComponent.ctorParameters = () => [\n { type: ChangeDetectorRef }\n];\nLegendComponent.propDecorators = {\n data: [{ type: Input }],\n title: [{ type: Input }],\n colors: [{ type: Input }],\n height: [{ type: Input }],\n width: [{ type: Input }],\n activeEntries: [{ type: Input }],\n horizontal: [{ type: Input }],\n labelClick: [{ type: Output }],\n labelActivate: [{ type: Output }],\n labelDeactivate: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LegendComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-legend', template: `\n <div [style.width.px]=\"width\">\n <header class=\"legend-title\" *ngIf=\"title?.length > 0\">\n <span class=\"legend-title-text\">{{ title }}</span>\n </header>\n <div class=\"legend-wrap\">\n <ul class=\"legend-labels\" [class.horizontal-legend]=\"horizontal\" [style.max-height.px]=\"height - 45\">\n <li *ngFor=\"let entry of legendEntries; trackBy: trackBy\" class=\"legend-label\">\n <ngx-charts-legend-entry\n [label]=\"entry.label\"\n [formattedLabel]=\"entry.formattedLabel\"\n [color]=\"entry.color\"\n [isActive]=\"isActive(entry)\"\n (select)=\"labelClick.emit($event)\"\n (activate)=\"activate($event)\"\n (deactivate)=\"deactivate($event)\"\n >\n </ngx-charts-legend-entry>\n </li>\n </ul>\n </div>\n </div>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{white-space:nowrap;overflow:hidden;margin-left:10px;margin-bottom:5px;font-size:14px;font-weight:bold}.chart-legend ul,.chart-legend li{padding:0;margin:0;list-style:none}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{line-height:85%;list-style:none;text-align:left;float:left;width:100%;border-radius:3px;overflow-y:auto;overflow-x:hidden;white-space:nowrap;background:rgba(0,0,0,.05)}.chart-legend .legend-label{cursor:pointer;font-size:90%;margin:8px;color:#afb7c8}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{display:inline-block;height:15px;width:15px;margin-right:5px;color:#5b646b;border-radius:3px}.chart-legend .legend-label-text{display:inline-block;vertical-align:top;line-height:15px;font-size:12px;width:calc(100% - 20px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-legend .legend-title-text{vertical-align:bottom;display:inline-block;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\\n\"] }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }]; }, { horizontal: [{\n type: Input\n }], labelClick: [{\n type: Output\n }], labelActivate: [{\n type: Output\n }], labelDeactivate: [{\n type: Output\n }], data: [{\n type: Input\n }], title: [{\n type: Input\n }], colors: [{\n type: Input\n }], height: [{\n type: Input\n }], width: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }] }); })();\n\nclass LegendEntryComponent {\n constructor() {\n this.isActive = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.toggle = new EventEmitter();\n }\n get trimmedLabel() {\n return this.formattedLabel || '(empty)';\n }\n onMouseEnter() {\n this.activate.emit({ name: this.label });\n }\n onMouseLeave() {\n this.deactivate.emit({ name: this.label });\n }\n}\nLegendEntryComponent.ɵfac = function LegendEntryComponent_Factory(t) { return new (t || LegendEntryComponent)(); };\nLegendEntryComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: LegendEntryComponent, selectors: [[\"ngx-charts-legend-entry\"]], hostBindings: function LegendEntryComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseenter\", function LegendEntryComponent_mouseenter_HostBindingHandler() { return ctx.onMouseEnter(); })(\"mouseleave\", function LegendEntryComponent_mouseleave_HostBindingHandler() { return ctx.onMouseLeave(); });\n } }, inputs: { isActive: \"isActive\", color: \"color\", label: \"label\", formattedLabel: \"formattedLabel\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\", toggle: \"toggle\" }, decls: 4, vars: 6, consts: [[\"tabindex\", \"-1\", 3, \"title\", \"click\"], [1, \"legend-label-color\", 3, \"click\"], [1, \"legend-label-text\"]], template: function LegendEntryComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 0);\n ɵngcc0.ɵɵlistener(\"click\", function LegendEntryComponent_Template_span_click_0_listener() { return ctx.select.emit(ctx.formattedLabel); });\n ɵngcc0.ɵɵelementStart(1, \"span\", 1);\n ɵngcc0.ɵɵlistener(\"click\", function LegendEntryComponent_Template_span_click_1_listener() { return ctx.toggle.emit(ctx.formattedLabel); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(2, \"span\", 2);\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"active\", ctx.isActive);\n ɵngcc0.ɵɵproperty(\"title\", ctx.formattedLabel);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"background-color\", ctx.color);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx.trimmedLabel, \" \");\n } }, encapsulation: 2, changeDetection: 0 });\nLegendEntryComponent.propDecorators = {\n color: [{ type: Input }],\n label: [{ type: Input }],\n formattedLabel: [{ type: Input }],\n isActive: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n toggle: [{ type: Output }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LegendEntryComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-charts-legend-entry',\n template: `\n <span [title]=\"formattedLabel\" tabindex=\"-1\" [class.active]=\"isActive\" (click)=\"select.emit(formattedLabel)\">\n <span class=\"legend-label-color\" [style.background-color]=\"color\" (click)=\"toggle.emit(formattedLabel)\"> </span>\n <span class=\"legend-label-text\">\n {{ trimmedLabel }}\n </span>\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { isActive: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], toggle: [{\n type: Output\n }], onMouseEnter: [{\n type: HostListener,\n args: ['mouseenter']\n }], onMouseLeave: [{\n type: HostListener,\n args: ['mouseleave']\n }], color: [{\n type: Input\n }], label: [{\n type: Input\n }], formattedLabel: [{\n type: Input\n }] }); })();\n\nclass ScaleLegendComponent {\n constructor() {\n this.horizontal = false;\n }\n ngOnChanges(changes) {\n const gradientValues = this.gradientString(this.colors.range(), this.colors.domain());\n const direction = this.horizontal ? 'right' : 'bottom';\n this.gradient = `linear-gradient(to ${direction}, ${gradientValues})`;\n }\n /**\n * Generates the string used in the gradient stylesheet properties\n * @param colors array of colors\n * @param splits array of splits on a scale of (0, 1)\n */\n gradientString(colors, splits) {\n // add the 100%\n splits.push(1);\n const pairs = [];\n colors.reverse().forEach((c, i) => {\n pairs.push(`${c} ${Math.round(splits[i] * 100)}%`);\n });\n return pairs.join(', ');\n }\n}\nScaleLegendComponent.ɵfac = function ScaleLegendComponent_Factory(t) { return new (t || ScaleLegendComponent)(); };\nScaleLegendComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: ScaleLegendComponent, selectors: [[\"ngx-charts-scale-legend\"]], inputs: { horizontal: \"horizontal\", valueRange: \"valueRange\", colors: \"colors\", height: \"height\", width: \"width\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 8, vars: 10, consts: [[1, \"scale-legend\"], [1, \"scale-legend-label\"], [1, \"scale-legend-wrap\"]], template: function ScaleLegendComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0)(1, \"div\", 1)(2, \"span\");\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelement(4, \"div\", 2);\n ɵngcc0.ɵɵelementStart(5, \"div\", 1)(6, \"span\");\n ɵngcc0.ɵɵtext(7);\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"height\", ctx.horizontal ? undefined : ctx.height, \"px\")(\"width\", ctx.width, \"px\");\n ɵngcc0.ɵɵclassProp(\"horizontal-legend\", ctx.horizontal);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵtextInterpolate(ctx.valueRange[1].toLocaleString());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"background\", ctx.gradient);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵtextInterpolate(ctx.valueRange[0].toLocaleString());\n } }, styles: [\".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{text-align:center;display:flex;flex-direction:column}.chart-legend .scale-legend-wrap{display:inline-block;flex:1;width:30px;border-radius:5px;margin:0 auto}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{width:auto;height:30px;margin:0 16px}\\n\"], encapsulation: 2, changeDetection: 0 });\nScaleLegendComponent.propDecorators = {\n valueRange: [{ type: Input }],\n colors: [{ type: Input }],\n height: [{ type: Input }],\n width: [{ type: Input }],\n horizontal: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScaleLegendComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-scale-legend', template: `\n <div\n class=\"scale-legend\"\n [class.horizontal-legend]=\"horizontal\"\n [style.height.px]=\"horizontal ? undefined : height\"\n [style.width.px]=\"width\"\n >\n <div class=\"scale-legend-label\">\n <span>{{ valueRange[1].toLocaleString() }}</span>\n </div>\n <div class=\"scale-legend-wrap\" [style.background]=\"gradient\"></div>\n <div class=\"scale-legend-label\">\n <span>{{ valueRange[0].toLocaleString() }}</span>\n </div>\n </div>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{text-align:center;display:flex;flex-direction:column}.chart-legend .scale-legend-wrap{display:inline-block;flex:1;width:30px;border-radius:5px;margin:0 auto}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{width:auto;height:30px;margin:0 16px}\\n\"] }]\n }], function () { return []; }, { horizontal: [{\n type: Input\n }], valueRange: [{\n type: Input\n }], colors: [{\n type: Input\n }], height: [{\n type: Input\n }], width: [{\n type: Input\n }] }); })();\n\nclass AdvancedLegendComponent {\n constructor() {\n this.label = 'Total';\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.legendItems = [];\n this.labelFormatting = label => label;\n this.percentageFormatting = percentage => percentage;\n this.defaultValueFormatting = value => value.toLocaleString();\n }\n ngOnChanges(changes) {\n this.update();\n }\n getTotal() {\n return this.data.map(d => Number(d.value)).reduce((sum, d) => sum + d, 0);\n }\n update() {\n this.total = this.getTotal();\n this.roundedTotal = this.total;\n this.legendItems = this.getLegendItems();\n }\n getLegendItems() {\n return this.data.map(d => {\n const label = formatLabel(d.name);\n const value = d.value;\n const color = this.colors.getColor(label);\n const percentage = this.total > 0 ? (value / this.total) * 100 : 0;\n const formattedLabel = typeof this.labelFormatting === 'function' ? this.labelFormatting(label) : label;\n return {\n _value: value,\n data: d,\n value,\n color,\n label: formattedLabel,\n displayLabel: trimLabel(formattedLabel, 20),\n origialLabel: d.name,\n percentage: this.percentageFormatting ? this.percentageFormatting(percentage) : percentage.toLocaleString()\n };\n });\n }\n trackBy(index, item) {\n return item.label;\n }\n}\nAdvancedLegendComponent.ɵfac = function AdvancedLegendComponent_Factory(t) { return new (t || AdvancedLegendComponent)(); };\nAdvancedLegendComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AdvancedLegendComponent, selectors: [[\"ngx-charts-advanced-legend\"]], inputs: { label: \"label\", animations: \"animations\", labelFormatting: \"labelFormatting\", percentageFormatting: \"percentageFormatting\", width: \"width\", data: \"data\", colors: \"colors\", valueFormatting: \"valueFormatting\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 8, vars: 7, consts: [[1, \"advanced-pie-legend\"], [\"class\", \"total-value\", \"ngx-charts-count-up\", \"\", 3, \"countTo\", \"valueFormatting\", 4, \"ngIf\"], [\"class\", \"total-value\", 4, \"ngIf\"], [1, \"total-label\"], [1, \"legend-items-container\"], [1, \"legend-items\"], [\"tabindex\", \"-1\", \"class\", \"legend-item\", 3, \"mouseenter\", \"mouseleave\", \"click\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-count-up\", \"\", 1, \"total-value\", 3, \"countTo\", \"valueFormatting\"], [1, \"total-value\"], [\"tabindex\", \"-1\", 1, \"legend-item\", 3, \"mouseenter\", \"mouseleave\", \"click\"], [1, \"item-color\"], [\"class\", \"item-value\", \"ngx-charts-count-up\", \"\", 3, \"countTo\", \"valueFormatting\", 4, \"ngIf\"], [\"class\", \"item-value\", 4, \"ngIf\"], [1, \"item-label\"], [\"class\", \"item-percent\", \"ngx-charts-count-up\", \"\", 3, \"countTo\", \"countSuffix\", 4, \"ngIf\"], [\"class\", \"item-percent\", 4, \"ngIf\"], [\"ngx-charts-count-up\", \"\", 1, \"item-value\", 3, \"countTo\", \"valueFormatting\"], [1, \"item-value\"], [\"ngx-charts-count-up\", \"\", 1, \"item-percent\", 3, \"countTo\", \"countSuffix\"], [1, \"item-percent\"]], template: function AdvancedLegendComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0);\n ɵngcc0.ɵɵtemplate(1, AdvancedLegendComponent_div_1_Template, 1, 2, \"div\", 1);\n ɵngcc0.ɵɵtemplate(2, AdvancedLegendComponent_div_2_Template, 2, 1, \"div\", 2);\n ɵngcc0.ɵɵelementStart(3, \"div\", 3);\n ɵngcc0.ɵɵtext(4);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(5, \"div\", 4)(6, \"div\", 5);\n ɵngcc0.ɵɵtemplate(7, AdvancedLegendComponent_div_7_Template, 8, 7, \"div\", 6);\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.width, \"px\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx.animations);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx.label, \" \");\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.legendItems)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: [ɵngcc1.NgForOf, ɵngcc1.NgIf, CountUpDirective], styles: [\".advanced-pie-legend{float:left;position:relative;top:50%;transform:translateY(-50%)}.advanced-pie-legend .total-value{font-size:36px}.advanced-pie-legend .total-label{font-size:24px;margin-bottom:19px}.advanced-pie-legend .legend-items-container{width:100%}.advanced-pie-legend .legend-items-container .legend-items{white-space:nowrap;overflow:auto}.advanced-pie-legend .legend-items-container .legend-items .legend-item{margin-right:20px;display:inline-block;cursor:pointer}.advanced-pie-legend .legend-items-container .legend-items .legend-item:focus{outline:none}.advanced-pie-legend .legend-items-container .legend-items .legend-item:hover{color:#000;transition:.2s}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-value{font-size:24px;margin-top:-6px;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-label{font-size:14px;opacity:.7;margin-left:11px;margin-top:-6px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-percent{font-size:24px;opacity:.7;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-color{border-left:4px solid;width:4px;height:42px;float:left;margin-right:7px}\\n\"], encapsulation: 2, changeDetection: 0 });\nAdvancedLegendComponent.propDecorators = {\n width: [{ type: Input }],\n data: [{ type: Input }],\n colors: [{ type: Input }],\n label: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n percentageFormatting: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AdvancedLegendComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-advanced-legend', template: `\n <div class=\"advanced-pie-legend\" [style.width.px]=\"width\">\n <div\n *ngIf=\"animations\"\n class=\"total-value\"\n ngx-charts-count-up\n [countTo]=\"roundedTotal\"\n [valueFormatting]=\"valueFormatting\"\n ></div>\n <div class=\"total-value\" *ngIf=\"!animations\">\n {{ valueFormatting ? valueFormatting(roundedTotal) : defaultValueFormatting(roundedTotal) }}\n </div>\n <div class=\"total-label\">\n {{ label }}\n </div>\n <div class=\"legend-items-container\">\n <div class=\"legend-items\">\n <div\n *ngFor=\"let legendItem of legendItems; trackBy: trackBy\"\n tabindex=\"-1\"\n class=\"legend-item\"\n (mouseenter)=\"activate.emit(legendItem.data)\"\n (mouseleave)=\"deactivate.emit(legendItem.data)\"\n (click)=\"select.emit(legendItem.data)\"\n >\n <div class=\"item-color\" [style.border-left-color]=\"legendItem.color\"></div>\n <div\n *ngIf=\"animations\"\n class=\"item-value\"\n ngx-charts-count-up\n [countTo]=\"legendItem._value\"\n [valueFormatting]=\"valueFormatting\"\n ></div>\n <div *ngIf=\"!animations\" class=\"item-value\">\n {{ valueFormatting ? valueFormatting(legendItem.value) : defaultValueFormatting(legendItem.value) }}\n </div>\n <div class=\"item-label\">{{ legendItem.displayLabel }}</div>\n <div\n *ngIf=\"animations\"\n class=\"item-percent\"\n ngx-charts-count-up\n [countTo]=\"legendItem.percentage\"\n [countSuffix]=\"'%'\"\n ></div>\n <div *ngIf=\"!animations\" class=\"item-percent\">{{ legendItem.percentage.toLocaleString() }}%</div>\n </div>\n </div>\n </div>\n </div>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".advanced-pie-legend{float:left;position:relative;top:50%;transform:translateY(-50%)}.advanced-pie-legend .total-value{font-size:36px}.advanced-pie-legend .total-label{font-size:24px;margin-bottom:19px}.advanced-pie-legend .legend-items-container{width:100%}.advanced-pie-legend .legend-items-container .legend-items{white-space:nowrap;overflow:auto}.advanced-pie-legend .legend-items-container .legend-items .legend-item{margin-right:20px;display:inline-block;cursor:pointer}.advanced-pie-legend .legend-items-container .legend-items .legend-item:focus{outline:none}.advanced-pie-legend .legend-items-container .legend-items .legend-item:hover{color:#000;transition:.2s}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-value{font-size:24px;margin-top:-6px;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-label{font-size:14px;opacity:.7;margin-left:11px;margin-top:-6px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-percent{font-size:24px;opacity:.7;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-color{border-left:4px solid;width:4px;height:42px;float:left;margin-right:7px}\\n\"] }]\n }], function () { return []; }, { label: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], labelFormatting: [{\n type: Input\n }], percentageFormatting: [{\n type: Input\n }], width: [{\n type: Input\n }], data: [{\n type: Input\n }], colors: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }] }); })();\n\nconst COMPONENTS = [\n AreaComponent,\n BaseChartComponent,\n CountUpDirective,\n TooltipArea,\n ChartComponent,\n LegendComponent,\n LegendEntryComponent,\n ScaleLegendComponent,\n CircleComponent,\n CircleSeriesComponent,\n GridPanelComponent,\n GridPanelSeriesComponent,\n SvgLinearGradientComponent,\n SvgRadialGradientComponent,\n Timeline,\n AdvancedLegendComponent\n];\nclass ChartCommonModule {\n}\nChartCommonModule.ɵfac = function ChartCommonModule_Factory(t) { return new (t || ChartCommonModule)(); };\nChartCommonModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: ChartCommonModule });\nChartCommonModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [CommonModule, AxesModule, TooltipModule, CommonModule, AxesModule, TooltipModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ChartCommonModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, AxesModule, TooltipModule],\n declarations: [...COMPONENTS, VisibilityObserver],\n exports: [CommonModule, AxesModule, TooltipModule, ...COMPONENTS, VisibilityObserver]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ChartCommonModule, { declarations: function () { return [AreaComponent, BaseChartComponent, CountUpDirective, TooltipArea, ChartComponent, LegendComponent, LegendEntryComponent, ScaleLegendComponent, CircleComponent, CircleSeriesComponent, GridPanelComponent, GridPanelSeriesComponent, SvgLinearGradientComponent, SvgRadialGradientComponent, Timeline, AdvancedLegendComponent, VisibilityObserver]; }, imports: function () { return [CommonModule, AxesModule, TooltipModule]; }, exports: function () { return [CommonModule, AxesModule, TooltipModule, AreaComponent, BaseChartComponent, CountUpDirective, TooltipArea, ChartComponent, LegendComponent, LegendEntryComponent, ScaleLegendComponent, CircleComponent, CircleSeriesComponent, GridPanelComponent, GridPanelSeriesComponent, SvgLinearGradientComponent, SvgRadialGradientComponent, Timeline, AdvancedLegendComponent, VisibilityObserver]; } }); })();\n\nfunction calculateViewDimensions({ width, height, margins, showXAxis = false, showYAxis = false, xAxisHeight = 0, yAxisWidth = 0, showXLabel = false, showYLabel = false, showLegend = false, legendType = ScaleType.Ordinal, legendPosition = LegendPosition.Right, columns = 12 }) {\n let xOffset = margins[3];\n let chartWidth = width;\n let chartHeight = height - margins[0] - margins[2];\n if (showLegend && legendPosition === LegendPosition.Right) {\n if (legendType === ScaleType.Ordinal) {\n columns -= 2;\n }\n else {\n columns -= 1;\n }\n }\n chartWidth = (chartWidth * columns) / 12;\n chartWidth = chartWidth - margins[1] - margins[3];\n if (showXAxis) {\n chartHeight -= 5;\n chartHeight -= xAxisHeight;\n if (showXLabel) {\n // text height + spacing between axis label and tick labels\n const offset = 25 + 5;\n chartHeight -= offset;\n }\n }\n if (showYAxis) {\n chartWidth -= 5;\n chartWidth -= yAxisWidth;\n xOffset += yAxisWidth;\n xOffset += 10;\n if (showYLabel) {\n // text height + spacing between axis label and tick labels\n const offset = 25 + 5;\n chartWidth -= offset;\n xOffset += offset;\n }\n }\n chartWidth = Math.max(0, chartWidth);\n chartHeight = Math.max(0, chartHeight);\n return {\n width: Math.floor(chartWidth),\n height: Math.floor(chartHeight),\n xOffset: Math.floor(xOffset)\n };\n}\n\nlet colorSets = [\n {\n name: 'vivid',\n selectable: true,\n group: ScaleType.Ordinal,\n domain: [\n '#647c8a',\n '#3f51b5',\n '#2196f3',\n '#00b862',\n '#afdf0a',\n '#a7b61a',\n '#f3e562',\n '#ff9800',\n '#ff5722',\n '#ff4514'\n ]\n },\n {\n name: 'natural',\n selectable: true,\n group: ScaleType.Ordinal,\n domain: [\n '#bf9d76',\n '#e99450',\n '#d89f59',\n '#f2dfa7',\n '#a5d7c6',\n '#7794b1',\n '#afafaf',\n '#707160',\n '#ba9383',\n '#d9d5c3'\n ]\n },\n {\n name: 'cool',\n selectable: true,\n group: ScaleType.Ordinal,\n domain: [\n '#a8385d',\n '#7aa3e5',\n '#a27ea8',\n '#aae3f5',\n '#adcded',\n '#a95963',\n '#8796c0',\n '#7ed3ed',\n '#50abcc',\n '#ad6886'\n ]\n },\n {\n name: 'fire',\n selectable: true,\n group: ScaleType.Ordinal,\n domain: ['#ff3d00', '#bf360c', '#ff8f00', '#ff6f00', '#ff5722', '#e65100', '#ffca28', '#ffab00']\n },\n {\n name: 'solar',\n selectable: true,\n group: ScaleType.Linear,\n domain: [\n '#fff8e1',\n '#ffecb3',\n '#ffe082',\n '#ffd54f',\n '#ffca28',\n '#ffc107',\n '#ffb300',\n '#ffa000',\n '#ff8f00',\n '#ff6f00'\n ]\n },\n {\n name: 'air',\n selectable: true,\n group: ScaleType.Linear,\n domain: [\n '#e1f5fe',\n '#b3e5fc',\n '#81d4fa',\n '#4fc3f7',\n '#29b6f6',\n '#03a9f4',\n '#039be5',\n '#0288d1',\n '#0277bd',\n '#01579b'\n ]\n },\n {\n name: 'aqua',\n selectable: true,\n group: ScaleType.Linear,\n domain: [\n '#e0f7fa',\n '#b2ebf2',\n '#80deea',\n '#4dd0e1',\n '#26c6da',\n '#00bcd4',\n '#00acc1',\n '#0097a7',\n '#00838f',\n '#006064'\n ]\n },\n {\n name: 'flame',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: [\n '#A10A28',\n '#D3342D',\n '#EF6D49',\n '#FAAD67',\n '#FDDE90',\n '#DBED91',\n '#A9D770',\n '#6CBA67',\n '#2C9653',\n '#146738'\n ]\n },\n {\n name: 'ocean',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: [\n '#1D68FB',\n '#33C0FC',\n '#4AFFFE',\n '#AFFFFF',\n '#FFFC63',\n '#FDBD2D',\n '#FC8A25',\n '#FA4F1E',\n '#FA141B',\n '#BA38D1'\n ]\n },\n {\n name: 'forest',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: [\n '#55C22D',\n '#C1F33D',\n '#3CC099',\n '#AFFFFF',\n '#8CFC9D',\n '#76CFFA',\n '#BA60FB',\n '#EE6490',\n '#C42A1C',\n '#FC9F32'\n ]\n },\n {\n name: 'horizon',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: [\n '#2597FB',\n '#65EBFD',\n '#99FDD0',\n '#FCEE4B',\n '#FEFCFA',\n '#FDD6E3',\n '#FCB1A8',\n '#EF6F7B',\n '#CB96E8',\n '#EFDEE0'\n ]\n },\n {\n name: 'neons',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: [\n '#FF3333',\n '#FF33FF',\n '#CC33FF',\n '#0000FF',\n '#33CCFF',\n '#33FFFF',\n '#33FF66',\n '#CCFF33',\n '#FFCC00',\n '#FF6600'\n ]\n },\n {\n name: 'picnic',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: [\n '#FAC51D',\n '#66BD6D',\n '#FAA026',\n '#29BB9C',\n '#E96B56',\n '#55ACD2',\n '#B7332F',\n '#2C83C9',\n '#9166B8',\n '#92E7E8'\n ]\n },\n {\n name: 'night',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: [\n '#2B1B5A',\n '#501356',\n '#183356',\n '#28203F',\n '#391B3C',\n '#1E2B3C',\n '#120634',\n '#2D0432',\n '#051932',\n '#453080',\n '#75267D',\n '#2C507D',\n '#4B3880',\n '#752F7D',\n '#35547D'\n ]\n },\n {\n name: 'nightLights',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: [\n '#4e31a5',\n '#9c25a7',\n '#3065ab',\n '#57468b',\n '#904497',\n '#46648b',\n '#32118d',\n '#a00fb3',\n '#1052a2',\n '#6e51bd',\n '#b63cc3',\n '#6c97cb',\n '#8671c1',\n '#b455be',\n '#7496c3'\n ]\n }\n];\n\nclass ColorHelper {\n constructor(scheme, type, domain, customColors) {\n if (typeof scheme === 'string') {\n scheme = colorSets.find(cs => {\n return cs.name === scheme;\n });\n }\n this.colorDomain = scheme.domain;\n this.scaleType = type;\n this.domain = domain;\n this.customColors = customColors;\n this.scale = this.generateColorScheme(scheme, type, this.domain);\n }\n generateColorScheme(scheme, type, domain) {\n if (typeof scheme === 'string') {\n scheme = colorSets.find(cs => {\n return cs.name === scheme;\n });\n }\n let colorScale;\n switch (type) {\n case ScaleType.Quantile:\n colorScale = scaleQuantile()\n .range(scheme.domain)\n .domain(domain);\n break;\n case ScaleType.Ordinal:\n colorScale = scaleOrdinal()\n .range(scheme.domain)\n .domain(domain);\n break;\n case ScaleType.Linear:\n {\n const colorDomain = [...scheme.domain];\n if (colorDomain.length === 1) {\n colorDomain.push(colorDomain[0]);\n this.colorDomain = colorDomain;\n }\n const points = range(0, 1, 1.0 / colorDomain.length);\n colorScale = scaleLinear()\n .range(colorDomain)\n .domain(points);\n }\n break;\n default:\n break;\n }\n return colorScale;\n }\n getColor(value) {\n if (value === undefined || value === null) {\n throw new Error('Value can not be null');\n }\n if (this.scaleType === ScaleType.Linear) {\n const valueScale = scaleLinear()\n .domain(this.domain)\n .range([0, 1]);\n return this.scale(valueScale(value));\n }\n else {\n if (typeof this.customColors === 'function') {\n return this.customColors(value);\n }\n const formattedValue = value.toString();\n let found; // todo type customColors\n if (this.customColors && this.customColors.length > 0) {\n found = this.customColors.find(mapping => {\n return mapping.name.toLowerCase() === formattedValue.toLowerCase();\n });\n }\n if (found) {\n return found.value;\n }\n else {\n return this.scale(value);\n }\n }\n }\n getLinearGradientStops(value, start) {\n if (start === undefined) {\n start = this.domain[0];\n }\n const valueScale = scaleLinear()\n .domain(this.domain)\n .range([0, 1]);\n const colorValueScale = scaleBand().domain(this.colorDomain).range([0, 1]);\n const endColor = this.getColor(value);\n // generate the stops\n const startVal = valueScale(start);\n const startColor = this.getColor(start);\n const endVal = valueScale(value);\n let i = 1;\n let currentVal = startVal;\n const stops = [];\n stops.push({\n color: startColor,\n offset: startVal,\n originalOffset: startVal,\n opacity: 1\n });\n while (currentVal < endVal && i < this.colorDomain.length) {\n const color = this.colorDomain[i];\n const offset = colorValueScale(color);\n if (offset <= startVal) {\n i++;\n continue;\n }\n if (offset.toFixed(4) >= (endVal - colorValueScale.bandwidth()).toFixed(4)) {\n break;\n }\n stops.push({\n color,\n offset,\n opacity: 1\n });\n currentVal = offset;\n i++;\n }\n if (stops[stops.length - 1].offset < 100) {\n stops.push({\n color: endColor,\n offset: endVal,\n opacity: 1\n });\n }\n if (endVal === startVal) {\n stops[0].offset = 0;\n stops[1].offset = 100;\n }\n else {\n // normalize the offsets into percentages\n if (stops[stops.length - 1].offset !== 100) {\n for (const s of stops) {\n s.offset = ((s.offset - startVal) / (endVal - startVal)) * 100;\n }\n }\n }\n return stops;\n }\n}\n\n/**\n * Based on the data, return an array with unique values.\n *\n * @export\n * @returns array\n */\nfunction getUniqueXDomainValues(results) {\n const valueSet = new Set();\n for (const result of results) {\n for (const d of result.series) {\n valueSet.add(d.name);\n }\n }\n return Array.from(valueSet);\n}\n/**\n * Get the scaleType of enumerable of values.\n * @returns 'time', 'linear' or 'ordinal'\n */\nfunction getScaleType(values, checkDateType = true) {\n if (checkDateType) {\n const allDates = values.every(value => value instanceof Date);\n if (allDates) {\n return ScaleType.Time;\n }\n }\n const allNumbers = values.every(value => typeof value === 'number');\n if (allNumbers) {\n return ScaleType.Linear;\n }\n return ScaleType.Ordinal;\n}\nfunction getXDomainArray(values, xScaleMin, xScaleMax) {\n const scaleType = getScaleType(values);\n let xSet = [];\n let domain = [];\n if (scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (scaleType === ScaleType.Time || scaleType === ScaleType.Linear) {\n const mappedValues = values.map(v => Number(v));\n min = xScaleMin ? xScaleMin : Math.min(...mappedValues);\n max = xScaleMax ? xScaleMax : Math.max(...mappedValues);\n }\n if (scaleType === ScaleType.Time) {\n domain = [new Date(min), new Date(max)];\n xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n });\n }\n else if (scaleType === ScaleType.Linear) {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n xSet = [...values].sort((a, b) => a - b);\n }\n else {\n domain = values;\n xSet = values;\n }\n return { domain, xSet, scaleType };\n}\n\nclass AreaChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.xAxis = false;\n this.yAxis = false;\n this.baseValue = 'auto';\n this.autoScale = false;\n this.timeline = false;\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset}, ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (this.scaleType === ScaleType.Time || this.scaleType === ScaleType.Linear) {\n min = this.xScaleMin ? this.xScaleMin : Math.min(...values);\n max = this.xScaleMax ? this.xScaleMax : Math.max(...values);\n }\n if (this.scaleType === ScaleType.Time) {\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n });\n }\n else if (this.scaleType === ScaleType.Linear) {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n }\n else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n const values = [...domain];\n if (!this.autoScale) {\n values.push(0);\n }\n if (this.baseValue !== 'auto') {\n values.push(this.baseValue);\n }\n const min = this.yScaleMin ? this.yScaleMin : Math.min(...values);\n const max = this.yScaleMax ? this.yScaleMax : Math.max(...values);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === ScaleType.Time) {\n scale = scaleTime();\n }\n else if (this.scaleType === ScaleType.Linear) {\n scale = scaleLinear();\n }\n else if (this.scaleType === ScaleType.Ordinal) {\n scale = scalePoint().padding(0.1);\n }\n scale.range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getScaleType(values) {\n let date = true;\n let num = true;\n for (const value of values) {\n if (isDate(value)) {\n date = false;\n }\n if (isNumber(value)) {\n num = false;\n }\n }\n if (date) {\n return ScaleType.Time;\n }\n if (num) {\n return ScaleType.Linear;\n }\n return ScaleType.Ordinal;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.seriesDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n}\nAreaChartComponent.ɵfac = /*@__PURE__*/ function () { let ɵAreaChartComponent_BaseFactory; return function AreaChartComponent_Factory(t) { return (ɵAreaChartComponent_BaseFactory || (ɵAreaChartComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(AreaChartComponent)))(t || AreaChartComponent); }; }();\nAreaChartComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AreaChartComponent, selectors: [[\"ngx-charts-area-chart\"]], contentQueries: function AreaChartComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c22, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.seriesTooltipTemplate = _t.first);\n } }, hostBindings: function AreaChartComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseleave\", function AreaChartComponent_mouseleave_HostBindingHandler() { return ctx.hideCircles(); });\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", xAxis: \"xAxis\", yAxis: \"yAxis\", baseValue: \"baseValue\", autoScale: \"autoScale\", timeline: \"timeline\", showGridLines: \"showGridLines\", curve: \"curve\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", roundDomains: \"roundDomains\", tooltipDisabled: \"tooltipDisabled\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", xScaleMin: \"xScaleMin\", xScaleMax: \"xScaleMax\", yScaleMin: \"yScaleMin\", yScaleMax: \"yScaleMax\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 11, vars: 20, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\"], [1, \"area-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [3, \"mouseleave\", 4, \"ngIf\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\", \"onDomainChange\", 4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"baseValue\", \"colors\", \"data\", \"activeEntries\", \"scaleType\", \"gradient\", \"curve\", \"animations\"], [3, \"mouseleave\"], [\"ngx-charts-tooltip-area\", \"\", 3, \"dims\", \"xSet\", \"xScale\", \"yScale\", \"results\", \"colors\", \"tooltipDisabled\", \"tooltipTemplate\", \"hover\"], [4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-circle-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"activeEntries\", \"data\", \"scaleType\", \"visibleValue\", \"tooltipDisabled\", \"tooltipTemplate\", \"select\", \"activate\", \"deactivate\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\", \"onDomainChange\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"baseValue\", \"colors\", \"data\", \"scaleType\", \"gradient\", \"curve\", \"animations\"]], template: function AreaChartComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function AreaChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); })(\"legendLabelActivate\", function AreaChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event); })(\"legendLabelDeactivate\", function AreaChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"defs\")(2, \"clipPath\");\n ɵngcc0.ɵɵelement(3, \"rect\");\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(4, \"g\", 1);\n ɵngcc0.ɵɵtemplate(5, AreaChartComponent__svg_g_5_Template, 1, 10, \"g\", 2);\n ɵngcc0.ɵɵtemplate(6, AreaChartComponent__svg_g_6_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵelementStart(7, \"g\");\n ɵngcc0.ɵɵtemplate(8, AreaChartComponent__svg_g_8_Template, 2, 10, \"g\", 4);\n ɵngcc0.ɵɵtemplate(9, AreaChartComponent__svg_g_9_Template, 3, 9, \"g\", 5);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵtemplate(10, AreaChartComponent__svg_g_10_Template, 2, 13, \"g\", 6);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(17, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵattribute(\"id\", ctx.clipPathId);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"width\", ctx.dims.width + 10)(\"height\", ctx.dims.height + 10)(\"transform\", \"translate(-5, -5)\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"clip-path\", ctx.clipPath);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx.tooltipDisabled);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.timeline && ctx.scaleType != \"ordinal\");\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, TooltipArea, ChartComponent, CircleSeriesComponent, Timeline, AreaSeriesComponent]; }, styles: [_c24], encapsulation: 2, changeDetection: 0 });\nAreaChartComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n baseValue: [{ type: Input }],\n autoScale: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n timeline: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n roundDomains: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n xScaleMin: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n yScaleMin: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n seriesTooltipTemplate: [{ type: ContentChild, args: ['seriesTooltipTemplate',] }],\n hideCircles: [{ type: HostListener, args: ['mouseleave',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AreaChartComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-area-chart', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [baseValue]=\"baseValue\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results\">\n <svg:g\n ngx-charts-circle-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [activeEntries]=\"activeEntries\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [legend]=\"legend\"\n [scaleType]=\"scaleType\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [baseValue]=\"baseValue\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], baseValue: [{\n type: Input\n }], autoScale: [{\n type: Input\n }], timeline: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], curve: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], hideCircles: [{\n type: HostListener,\n args: ['mouseleave']\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], xScaleMin: [{\n type: Input\n }], xScaleMax: [{\n type: Input\n }], yScaleMin: [{\n type: Input\n }], yScaleMax: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }], seriesTooltipTemplate: [{\n type: ContentChild,\n args: ['seriesTooltipTemplate']\n }] }); })();\n\nclass AreaChartNormalizedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.showXAxisLabel = false;\n this.showYAxisLabel = false;\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.yDomain = [0, 100];\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.seriesType = SeriesType;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n for (let i = 0; i < this.xSet.length; i++) {\n const val = this.xSet[i];\n let d0 = 0;\n let total = 0;\n for (const group of this.results) {\n const d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === ScaleType.Time) {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n total += d.value;\n }\n }\n for (const group of this.results) {\n let d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === ScaleType.Time) {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n d.d0 = d0;\n d.d1 = d0 + d.value;\n d0 += d.value;\n }\n else {\n d = {\n name: val,\n value: 0,\n d0,\n d1: d0\n };\n group.series.push(d);\n }\n if (total > 0) {\n d.d0 = (d.d0 * 100) / total;\n d.d1 = (d.d1 * 100) / total;\n }\n else {\n d.d0 = 0;\n d.d1 = 0;\n }\n }\n }\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === ScaleType.Time) {\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n });\n }\n else if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n }\n else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === ScaleType.Time) {\n scale = scaleTime();\n }\n else if (this.scaleType === ScaleType.Linear) {\n scale = scaleLinear();\n }\n else if (this.scaleType === ScaleType.Ordinal) {\n scale = scalePoint().padding(0.1);\n }\n scale.range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.seriesDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n}\nAreaChartNormalizedComponent.ɵfac = /*@__PURE__*/ function () { let ɵAreaChartNormalizedComponent_BaseFactory; return function AreaChartNormalizedComponent_Factory(t) { return (ɵAreaChartNormalizedComponent_BaseFactory || (ɵAreaChartNormalizedComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(AreaChartNormalizedComponent)))(t || AreaChartNormalizedComponent); }; }();\nAreaChartNormalizedComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AreaChartNormalizedComponent, selectors: [[\"ngx-charts-area-chart-normalized\"]], contentQueries: function AreaChartNormalizedComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c22, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.seriesTooltipTemplate = _t.first);\n } }, hostBindings: function AreaChartNormalizedComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseleave\", function AreaChartNormalizedComponent_mouseleave_HostBindingHandler() { return ctx.hideCircles(); });\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", showGridLines: \"showGridLines\", curve: \"curve\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", roundDomains: \"roundDomains\", tooltipDisabled: \"tooltipDisabled\", xAxis: \"xAxis\", yAxis: \"yAxis\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", timeline: \"timeline\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 11, vars: 20, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\"], [1, \"area-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [3, \"mouseleave\", 4, \"ngIf\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\", \"onDomainChange\", 4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"activeEntries\", \"gradient\", \"normalized\", \"curve\", \"animations\"], [3, \"mouseleave\"], [\"ngx-charts-tooltip-area\", \"\", 3, \"dims\", \"xSet\", \"xScale\", \"yScale\", \"results\", \"colors\", \"showPercentage\", \"tooltipDisabled\", \"tooltipTemplate\", \"hover\"], [4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-circle-series\", \"\", 3, \"type\", \"xScale\", \"yScale\", \"colors\", \"activeEntries\", \"data\", \"scaleType\", \"visibleValue\", \"tooltipDisabled\", \"tooltipTemplate\", \"select\", \"activate\", \"deactivate\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\", \"onDomainChange\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"gradient\", \"normalized\", \"curve\", \"animations\"]], template: function AreaChartNormalizedComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function AreaChartNormalizedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); })(\"legendLabelActivate\", function AreaChartNormalizedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event); })(\"legendLabelDeactivate\", function AreaChartNormalizedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"defs\")(2, \"clipPath\");\n ɵngcc0.ɵɵelement(3, \"rect\");\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(4, \"g\", 1);\n ɵngcc0.ɵɵtemplate(5, AreaChartNormalizedComponent__svg_g_5_Template, 1, 10, \"g\", 2);\n ɵngcc0.ɵɵtemplate(6, AreaChartNormalizedComponent__svg_g_6_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵelementStart(7, \"g\");\n ɵngcc0.ɵɵtemplate(8, AreaChartNormalizedComponent__svg_g_8_Template, 2, 10, \"g\", 4);\n ɵngcc0.ɵɵtemplate(9, AreaChartNormalizedComponent__svg_g_9_Template, 3, 10, \"g\", 5);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵtemplate(10, AreaChartNormalizedComponent__svg_g_10_Template, 2, 13, \"g\", 6);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(17, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵattribute(\"id\", ctx.clipPathId);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"width\", ctx.dims.width + 10)(\"height\", ctx.dims.height + 10)(\"transform\", \"translate(-5, -5)\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"clip-path\", ctx.clipPath);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx.tooltipDisabled);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.timeline && ctx.scaleType != \"ordinal\");\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, TooltipArea, ChartComponent, CircleSeriesComponent, Timeline, AreaSeriesComponent]; }, styles: [_c24], encapsulation: 2, changeDetection: 0 });\nAreaChartNormalizedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n timeline: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n roundDomains: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n seriesTooltipTemplate: [{ type: ContentChild, args: ['seriesTooltipTemplate',] }],\n hideCircles: [{ type: HostListener, args: ['mouseleave',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AreaChartNormalizedComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-area-chart-normalized', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [activeEntries]=\"activeEntries\"\n [gradient]=\"gradient\"\n [normalized]=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [showPercentage]=\"true\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results\">\n <svg:g\n ngx-charts-circle-series\n [type]=\"seriesType.Stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [activeEntries]=\"activeEntries\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [legend]=\"legend\"\n [scaleType]=\"scaleType\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [normalized]=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], curve: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], hideCircles: [{\n type: HostListener,\n args: ['mouseleave']\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], timeline: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }], seriesTooltipTemplate: [{\n type: ContentChild,\n args: ['seriesTooltipTemplate']\n }] }); })();\n\nclass AreaChartStackedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.xAxis = false;\n this.yAxis = false;\n this.timeline = false;\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n this.seriesType = SeriesType;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n for (let i = 0; i < this.xSet.length; i++) {\n const val = this.xSet[i];\n let d0 = 0;\n for (const group of this.results) {\n let d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === ScaleType.Time) {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n d.d0 = d0;\n d.d1 = d0 + d.value;\n d0 += d.value;\n }\n else {\n d = {\n name: val,\n value: 0,\n d0,\n d1: d0\n };\n group.series.push(d);\n }\n }\n }\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (this.scaleType === ScaleType.Time || this.scaleType === ScaleType.Linear) {\n min = this.xScaleMin ? this.xScaleMin : Math.min(...values);\n max = this.xScaleMax ? this.xScaleMax : Math.max(...values);\n }\n if (this.scaleType === ScaleType.Time) {\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n });\n }\n else if (this.scaleType === ScaleType.Linear) {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n }\n else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (let i = 0; i < this.xSet.length; i++) {\n const val = this.xSet[i];\n let sum = 0;\n for (const group of this.results) {\n const d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === ScaleType.Time) {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n sum += d.value;\n }\n }\n domain.push(sum);\n }\n const min = this.yScaleMin ? this.yScaleMin : Math.min(0, ...domain);\n const max = this.yScaleMax ? this.yScaleMax : Math.max(...domain);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === ScaleType.Time) {\n scale = scaleTime();\n }\n else if (this.scaleType === ScaleType.Linear) {\n scale = scaleLinear();\n }\n else if (this.scaleType === ScaleType.Ordinal) {\n scale = scalePoint().padding(0.1);\n }\n scale.range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return `${item.name}`;\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.seriesDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n}\nAreaChartStackedComponent.ɵfac = /*@__PURE__*/ function () { let ɵAreaChartStackedComponent_BaseFactory; return function AreaChartStackedComponent_Factory(t) { return (ɵAreaChartStackedComponent_BaseFactory || (ɵAreaChartStackedComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(AreaChartStackedComponent)))(t || AreaChartStackedComponent); }; }();\nAreaChartStackedComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AreaChartStackedComponent, selectors: [[\"ngx-charts-area-chart-stacked\"]], contentQueries: function AreaChartStackedComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c22, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.seriesTooltipTemplate = _t.first);\n } }, hostBindings: function AreaChartStackedComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseleave\", function AreaChartStackedComponent_mouseleave_HostBindingHandler() { return ctx.hideCircles(); });\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", xAxis: \"xAxis\", yAxis: \"yAxis\", timeline: \"timeline\", showGridLines: \"showGridLines\", curve: \"curve\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", roundDomains: \"roundDomains\", tooltipDisabled: \"tooltipDisabled\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", xScaleMin: \"xScaleMin\", xScaleMax: \"xScaleMax\", yScaleMin: \"yScaleMin\", yScaleMax: \"yScaleMax\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 11, vars: 20, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\"], [1, \"area-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [3, \"mouseleave\", 4, \"ngIf\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\", \"onDomainChange\", 4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"gradient\", \"activeEntries\", \"stacked\", \"curve\", \"animations\"], [3, \"mouseleave\"], [\"ngx-charts-tooltip-area\", \"\", 3, \"dims\", \"xSet\", \"xScale\", \"yScale\", \"results\", \"colors\", \"tooltipDisabled\", \"tooltipTemplate\", \"hover\"], [\"ngx-charts-circle-series\", \"\", 3, \"type\", \"xScale\", \"yScale\", \"colors\", \"activeEntries\", \"data\", \"scaleType\", \"visibleValue\", \"tooltipDisabled\", \"tooltipTemplate\", \"select\", \"activate\", \"deactivate\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\", \"onDomainChange\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"gradient\", \"stacked\", \"curve\", \"animations\"]], template: function AreaChartStackedComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function AreaChartStackedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); })(\"legendLabelActivate\", function AreaChartStackedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event); })(\"legendLabelDeactivate\", function AreaChartStackedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"defs\")(2, \"clipPath\");\n ɵngcc0.ɵɵelement(3, \"rect\");\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(4, \"g\", 1);\n ɵngcc0.ɵɵtemplate(5, AreaChartStackedComponent__svg_g_5_Template, 1, 10, \"g\", 2);\n ɵngcc0.ɵɵtemplate(6, AreaChartStackedComponent__svg_g_6_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵelementStart(7, \"g\");\n ɵngcc0.ɵɵtemplate(8, AreaChartStackedComponent__svg_g_8_Template, 2, 10, \"g\", 4);\n ɵngcc0.ɵɵtemplate(9, AreaChartStackedComponent__svg_g_9_Template, 3, 10, \"g\", 5);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵtemplate(10, AreaChartStackedComponent__svg_g_10_Template, 2, 13, \"g\", 6);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(17, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵattribute(\"id\", ctx.clipPathId);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"width\", ctx.dims.width + 10)(\"height\", ctx.dims.height + 10)(\"transform\", \"translate(-5, -5)\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"clip-path\", ctx.clipPath);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx.tooltipDisabled);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.timeline && ctx.scaleType != \"ordinal\");\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, TooltipArea, ChartComponent, CircleSeriesComponent, Timeline, AreaSeriesComponent]; }, styles: [_c24], encapsulation: 2, changeDetection: 0 });\nAreaChartStackedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n timeline: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n roundDomains: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n xScaleMin: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n yScaleMin: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n seriesTooltipTemplate: [{ type: ContentChild, args: ['seriesTooltipTemplate',] }],\n hideCircles: [{ type: HostListener, args: ['mouseleave',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AreaChartStackedComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-area-chart-stacked', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [activeEntries]=\"activeEntries\"\n [stacked]=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-circle-series\n [type]=\"seriesType.Stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [activeEntries]=\"activeEntries\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [legend]=\"legend\"\n [scaleType]=\"scaleType\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-area-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [gradient]=\"gradient\"\n [stacked]=\"true\"\n [curve]=\"curve\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], timeline: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], curve: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], hideCircles: [{\n type: HostListener,\n args: ['mouseleave']\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], xScaleMin: [{\n type: Input\n }], xScaleMax: [{\n type: Input\n }], yScaleMin: [{\n type: Input\n }], yScaleMax: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }], seriesTooltipTemplate: [{\n type: ContentChild,\n args: ['seriesTooltipTemplate']\n }] }); })();\n\nfunction sortLinear(data, property, direction = 'asc') {\n return data.sort((a, b) => {\n if (direction === 'asc') {\n return a[property] - b[property];\n }\n else {\n return b[property] - a[property];\n }\n });\n}\nfunction sortByDomain(data, property, direction = 'asc', domain) {\n return data.sort((a, b) => {\n const aVal = a[property];\n const bVal = b[property];\n const aIdx = domain.indexOf(aVal);\n const bIdx = domain.indexOf(bVal);\n if (direction === 'asc') {\n return aIdx - bIdx;\n }\n else {\n return bIdx - aIdx;\n }\n });\n}\nfunction sortByTime(data, property, direction = 'asc') {\n return data.sort((a, b) => {\n const aDate = a[property].getTime();\n const bDate = b[property].getTime();\n if (direction === 'asc') {\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n }\n else {\n if (aDate > bDate)\n return -1;\n if (bDate > aDate)\n return 1;\n return 0;\n }\n });\n}\n\nclass AreaSeriesComponent {\n constructor() {\n this.baseValue = 'auto';\n this.stacked = false;\n this.normalized = false;\n this.animations = true;\n this.select = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateGradient();\n let currentArea;\n let startingArea;\n const xProperty = d => {\n const label = d.name;\n return this.xScale(label);\n };\n if (this.stacked || this.normalized) {\n currentArea = area()\n .x(xProperty)\n .y0((d, i) => this.yScale(d.d0))\n .y1((d, i) => this.yScale(d.d1));\n startingArea = area()\n .x(xProperty)\n .y0(d => this.yScale.range()[0])\n .y1(d => this.yScale.range()[0]);\n }\n else {\n currentArea = area()\n .x(xProperty)\n .y0(() => (this.baseValue === 'auto' ? this.yScale.range()[0] : this.yScale(this.baseValue)))\n .y1(d => this.yScale(d.value));\n startingArea = area()\n .x(xProperty)\n .y0(d => (this.baseValue === 'auto' ? this.yScale.range()[0] : this.yScale(this.baseValue)))\n .y1(d => (this.baseValue === 'auto' ? this.yScale.range()[0] : this.yScale(this.baseValue)));\n }\n currentArea.curve(this.curve);\n startingArea.curve(this.curve);\n this.opacity = 0.8;\n let data = this.data.series;\n if (this.scaleType === ScaleType.Linear) {\n data = sortLinear(data, 'name');\n }\n else if (this.scaleType === ScaleType.Time) {\n data = sortByTime(data, 'name');\n }\n else {\n data = sortByDomain(data, 'name', 'asc', this.xScale.domain());\n }\n this.path = currentArea(data);\n this.startingPath = startingArea(data);\n }\n updateGradient() {\n if (this.colors.scaleType === ScaleType.Linear) {\n this.hasGradient = true;\n if (this.stacked || this.normalized) {\n const d0values = this.data.series.map(d => d.d0);\n const d1values = this.data.series.map(d => d.d1);\n const max = Math.max(...d1values);\n const min = Math.min(...d0values);\n this.gradientStops = this.colors.getLinearGradientStops(max, min);\n }\n else {\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n this.gradientStops = this.colors.getLinearGradientStops(max);\n }\n }\n else {\n this.hasGradient = false;\n this.gradientStops = undefined;\n }\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isInactive(entry) {\n if (!this.activeEntries || this.activeEntries.length === 0)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item === undefined;\n }\n}\nAreaSeriesComponent.ɵfac = function AreaSeriesComponent_Factory(t) { return new (t || AreaSeriesComponent)(); };\nAreaSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AreaSeriesComponent, selectors: [[\"g\", \"ngx-charts-area-series\", \"\"]], inputs: { baseValue: \"baseValue\", stacked: \"stacked\", normalized: \"normalized\", animations: \"animations\", data: \"data\", xScale: \"xScale\", yScale: \"yScale\", colors: \"colors\", scaleType: \"scaleType\", gradient: \"gradient\", curve: \"curve\", activeEntries: \"activeEntries\" }, outputs: { select: \"select\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c25, decls: 1, vars: 12, consts: [[\"ngx-charts-area\", \"\", 1, \"area-series\", 3, \"data\", \"path\", \"fill\", \"stops\", \"startingPath\", \"opacity\", \"gradient\", \"animations\"]], template: function AreaSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"active\", ctx.isActive(ctx.data))(\"inactive\", ctx.isInactive(ctx.data));\n ɵngcc0.ɵɵproperty(\"data\", ctx.data)(\"path\", ctx.path)(\"fill\", ctx.colors.getColor(ctx.data.name))(\"stops\", ctx.gradientStops)(\"startingPath\", ctx.startingPath)(\"opacity\", ctx.opacity)(\"gradient\", ctx.gradient || ctx.hasGradient)(\"animations\", ctx.animations);\n } }, dependencies: [AreaComponent], encapsulation: 2, changeDetection: 0 });\nAreaSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n baseValue: [{ type: Input }],\n colors: [{ type: Input }],\n scaleType: [{ type: Input }],\n stacked: [{ type: Input }],\n normalized: [{ type: Input }],\n gradient: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AreaSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-area-series]',\n template: `\n <svg:g\n ngx-charts-area\n class=\"area-series\"\n [data]=\"data\"\n [path]=\"path\"\n [fill]=\"colors.getColor(data.name)\"\n [stops]=\"gradientStops\"\n [startingPath]=\"startingPath\"\n [opacity]=\"opacity\"\n [gradient]=\"gradient || hasGradient\"\n [animations]=\"animations\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { baseValue: [{\n type: Input\n }], stacked: [{\n type: Input\n }], normalized: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], data: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], colors: [{\n type: Input\n }], scaleType: [{\n type: Input\n }], gradient: [{\n type: Input\n }], curve: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }] }); })();\n\nclass AreaChartModule {\n}\nAreaChartModule.ɵfac = function AreaChartModule_Factory(t) { return new (t || AreaChartModule)(); };\nAreaChartModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: AreaChartModule });\nAreaChartModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AreaChartModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule],\n declarations: [AreaChartComponent, AreaChartNormalizedComponent, AreaChartStackedComponent, AreaSeriesComponent],\n exports: [AreaChartComponent, AreaChartNormalizedComponent, AreaChartStackedComponent, AreaSeriesComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(AreaChartModule, { declarations: [AreaChartComponent, AreaChartNormalizedComponent, AreaChartStackedComponent, AreaSeriesComponent], imports: [ChartCommonModule], exports: [AreaChartComponent, AreaChartNormalizedComponent, AreaChartStackedComponent, AreaSeriesComponent] }); })();\n\nclass BarComponent {\n constructor(element) {\n this.roundEdges = true;\n this.gradient = false;\n this.offset = 0;\n this.isActive = false;\n this.animations = true;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.hasGradient = false;\n this.hideBar = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n if (changes.roundEdges) {\n this.loadAnimation();\n }\n this.update();\n }\n update() {\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n if (this.gradient || this.stops) {\n this.gradientStops = this.getGradient();\n this.hasGradient = true;\n }\n else {\n this.hasGradient = false;\n }\n this.updatePathEl();\n this.checkToHideBar();\n }\n loadAnimation() {\n this.path = this.getStartingPath();\n setTimeout(this.update.bind(this), 100);\n }\n updatePathEl() {\n const node = select(this.element).select('.bar');\n const path = this.getPath();\n if (this.animations) {\n node.transition().duration(500).attr('d', path);\n }\n else {\n node.attr('d', path);\n }\n }\n getGradient() {\n if (this.stops) {\n return this.stops;\n }\n return [\n {\n offset: 0,\n color: this.fill,\n opacity: this.getStartOpacity()\n },\n {\n offset: 100,\n color: this.fill,\n opacity: 1\n }\n ];\n }\n getStartingPath() {\n if (!this.animations) {\n return this.getPath();\n }\n let radius = this.getRadius();\n let path;\n if (this.roundEdges) {\n if (this.orientation === BarOrientation.Vertical) {\n radius = Math.min(this.height, radius);\n path = roundedRect(this.x, this.y + this.height, this.width, 1, 0, this.edges);\n }\n else if (this.orientation === BarOrientation.Horizontal) {\n radius = Math.min(this.width, radius);\n path = roundedRect(this.x, this.y, 1, this.height, 0, this.edges);\n }\n }\n else {\n if (this.orientation === BarOrientation.Vertical) {\n path = roundedRect(this.x, this.y + this.height, this.width, 1, 0, this.edges);\n }\n else if (this.orientation === BarOrientation.Horizontal) {\n path = roundedRect(this.x, this.y, 1, this.height, 0, this.edges);\n }\n }\n return path;\n }\n getPath() {\n let radius = this.getRadius();\n let path;\n if (this.roundEdges) {\n if (this.orientation === BarOrientation.Vertical) {\n radius = Math.min(this.height, radius);\n path = roundedRect(this.x, this.y, this.width, this.height, radius, this.edges);\n }\n else if (this.orientation === BarOrientation.Horizontal) {\n radius = Math.min(this.width, radius);\n path = roundedRect(this.x, this.y, this.width, this.height, radius, this.edges);\n }\n }\n else {\n path = roundedRect(this.x, this.y, this.width, this.height, radius, this.edges);\n }\n return path;\n }\n getRadius() {\n let radius = 0;\n if (this.roundEdges && this.height > 5 && this.width > 5) {\n radius = Math.floor(Math.min(5, this.height / 2, this.width / 2));\n }\n return radius;\n }\n getStartOpacity() {\n if (this.roundEdges) {\n return 0.2;\n }\n else {\n return 0.5;\n }\n }\n get edges() {\n let edges = [false, false, false, false];\n if (this.roundEdges) {\n if (this.orientation === BarOrientation.Vertical) {\n if (this.data.value > 0) {\n edges = [true, true, false, false];\n }\n else {\n edges = [false, false, true, true];\n }\n }\n else if (this.orientation === BarOrientation.Horizontal) {\n if (this.data.value > 0) {\n edges = [false, true, false, true];\n }\n else {\n edges = [true, false, true, false];\n }\n }\n }\n return edges;\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n checkToHideBar() {\n this.hideBar =\n this.noBarWhenZero &&\n ((this.orientation === BarOrientation.Vertical && this.height === 0) ||\n (this.orientation === BarOrientation.Horizontal && this.width === 0));\n }\n}\nBarComponent.ɵfac = function BarComponent_Factory(t) { return new (t || BarComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nBarComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BarComponent, selectors: [[\"g\", \"ngx-charts-bar\", \"\"]], hostBindings: function BarComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseenter\", function BarComponent_mouseenter_HostBindingHandler() { return ctx.onMouseEnter(); })(\"mouseleave\", function BarComponent_mouseleave_HostBindingHandler() { return ctx.onMouseLeave(); });\n } }, inputs: { roundEdges: \"roundEdges\", gradient: \"gradient\", offset: \"offset\", isActive: \"isActive\", animations: \"animations\", noBarWhenZero: \"noBarWhenZero\", fill: \"fill\", data: \"data\", width: \"width\", height: \"height\", x: \"x\", y: \"y\", orientation: \"orientation\", stops: \"stops\", ariaLabel: \"ariaLabel\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c26, decls: 2, vars: 8, consts: [[4, \"ngIf\"], [\"stroke\", \"none\", \"role\", \"img\", \"tabIndex\", \"-1\", 1, \"bar\", 3, \"click\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"]], template: function BarComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, BarComponent__svg_defs_0_Template, 2, 3, \"defs\", 0);\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"path\", 1);\n ɵngcc0.ɵɵlistener(\"click\", function BarComponent_Template__svg_path_click_1_listener() { return ctx.select.emit(ctx.data); });\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.hasGradient);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"active\", ctx.isActive)(\"hidden\", ctx.hideBar);\n ɵngcc0.ɵɵattribute(\"d\", ctx.path)(\"aria-label\", ctx.ariaLabel)(\"fill\", ctx.hasGradient ? ctx.gradientFill : ctx.fill);\n } }, dependencies: [ɵngcc1.NgIf, SvgLinearGradientComponent], encapsulation: 2, changeDetection: 0 });\nBarComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nBarComponent.propDecorators = {\n fill: [{ type: Input }],\n data: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }],\n orientation: [{ type: Input }],\n roundEdges: [{ type: Input }],\n gradient: [{ type: Input }],\n offset: [{ type: Input }],\n isActive: [{ type: Input }],\n stops: [{ type: Input }],\n animations: [{ type: Input }],\n ariaLabel: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-bar]',\n template: `\n <svg:defs *ngIf=\"hasGradient\">\n <svg:g ngx-charts-svg-linear-gradient [orientation]=\"orientation\" [name]=\"gradientId\" [stops]=\"gradientStops\" />\n </svg:defs>\n <svg:path\n class=\"bar\"\n stroke=\"none\"\n role=\"img\"\n tabIndex=\"-1\"\n [class.active]=\"isActive\"\n [class.hidden]=\"hideBar\"\n [attr.d]=\"path\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.fill]=\"hasGradient ? gradientFill : fill\"\n (click)=\"select.emit(data)\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { roundEdges: [{\n type: Input\n }], gradient: [{\n type: Input\n }], offset: [{\n type: Input\n }], isActive: [{\n type: Input\n }], animations: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], onMouseEnter: [{\n type: HostListener,\n args: ['mouseenter']\n }], onMouseLeave: [{\n type: HostListener,\n args: ['mouseleave']\n }], fill: [{\n type: Input\n }], data: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], x: [{\n type: Input\n }], y: [{\n type: Input\n }], orientation: [{\n type: Input\n }], stops: [{\n type: Input\n }], ariaLabel: [{\n type: Input\n }] }); })();\n\nclass BarHorizontalComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n }\n this.margin = [10, 20 + this.dataLabelMaxWidth.positive, 10, 20 + this.dataLabelMaxWidth.negative];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getXScale() {\n this.xDomain = this.getXDomain();\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.xDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale() {\n this.yDomain = this.getYDomain();\n const spacing = this.yDomain.length / (this.dims.height / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.height]).paddingInner(spacing).domain(this.yDomain);\n }\n getXDomain() {\n const values = this.results.map(d => d.value);\n const min = this.xScaleMin ? Math.min(this.xScaleMin, ...values) : Math.min(0, ...values);\n const max = this.xScaleMax ? Math.max(this.xScaleMax, ...values) : Math.max(0, ...values);\n return [min, max];\n }\n getYDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.yDomain;\n }\n else {\n domain = this.xDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.yDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.xDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxWidthChanged(event) {\n if (event.size.negative) {\n this.dataLabelMaxWidth.negative = Math.max(this.dataLabelMaxWidth.negative, event.size.width);\n }\n else {\n this.dataLabelMaxWidth.positive = Math.max(this.dataLabelMaxWidth.positive, event.size.width);\n }\n if (event.index === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarHorizontalComponent.ɵfac = /*@__PURE__*/ function () { let ɵBarHorizontalComponent_BaseFactory; return function BarHorizontalComponent_Factory(t) { return (ɵBarHorizontalComponent_BaseFactory || (ɵBarHorizontalComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(BarHorizontalComponent)))(t || BarHorizontalComponent); }; }();\nBarHorizontalComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BarHorizontalComponent, selectors: [[\"ngx-charts-bar-horizontal\"]], contentQueries: function BarHorizontalComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", tooltipDisabled: \"tooltipDisabled\", showGridLines: \"showGridLines\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", barPadding: \"barPadding\", roundDomains: \"roundDomains\", roundEdges: \"roundEdges\", showDataLabel: \"showDataLabel\", noBarWhenZero: \"noBarWhenZero\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", xScaleMax: \"xScaleMax\", xScaleMin: \"xScaleMin\", dataLabelFormatting: \"dataLabelFormatting\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 5, vars: 25, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-series-horizontal\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"activeEntries\", \"roundEdges\", \"animations\", \"showDataLabel\", \"dataLabelFormatting\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\", \"dataLabelWidthChanged\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\", \"dimensionsChanged\"]], template: function BarHorizontalComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function BarHorizontalComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); })(\"legendLabelActivate\", function BarHorizontalComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event, true); })(\"legendLabelDeactivate\", function BarHorizontalComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event, true); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵtemplate(2, BarHorizontalComponent__svg_g_2_Template, 1, 10, \"g\", 2);\n ɵngcc0.ɵɵtemplate(3, BarHorizontalComponent__svg_g_3_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵelementStart(4, \"g\", 4);\n ɵngcc0.ɵɵlistener(\"select\", function BarHorizontalComponent_Template__svg_g_select_4_listener($event) { return ctx.onClick($event); })(\"activate\", function BarHorizontalComponent_Template__svg_g_activate_4_listener($event) { return ctx.onActivate($event); })(\"deactivate\", function BarHorizontalComponent_Template__svg_g_deactivate_4_listener($event) { return ctx.onDeactivate($event); })(\"dataLabelWidthChanged\", function BarHorizontalComponent_Template__svg_g_dataLabelWidthChanged_4_listener($event) { return ctx.onDataLabelMaxWidthChanged($event); });\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(22, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx.xScale)(\"yScale\", ctx.yScale)(\"colors\", ctx.colors)(\"series\", ctx.results)(\"dims\", ctx.dims)(\"gradient\", ctx.gradient)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"activeEntries\", ctx.activeEntries)(\"roundEdges\", ctx.roundEdges)(\"animations\", ctx.animations)(\"showDataLabel\", ctx.showDataLabel)(\"dataLabelFormatting\", ctx.dataLabelFormatting)(\"noBarWhenZero\", ctx.noBarWhenZero);\n } }, dependencies: function () { return [ɵngcc1.NgIf, XAxisComponent, YAxisComponent, ChartComponent, SeriesHorizontal]; }, styles: [_c24], encapsulation: 2, changeDetection: 0 });\nBarHorizontalComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n roundEdges: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n xScaleMin: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarHorizontalComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-bar-horizontal', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, true)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [yAxisOffset]=\"dataLabelMaxWidth.negative\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-series-horizontal\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [series]=\"results\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [activeEntries]=\"activeEntries\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n (dataLabelWidthChanged)=\"onDataLabelMaxWidthChanged($event)\"\n ></svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], barPadding: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], roundEdges: [{\n type: Input\n }], showDataLabel: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], xScaleMax: [{\n type: Input\n }], xScaleMin: [{\n type: Input\n }], dataLabelFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass BarHorizontal2DComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.groupPadding = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n this.barOrientation = BarOrientation;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n }\n this.margin = [10, 20 + this.dataLabelMaxWidth.positive, 10, 20 + this.dataLabelMaxWidth.negative];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.groupScale = this.getGroupScale();\n this.innerScale = this.getInnerScale();\n this.valueScale = this.getValueScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.groupPadding + 1);\n return scaleBand()\n .rangeRound([0, this.dims.height])\n .paddingInner(spacing)\n .paddingOuter(spacing / 2)\n .domain(this.groupDomain);\n }\n getInnerScale() {\n const height = this.groupScale.bandwidth();\n const spacing = this.innerDomain.length / (height / this.barPadding + 1);\n return scaleBand().rangeRound([0, height]).paddingInner(spacing).domain(this.innerDomain);\n }\n getValueScale() {\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n const min = Math.min(0, ...domain);\n const max = this.xScaleMax ? Math.max(this.xScaleMax, ...domain) : Math.max(0, ...domain);\n return [min, max];\n }\n groupTransform(group) {\n return `translate(0, ${this.groupScale(group.label)})`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n }\n else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxWidthChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxWidth.negative = Math.max(this.dataLabelMaxWidth.negative, event.size.width);\n }\n else {\n this.dataLabelMaxWidth.positive = Math.max(this.dataLabelMaxWidth.positive, event.size.width);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarHorizontal2DComponent.ɵfac = /*@__PURE__*/ function () { let ɵBarHorizontal2DComponent_BaseFactory; return function BarHorizontal2DComponent_Factory(t) { return (ɵBarHorizontal2DComponent_BaseFactory || (ɵBarHorizontal2DComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(BarHorizontal2DComponent)))(t || BarHorizontal2DComponent); }; }();\nBarHorizontal2DComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BarHorizontal2DComponent, selectors: [[\"ngx-charts-bar-horizontal-2d\"]], contentQueries: function BarHorizontal2DComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", tooltipDisabled: \"tooltipDisabled\", showGridLines: \"showGridLines\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", groupPadding: \"groupPadding\", barPadding: \"barPadding\", roundDomains: \"roundDomains\", roundEdges: \"roundEdges\", showDataLabel: \"showDataLabel\", noBarWhenZero: \"noBarWhenZero\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", xScaleMax: \"xScaleMax\", dataLabelFormatting: \"dataLabelFormatting\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 6, vars: 18, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-grid-panel-series\", \"\", 3, \"xScale\", \"yScale\", \"data\", \"dims\", \"orient\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\", \"dimensionsChanged\"], [\"ngx-charts-series-horizontal\", \"\", 3, \"xScale\", \"activeEntries\", \"yScale\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"seriesName\", \"roundEdges\", \"animations\", \"showDataLabel\", \"dataLabelFormatting\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\", \"dataLabelWidthChanged\"]], template: function BarHorizontal2DComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelActivate\", function BarHorizontal2DComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event, undefined, true); })(\"legendLabelDeactivate\", function BarHorizontal2DComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event, undefined, true); })(\"legendLabelClick\", function BarHorizontal2DComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵelement(2, \"g\", 2);\n ɵngcc0.ɵɵtemplate(3, BarHorizontal2DComponent__svg_g_3_Template, 1, 10, \"g\", 3);\n ɵngcc0.ɵɵtemplate(4, BarHorizontal2DComponent__svg_g_4_Template, 1, 9, \"g\", 4);\n ɵngcc0.ɵɵtemplate(5, BarHorizontal2DComponent__svg_g_5_Template, 2, 17, \"g\", 5);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(15, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx.valueScale)(\"yScale\", ctx.groupScale)(\"data\", ctx.results)(\"dims\", ctx.dims)(\"orient\", ctx.barOrientation.Horizontal);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, ChartComponent, GridPanelSeriesComponent, SeriesHorizontal]; }, styles: [_c24], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ] }, changeDetection: 0 });\nBarHorizontal2DComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n groupPadding: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n roundEdges: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarHorizontal2DComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-bar-horizontal-2d', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-grid-panel-series\n [xScale]=\"valueScale\"\n [yScale]=\"groupScale\"\n [data]=\"results\"\n [dims]=\"dims\"\n [orient]=\"barOrientation.Horizontal\"\n ></svg:g>\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"valueScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"groupScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [yAxisOffset]=\"dataLabelMaxWidth.negative\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-horizontal\n [xScale]=\"valueScale\"\n [activeEntries]=\"activeEntries\"\n [yScale]=\"innerScale\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelWidthChanged)=\"onDataLabelMaxWidthChanged($event, index)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ], styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], groupPadding: [{\n type: Input\n }], barPadding: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], roundEdges: [{\n type: Input\n }], showDataLabel: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], xScaleMax: [{\n type: Input\n }], dataLabelFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nvar BarChartType;\n(function (BarChartType) {\n BarChartType[\"Standard\"] = \"standard\";\n BarChartType[\"Normalized\"] = \"normalized\";\n BarChartType[\"Stacked\"] = \"stacked\";\n})(BarChartType || (BarChartType = {}));\n\nclass BarHorizontalNormalizedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.valueDomain = [0, 100];\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.barChartType = BarChartType;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getYScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.height]).paddingInner(spacing).domain(this.groupDomain);\n }\n getXScale() {\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n groupTransform(group) {\n return `translate(0, ${this.yScale(group.name)})`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n }\n else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarHorizontalNormalizedComponent.ɵfac = /*@__PURE__*/ function () { let ɵBarHorizontalNormalizedComponent_BaseFactory; return function BarHorizontalNormalizedComponent_Factory(t) { return (ɵBarHorizontalNormalizedComponent_BaseFactory || (ɵBarHorizontalNormalizedComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(BarHorizontalNormalizedComponent)))(t || BarHorizontalNormalizedComponent); }; }();\nBarHorizontalNormalizedComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BarHorizontalNormalizedComponent, selectors: [[\"ngx-charts-bar-horizontal-normalized\"]], contentQueries: function BarHorizontalNormalizedComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", tooltipDisabled: \"tooltipDisabled\", showGridLines: \"showGridLines\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", barPadding: \"barPadding\", roundDomains: \"roundDomains\", noBarWhenZero: \"noBarWhenZero\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 5, vars: 13, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-series-horizontal\", \"\", 3, \"type\", \"xScale\", \"yScale\", \"activeEntries\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"seriesName\", \"animations\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\"]], template: function BarHorizontalNormalizedComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelActivate\", function BarHorizontalNormalizedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event, undefined, true); })(\"legendLabelDeactivate\", function BarHorizontalNormalizedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event, undefined, true); })(\"legendLabelClick\", function BarHorizontalNormalizedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵtemplate(2, BarHorizontalNormalizedComponent__svg_g_2_Template, 1, 10, \"g\", 2);\n ɵngcc0.ɵɵtemplate(3, BarHorizontalNormalizedComponent__svg_g_3_Template, 1, 8, \"g\", 3);\n ɵngcc0.ɵɵtemplate(4, BarHorizontalNormalizedComponent__svg_g_4_Template, 2, 15, \"g\", 4);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(10, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, ChartComponent, SeriesHorizontal]; }, styles: [_c24], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ] }, changeDetection: 0 });\nBarHorizontalNormalizedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarHorizontalNormalizedComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-bar-horizontal-normalized', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-horizontal\n [type]=\"barChartType.Normalized\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [activeEntries]=\"activeEntries\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n [noBarWhenZero]=\"noBarWhenZero\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ], styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], barPadding: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass BarHorizontalStackedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n this.barChartType = BarChartType;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxWidth = { negative: 0, positive: 0 };\n }\n this.margin = [10, 20 + this.dataLabelMaxWidth.positive, 10, 20 + this.dataLabelMaxWidth.negative];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n let smallest = 0;\n let biggest = 0;\n for (const group of this.results) {\n let smallestSum = 0;\n let biggestSum = 0;\n for (const d of group.series) {\n if (d.value < 0) {\n smallestSum += d.value;\n }\n else {\n biggestSum += d.value;\n }\n smallest = d.value < smallest ? d.value : smallest;\n biggest = d.value > biggest ? d.value : biggest;\n }\n domain.push(smallestSum);\n domain.push(biggestSum);\n }\n domain.push(smallest);\n domain.push(biggest);\n const min = Math.min(0, ...domain);\n const max = this.xScaleMax ? Math.max(this.xScaleMax, ...domain) : Math.max(...domain);\n return [min, max];\n }\n getYScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.height]).paddingInner(spacing).domain(this.groupDomain);\n }\n getXScale() {\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n groupTransform(group) {\n return `translate(0, ${this.yScale(group.name)})`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n }\n else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxWidthChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxWidth.negative = Math.max(this.dataLabelMaxWidth.negative, event.size.width);\n }\n else {\n this.dataLabelMaxWidth.positive = Math.max(this.dataLabelMaxWidth.positive, event.size.width);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarHorizontalStackedComponent.ɵfac = /*@__PURE__*/ function () { let ɵBarHorizontalStackedComponent_BaseFactory; return function BarHorizontalStackedComponent_Factory(t) { return (ɵBarHorizontalStackedComponent_BaseFactory || (ɵBarHorizontalStackedComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(BarHorizontalStackedComponent)))(t || BarHorizontalStackedComponent); }; }();\nBarHorizontalStackedComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BarHorizontalStackedComponent, selectors: [[\"ngx-charts-bar-horizontal-stacked\"]], contentQueries: function BarHorizontalStackedComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", tooltipDisabled: \"tooltipDisabled\", showGridLines: \"showGridLines\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", barPadding: \"barPadding\", roundDomains: \"roundDomains\", showDataLabel: \"showDataLabel\", noBarWhenZero: \"noBarWhenZero\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", xScaleMax: \"xScaleMax\", dataLabelFormatting: \"dataLabelFormatting\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 5, vars: 13, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\", \"dimensionsChanged\"], [\"ngx-charts-series-horizontal\", \"\", 3, \"type\", \"xScale\", \"yScale\", \"colors\", \"series\", \"activeEntries\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"seriesName\", \"animations\", \"showDataLabel\", \"dataLabelFormatting\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\", \"dataLabelWidthChanged\"]], template: function BarHorizontalStackedComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelActivate\", function BarHorizontalStackedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event, undefined, true); })(\"legendLabelDeactivate\", function BarHorizontalStackedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event, undefined, true); })(\"legendLabelClick\", function BarHorizontalStackedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵtemplate(2, BarHorizontalStackedComponent__svg_g_2_Template, 1, 10, \"g\", 2);\n ɵngcc0.ɵɵtemplate(3, BarHorizontalStackedComponent__svg_g_3_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵtemplate(4, BarHorizontalStackedComponent__svg_g_4_Template, 2, 17, \"g\", 4);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(10, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, ChartComponent, SeriesHorizontal]; }, styles: [_c24], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ] }, changeDetection: 0 });\nBarHorizontalStackedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarHorizontalStackedComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-bar-horizontal-stacked', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [yAxisOffset]=\"dataLabelMaxWidth.negative\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-horizontal\n [type]=\"barChartType.Stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [activeEntries]=\"activeEntries\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelWidthChanged)=\"onDataLabelMaxWidthChanged($event, index)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ], styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], barPadding: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], showDataLabel: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], xScaleMax: [{\n type: Input\n }], dataLabelFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass BarVerticalComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n }\n this.margin = [10 + this.dataLabelMaxHeight.positive, 20, 10 + this.dataLabelMaxHeight.negative, 20];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n if (this.showDataLabel) {\n this.dims.height -= this.dataLabelMaxHeight.negative;\n }\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0] + this.dataLabelMaxHeight.negative})`;\n }\n getXScale() {\n this.xDomain = this.getXDomain();\n const spacing = this.xDomain.length / (this.dims.width / this.barPadding + 1);\n return scaleBand().range([0, this.dims.width]).paddingInner(spacing).domain(this.xDomain);\n }\n getYScale() {\n this.yDomain = this.getYDomain();\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.yDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getXDomain() {\n return this.results.map(d => d.label);\n }\n getYDomain() {\n const values = this.results.map(d => d.value);\n let min = this.yScaleMin ? Math.min(this.yScaleMin, ...values) : Math.min(0, ...values);\n if (this.yAxisTicks && !this.yAxisTicks.some(isNaN)) {\n min = Math.min(min, ...this.yAxisTicks);\n }\n let max = this.yScaleMax ? Math.max(this.yScaleMax, ...values) : Math.max(0, ...values);\n if (this.yAxisTicks && !this.yAxisTicks.some(isNaN)) {\n max = Math.max(max, ...this.yAxisTicks);\n }\n return [min, max];\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.xDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.xDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxHeightChanged(event) {\n if (event.size.negative) {\n this.dataLabelMaxHeight.negative = Math.max(this.dataLabelMaxHeight.negative, event.size.height);\n }\n else {\n this.dataLabelMaxHeight.positive = Math.max(this.dataLabelMaxHeight.positive, event.size.height);\n }\n if (event.index === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarVerticalComponent.ɵfac = /*@__PURE__*/ function () { let ɵBarVerticalComponent_BaseFactory; return function BarVerticalComponent_Factory(t) { return (ɵBarVerticalComponent_BaseFactory || (ɵBarVerticalComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(BarVerticalComponent)))(t || BarVerticalComponent); }; }();\nBarVerticalComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BarVerticalComponent, selectors: [[\"ngx-charts-bar-vertical\"]], contentQueries: function BarVerticalComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", tooltipDisabled: \"tooltipDisabled\", showGridLines: \"showGridLines\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", barPadding: \"barPadding\", roundDomains: \"roundDomains\", roundEdges: \"roundEdges\", showDataLabel: \"showDataLabel\", noBarWhenZero: \"noBarWhenZero\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", yScaleMax: \"yScaleMax\", yScaleMin: \"yScaleMin\", dataLabelFormatting: \"dataLabelFormatting\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 5, vars: 25, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-series-vertical\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"showDataLabel\", \"dataLabelFormatting\", \"activeEntries\", \"roundEdges\", \"animations\", \"noBarWhenZero\", \"activate\", \"deactivate\", \"select\", \"dataLabelHeightChanged\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"]], template: function BarVerticalComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function BarVerticalComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); })(\"legendLabelActivate\", function BarVerticalComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event, true); })(\"legendLabelDeactivate\", function BarVerticalComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event, true); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵtemplate(2, BarVerticalComponent__svg_g_2_Template, 1, 11, \"g\", 2);\n ɵngcc0.ɵɵtemplate(3, BarVerticalComponent__svg_g_3_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵelementStart(4, \"g\", 4);\n ɵngcc0.ɵɵlistener(\"activate\", function BarVerticalComponent_Template__svg_g_activate_4_listener($event) { return ctx.onActivate($event); })(\"deactivate\", function BarVerticalComponent_Template__svg_g_deactivate_4_listener($event) { return ctx.onDeactivate($event); })(\"select\", function BarVerticalComponent_Template__svg_g_select_4_listener($event) { return ctx.onClick($event); })(\"dataLabelHeightChanged\", function BarVerticalComponent_Template__svg_g_dataLabelHeightChanged_4_listener($event) { return ctx.onDataLabelMaxHeightChanged($event); });\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(22, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx.xScale)(\"yScale\", ctx.yScale)(\"colors\", ctx.colors)(\"series\", ctx.results)(\"dims\", ctx.dims)(\"gradient\", ctx.gradient)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"showDataLabel\", ctx.showDataLabel)(\"dataLabelFormatting\", ctx.dataLabelFormatting)(\"activeEntries\", ctx.activeEntries)(\"roundEdges\", ctx.roundEdges)(\"animations\", ctx.animations)(\"noBarWhenZero\", ctx.noBarWhenZero);\n } }, dependencies: function () { return [ɵngcc1.NgIf, XAxisComponent, YAxisComponent, ChartComponent, SeriesVerticalComponent]; }, styles: [_c24], encapsulation: 2, changeDetection: 0 });\nBarVerticalComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n roundEdges: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n yScaleMin: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarVerticalComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-bar-vertical', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, true)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n [xAxisOffset]=\"dataLabelMaxHeight.negative\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-series-vertical\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [series]=\"results\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [activeEntries]=\"activeEntries\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n (select)=\"onClick($event)\"\n (dataLabelHeightChanged)=\"onDataLabelMaxHeightChanged($event)\"\n ></svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], barPadding: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], roundEdges: [{\n type: Input\n }], showDataLabel: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], yScaleMax: [{\n type: Input\n }], yScaleMin: [{\n type: Input\n }], dataLabelFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass BarVertical2DComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.scaleType = ScaleType.Ordinal;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.groupPadding = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n this.barOrientation = BarOrientation;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n }\n this.margin = [10 + this.dataLabelMaxHeight.positive, 20, 10 + this.dataLabelMaxHeight.negative, 20];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.showDataLabel) {\n this.dims.height -= this.dataLabelMaxHeight.negative;\n }\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.groupScale = this.getGroupScale();\n this.innerScale = this.getInnerScale();\n this.valueScale = this.getValueScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0] + this.dataLabelMaxHeight.negative})`;\n }\n onDataLabelMaxHeightChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxHeight.negative = Math.max(this.dataLabelMaxHeight.negative, event.size.height);\n }\n else {\n this.dataLabelMaxHeight.positive = Math.max(this.dataLabelMaxHeight.positive, event.size.height);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n getGroupScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.groupPadding + 1);\n return scaleBand()\n .rangeRound([0, this.dims.width])\n .paddingInner(spacing)\n .paddingOuter(spacing / 2)\n .domain(this.groupDomain);\n }\n getInnerScale() {\n const width = this.groupScale.bandwidth();\n const spacing = this.innerDomain.length / (width / this.barPadding + 1);\n return scaleBand().rangeRound([0, width]).paddingInner(spacing).domain(this.innerDomain);\n }\n getValueScale() {\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n const min = Math.min(0, ...domain);\n const max = this.yScaleMax ? Math.max(this.yScaleMax, ...domain) : Math.max(0, ...domain);\n return [min, max];\n }\n groupTransform(group) {\n return `translate(${this.groupScale(group.label)}, 0)`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n }\n else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarVertical2DComponent.ɵfac = /*@__PURE__*/ function () { let ɵBarVertical2DComponent_BaseFactory; return function BarVertical2DComponent_Factory(t) { return (ɵBarVertical2DComponent_BaseFactory || (ɵBarVertical2DComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(BarVertical2DComponent)))(t || BarVertical2DComponent); }; }();\nBarVertical2DComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BarVertical2DComponent, selectors: [[\"ngx-charts-bar-vertical-2d\"]], contentQueries: function BarVertical2DComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", tooltipDisabled: \"tooltipDisabled\", scaleType: \"scaleType\", showGridLines: \"showGridLines\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", groupPadding: \"groupPadding\", barPadding: \"barPadding\", roundDomains: \"roundDomains\", roundEdges: \"roundEdges\", showDataLabel: \"showDataLabel\", noBarWhenZero: \"noBarWhenZero\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", yScaleMax: \"yScaleMax\", dataLabelFormatting: \"dataLabelFormatting\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 6, vars: 18, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-grid-panel-series\", \"\", 3, \"xScale\", \"yScale\", \"data\", \"dims\", \"orient\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-series-vertical\", \"\", 3, \"activeEntries\", \"xScale\", \"yScale\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"showDataLabel\", \"dataLabelFormatting\", \"seriesName\", \"roundEdges\", \"animations\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\", \"dataLabelHeightChanged\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-series-vertical\", \"\", 3, \"activeEntries\", \"xScale\", \"yScale\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"showDataLabel\", \"dataLabelFormatting\", \"seriesName\", \"roundEdges\", \"animations\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\", \"dataLabelHeightChanged\"]], template: function BarVertical2DComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelActivate\", function BarVertical2DComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event, undefined, true); })(\"legendLabelDeactivate\", function BarVertical2DComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event, undefined, true); })(\"legendLabelClick\", function BarVertical2DComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵelement(2, \"g\", 2);\n ɵngcc0.ɵɵtemplate(3, BarVertical2DComponent__svg_g_3_Template, 1, 10, \"g\", 3);\n ɵngcc0.ɵɵtemplate(4, BarVertical2DComponent__svg_g_4_Template, 1, 9, \"g\", 4);\n ɵngcc0.ɵɵtemplate(5, BarVertical2DComponent__svg_g_5_Template, 1, 17, \"g\", 5);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(15, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx.groupScale)(\"yScale\", ctx.valueScale)(\"data\", ctx.results)(\"dims\", ctx.dims)(\"orient\", ctx.barOrientation.Vertical);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, ChartComponent, GridPanelSeriesComponent, SeriesVerticalComponent]; }, styles: [_c24], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ] }, changeDetection: 0 });\nBarVertical2DComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n scaleType: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n groupPadding: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n roundEdges: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarVertical2DComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-bar-vertical-2d', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-grid-panel-series\n [xScale]=\"groupScale\"\n [yScale]=\"valueScale\"\n [data]=\"results\"\n [dims]=\"dims\"\n [orient]=\"barOrientation.Vertical\"\n ></svg:g>\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"groupScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n [xAxisOffset]=\"dataLabelMaxHeight.negative\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"valueScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-series-vertical\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n [activeEntries]=\"activeEntries\"\n [xScale]=\"innerScale\"\n [yScale]=\"valueScale\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [seriesName]=\"group.name\"\n [roundEdges]=\"roundEdges\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelHeightChanged)=\"onDataLabelMaxHeightChanged($event, index)\"\n />\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ], styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], scaleType: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], groupPadding: [{\n type: Input\n }], barPadding: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], roundEdges: [{\n type: Input\n }], showDataLabel: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], yScaleMax: [{\n type: Input\n }], dataLabelFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass BarVerticalNormalizedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.valueDomain = [0, 100];\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.barChartType = BarChartType;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getXScale() {\n const spacing = this.groupDomain.length / (this.dims.width / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.width]).paddingInner(spacing).domain(this.groupDomain);\n }\n getYScale() {\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n groupTransform(group) {\n return `translate(${this.xScale(group.name)}, 0)`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n }\n else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarVerticalNormalizedComponent.ɵfac = /*@__PURE__*/ function () { let ɵBarVerticalNormalizedComponent_BaseFactory; return function BarVerticalNormalizedComponent_Factory(t) { return (ɵBarVerticalNormalizedComponent_BaseFactory || (ɵBarVerticalNormalizedComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(BarVerticalNormalizedComponent)))(t || BarVerticalNormalizedComponent); }; }();\nBarVerticalNormalizedComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BarVerticalNormalizedComponent, selectors: [[\"ngx-charts-bar-vertical-normalized\"]], contentQueries: function BarVerticalNormalizedComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", tooltipDisabled: \"tooltipDisabled\", showGridLines: \"showGridLines\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", barPadding: \"barPadding\", roundDomains: \"roundDomains\", noBarWhenZero: \"noBarWhenZero\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 5, vars: 13, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-series-vertical\", \"\", 3, \"type\", \"xScale\", \"yScale\", \"activeEntries\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"seriesName\", \"animations\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\"]], template: function BarVerticalNormalizedComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelActivate\", function BarVerticalNormalizedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event, undefined, true); })(\"legendLabelDeactivate\", function BarVerticalNormalizedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event, undefined, true); })(\"legendLabelClick\", function BarVerticalNormalizedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵtemplate(2, BarVerticalNormalizedComponent__svg_g_2_Template, 1, 9, \"g\", 2);\n ɵngcc0.ɵɵtemplate(3, BarVerticalNormalizedComponent__svg_g_3_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵtemplate(4, BarVerticalNormalizedComponent__svg_g_4_Template, 2, 15, \"g\", 4);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(10, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, ChartComponent, SeriesVerticalComponent]; }, styles: [_c24], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ] }, changeDetection: 0 });\nBarVerticalNormalizedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarVerticalNormalizedComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-bar-vertical-normalized', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-vertical\n [type]=\"barChartType.Normalized\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [activeEntries]=\"activeEntries\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ], styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], barPadding: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass BarVerticalStackedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n this.barChartType = BarChartType;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxHeight = { negative: 0, positive: 0 };\n }\n this.margin = [10 + this.dataLabelMaxHeight.positive, 20, 10 + this.dataLabelMaxHeight.negative, 20];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.showDataLabel) {\n this.dims.height -= this.dataLabelMaxHeight.negative;\n }\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0] + this.dataLabelMaxHeight.negative})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n let smallest = 0;\n let biggest = 0;\n for (const group of this.results) {\n let smallestSum = 0;\n let biggestSum = 0;\n for (const d of group.series) {\n if (d.value < 0) {\n smallestSum += d.value;\n }\n else {\n biggestSum += d.value;\n }\n smallest = d.value < smallest ? d.value : smallest;\n biggest = d.value > biggest ? d.value : biggest;\n }\n domain.push(smallestSum);\n domain.push(biggestSum);\n }\n domain.push(smallest);\n domain.push(biggest);\n const min = Math.min(0, ...domain);\n const max = this.yScaleMax ? Math.max(this.yScaleMax, ...domain) : Math.max(...domain);\n return [min, max];\n }\n getXScale() {\n const spacing = this.groupDomain.length / (this.dims.width / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.width]).paddingInner(spacing).domain(this.groupDomain);\n }\n getYScale() {\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n onDataLabelMaxHeightChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxHeight.negative = Math.max(this.dataLabelMaxHeight.negative, event.size.height);\n }\n else {\n this.dataLabelMaxHeight.positive = Math.max(this.dataLabelMaxHeight.positive, event.size.height);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n groupTransform(group) {\n return `translate(${this.xScale(group.name) || 0}, 0)`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n }\n else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nBarVerticalStackedComponent.ɵfac = /*@__PURE__*/ function () { let ɵBarVerticalStackedComponent_BaseFactory; return function BarVerticalStackedComponent_Factory(t) { return (ɵBarVerticalStackedComponent_BaseFactory || (ɵBarVerticalStackedComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(BarVerticalStackedComponent)))(t || BarVerticalStackedComponent); }; }();\nBarVerticalStackedComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BarVerticalStackedComponent, selectors: [[\"ngx-charts-bar-vertical-stacked\"]], contentQueries: function BarVerticalStackedComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", tooltipDisabled: \"tooltipDisabled\", showGridLines: \"showGridLines\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", barPadding: \"barPadding\", roundDomains: \"roundDomains\", showDataLabel: \"showDataLabel\", noBarWhenZero: \"noBarWhenZero\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", yScaleMax: \"yScaleMax\", dataLabelFormatting: \"dataLabelFormatting\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 5, vars: 13, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-series-vertical\", \"\", 3, \"type\", \"xScale\", \"yScale\", \"activeEntries\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"showDataLabel\", \"dataLabelFormatting\", \"seriesName\", \"animations\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\", \"dataLabelHeightChanged\"]], template: function BarVerticalStackedComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelActivate\", function BarVerticalStackedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event, undefined, true); })(\"legendLabelDeactivate\", function BarVerticalStackedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event, undefined, true); })(\"legendLabelClick\", function BarVerticalStackedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵtemplate(2, BarVerticalStackedComponent__svg_g_2_Template, 1, 10, \"g\", 2);\n ɵngcc0.ɵɵtemplate(3, BarVerticalStackedComponent__svg_g_3_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵtemplate(4, BarVerticalStackedComponent__svg_g_4_Template, 2, 17, \"g\", 4);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(10, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, ChartComponent, SeriesVerticalComponent]; }, styles: [_c24], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ] }, changeDetection: 0 });\nBarVerticalStackedComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n barPadding: [{ type: Input }],\n roundDomains: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarVerticalStackedComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-bar-vertical-stacked', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, undefined, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, undefined, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n [xAxisOffset]=\"dataLabelMaxHeight.negative\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n *ngFor=\"let group of results; let index = index; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [attr.transform]=\"groupTransform(group)\"\n >\n <svg:g\n ngx-charts-series-vertical\n [type]=\"barChartType.Stacked\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [activeEntries]=\"activeEntries\"\n [colors]=\"colors\"\n [series]=\"group.series\"\n [dims]=\"dims\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [showDataLabel]=\"showDataLabel\"\n [dataLabelFormatting]=\"dataLabelFormatting\"\n [seriesName]=\"group.name\"\n [animations]=\"animations\"\n [noBarWhenZero]=\"noBarWhenZero\"\n (select)=\"onClick($event, group)\"\n (activate)=\"onActivate($event, group)\"\n (deactivate)=\"onDeactivate($event, group)\"\n (dataLabelHeightChanged)=\"onDataLabelMaxHeightChanged($event, index)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1,\n transform: '*'\n }),\n animate(500, style({ opacity: 0, transform: 'scale(0)' }))\n ])\n ])\n ], styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], barPadding: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], showDataLabel: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], yScaleMax: [{\n type: Input\n }], dataLabelFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nvar D0Types;\n(function (D0Types) {\n D0Types[\"positive\"] = \"positive\";\n D0Types[\"negative\"] = \"negative\";\n})(D0Types || (D0Types = {}));\n\nclass SeriesHorizontal {\n constructor() {\n this.type = BarChartType.Standard;\n this.tooltipDisabled = false;\n this.animations = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dataLabelWidthChanged = new EventEmitter();\n this.barsForDataLabels = [];\n this.barOrientation = BarOrientation;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateTooltipSettings();\n const d0 = {\n [D0Types.positive]: 0,\n [D0Types.negative]: 0\n };\n let d0Type;\n d0Type = D0Types.positive;\n let total;\n if (this.type === BarChartType.Normalized) {\n total = this.series.map(d => d.value).reduce((sum, d) => sum + d, 0);\n }\n const xScaleMin = Math.max(this.xScale.domain()[0], 0);\n this.bars = this.series.map(d => {\n let value = d.value;\n const label = this.getLabel(d);\n const formattedLabel = formatLabel(label);\n const roundEdges = this.roundEdges;\n d0Type = value > 0 ? D0Types.positive : D0Types.negative;\n const bar = {\n value,\n label,\n roundEdges,\n data: d,\n formattedLabel\n };\n bar.height = this.yScale.bandwidth();\n if (this.type === BarChartType.Standard) {\n bar.width = Math.abs(this.xScale(value) - this.xScale(xScaleMin));\n if (value < 0) {\n bar.x = this.xScale(value);\n }\n else {\n bar.x = this.xScale(xScaleMin);\n }\n bar.y = this.yScale(label);\n }\n else if (this.type === BarChartType.Stacked) {\n const offset0 = d0[d0Type];\n const offset1 = offset0 + value;\n d0[d0Type] += value;\n bar.width = this.xScale(offset1) - this.xScale(offset0);\n bar.x = this.xScale(offset0);\n bar.y = 0;\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n }\n else if (this.type === BarChartType.Normalized) {\n let offset0 = d0[d0Type];\n let offset1 = offset0 + value;\n d0[d0Type] += value;\n if (total > 0) {\n offset0 = (offset0 * 100) / total;\n offset1 = (offset1 * 100) / total;\n }\n else {\n offset0 = 0;\n offset1 = 0;\n }\n bar.width = this.xScale(offset1) - this.xScale(offset0);\n bar.x = this.xScale(offset0);\n bar.y = 0;\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n value = (offset1 - offset0).toFixed(2) + '%';\n }\n if (this.colors.scaleType === ScaleType.Ordinal) {\n bar.color = this.colors.getColor(label);\n }\n else {\n if (this.type === BarChartType.Standard) {\n bar.color = this.colors.getColor(value);\n bar.gradientStops = this.colors.getLinearGradientStops(value);\n }\n else {\n bar.color = this.colors.getColor(bar.offset1);\n bar.gradientStops = this.colors.getLinearGradientStops(bar.offset1, bar.offset0);\n }\n }\n let tooltipLabel = formattedLabel;\n bar.ariaLabel = formattedLabel + ' ' + value.toLocaleString();\n if (this.seriesName !== null && this.seriesName !== undefined) {\n tooltipLabel = `${this.seriesName} • ${formattedLabel}`;\n bar.data.series = this.seriesName;\n bar.ariaLabel = this.seriesName + ' ' + bar.ariaLabel;\n }\n bar.tooltipText = this.tooltipDisabled\n ? undefined\n : `\n <span class=\"tooltip-label\">${escapeLabel(tooltipLabel)}</span>\n <span class=\"tooltip-val\">${this.dataLabelFormatting ? this.dataLabelFormatting(value) : value.toLocaleString()}</span>\n `;\n return bar;\n });\n this.updateDataLabels();\n }\n updateDataLabels() {\n if (this.type === BarChartType.Stacked) {\n this.barsForDataLabels = [];\n const section = {};\n section.series = this.seriesName;\n const totalPositive = this.series.map(d => d.value).reduce((sum, d) => (d > 0 ? sum + d : sum), 0);\n const totalNegative = this.series.map(d => d.value).reduce((sum, d) => (d < 0 ? sum + d : sum), 0);\n section.total = totalPositive + totalNegative;\n section.x = 0;\n section.y = 0;\n // if total is positive then we show it on the right, otherwise on the left\n if (section.total > 0) {\n section.width = this.xScale(totalPositive);\n }\n else {\n section.width = this.xScale(totalNegative);\n }\n section.height = this.yScale.bandwidth();\n this.barsForDataLabels.push(section);\n }\n else {\n this.barsForDataLabels = this.series.map(d => {\n var _a;\n const section = {};\n section.series = (_a = this.seriesName) !== null && _a !== void 0 ? _a : d.label;\n section.total = d.value;\n section.x = this.xScale(0);\n section.y = this.yScale(d.label);\n section.width = this.xScale(section.total) - this.xScale(0);\n section.height = this.yScale.bandwidth();\n return section;\n });\n }\n }\n updateTooltipSettings() {\n this.tooltipPlacement = this.tooltipDisabled ? undefined : PlacementTypes.Top;\n this.tooltipType = this.tooltipDisabled ? undefined : StyleTypes.tooltip;\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(active => {\n return entry.name === active.name && entry.value === active.value;\n });\n return item !== undefined;\n }\n getLabel(dataItem) {\n if (dataItem.label) {\n return dataItem.label;\n }\n return dataItem.name;\n }\n trackBy(index, bar) {\n return bar.label;\n }\n trackDataLabelBy(index, barLabel) {\n return index + '#' + barLabel.series + '#' + barLabel.total;\n }\n click(data) {\n this.select.emit(data);\n }\n}\nSeriesHorizontal.ɵfac = function SeriesHorizontal_Factory(t) { return new (t || SeriesHorizontal)(); };\nSeriesHorizontal.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: SeriesHorizontal, selectors: [[\"g\", \"ngx-charts-series-horizontal\", \"\"]], inputs: { type: \"type\", tooltipDisabled: \"tooltipDisabled\", animations: \"animations\", showDataLabel: \"showDataLabel\", noBarWhenZero: \"noBarWhenZero\", dims: \"dims\", series: \"series\", xScale: \"xScale\", yScale: \"yScale\", colors: \"colors\", gradient: \"gradient\", activeEntries: \"activeEntries\", seriesName: \"seriesName\", tooltipTemplate: \"tooltipTemplate\", roundEdges: \"roundEdges\", dataLabelFormatting: \"dataLabelFormatting\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\", dataLabelWidthChanged: \"dataLabelWidthChanged\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c27, decls: 2, vars: 3, consts: [[\"ngx-charts-bar\", \"\", \"ngx-tooltip\", \"\", 3, \"width\", \"height\", \"x\", \"y\", \"fill\", \"stops\", \"data\", \"orientation\", \"roundEdges\", \"gradient\", \"isActive\", \"ariaLabel\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [4, \"ngIf\"], [\"ngx-charts-bar\", \"\", \"ngx-tooltip\", \"\", 3, \"width\", \"height\", \"x\", \"y\", \"fill\", \"stops\", \"data\", \"orientation\", \"roundEdges\", \"gradient\", \"isActive\", \"ariaLabel\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\"], [\"ngx-charts-bar-label\", \"\", 3, \"barX\", \"barY\", \"barWidth\", \"barHeight\", \"value\", \"valueFormatting\", \"orientation\", \"dimensionsChanged\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-bar-label\", \"\", 3, \"barX\", \"barY\", \"barWidth\", \"barHeight\", \"value\", \"valueFormatting\", \"orientation\", \"dimensionsChanged\"]], template: function SeriesHorizontal_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, SeriesHorizontal__svg_g_0_Template, 1, 21, \"g\", 0);\n ɵngcc0.ɵɵtemplate(1, SeriesHorizontal__svg_g_1_Template, 2, 2, \"g\", 1);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.bars)(\"ngForTrackBy\", ctx.trackBy);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showDataLabel);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, TooltipDirective, BarComponent, BarLabelComponent]; }, encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({ opacity: 0 }))\n ])\n ])\n ] }, changeDetection: 0 });\nSeriesHorizontal.propDecorators = {\n dims: [{ type: Input }],\n type: [{ type: Input }],\n series: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n activeEntries: [{ type: Input }],\n seriesName: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n roundEdges: [{ type: Input }],\n animations: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n dataLabelWidthChanged: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SeriesHorizontal, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-series-horizontal]',\n template: `\n <svg:g\n ngx-charts-bar\n *ngFor=\"let bar of bars; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [width]=\"bar.width\"\n [height]=\"bar.height\"\n [x]=\"bar.x\"\n [y]=\"bar.y\"\n [fill]=\"bar.color\"\n [stops]=\"bar.gradientStops\"\n [data]=\"bar.data\"\n [orientation]=\"barOrientation.Horizontal\"\n [roundEdges]=\"bar.roundEdges\"\n (select)=\"click($event)\"\n [gradient]=\"gradient\"\n [isActive]=\"isActive(bar.data)\"\n [ariaLabel]=\"bar.ariaLabel\"\n [animations]=\"animations\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipType]=\"tooltipType\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : bar.tooltipText\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"bar.data\"\n [noBarWhenZero]=\"noBarWhenZero\"\n ></svg:g>\n <svg:g *ngIf=\"showDataLabel\">\n <svg:g\n ngx-charts-bar-label\n *ngFor=\"let b of barsForDataLabels; let i = index; trackBy: trackDataLabelBy\"\n [barX]=\"b.x\"\n [barY]=\"b.y\"\n [barWidth]=\"b.width\"\n [barHeight]=\"b.height\"\n [value]=\"b.total\"\n [valueFormatting]=\"dataLabelFormatting\"\n [orientation]=\"barOrientation.Horizontal\"\n (dimensionsChanged)=\"dataLabelWidthChanged.emit({ size: $event, index: i })\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({ opacity: 0 }))\n ])\n ])\n ]\n }]\n }], function () { return []; }, { type: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], animations: [{\n type: Input\n }], showDataLabel: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], dataLabelWidthChanged: [{\n type: Output\n }], dims: [{\n type: Input\n }], series: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], colors: [{\n type: Input\n }], gradient: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], seriesName: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }], roundEdges: [{\n type: Input\n }], dataLabelFormatting: [{\n type: Input\n }] }); })();\n\nclass SeriesVerticalComponent {\n constructor() {\n this.type = BarChartType.Standard;\n this.tooltipDisabled = false;\n this.animations = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dataLabelHeightChanged = new EventEmitter();\n this.barsForDataLabels = [];\n this.barOrientation = BarOrientation;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateTooltipSettings();\n let width;\n if (this.series.length) {\n width = this.xScale.bandwidth();\n }\n width = Math.round(width);\n const yScaleMin = Math.max(this.yScale.domain()[0], 0);\n const d0 = {\n [D0Types.positive]: 0,\n [D0Types.negative]: 0\n };\n let d0Type = D0Types.positive;\n let total;\n if (this.type === BarChartType.Normalized) {\n total = this.series.map(d => d.value).reduce((sum, d) => sum + d, 0);\n }\n this.bars = this.series.map((d, index) => {\n let value = d.value;\n const label = this.getLabel(d);\n const formattedLabel = formatLabel(label);\n const roundEdges = this.roundEdges;\n d0Type = value > 0 ? D0Types.positive : D0Types.negative;\n const bar = {\n value,\n label,\n roundEdges,\n data: d,\n width,\n formattedLabel,\n height: 0,\n x: 0,\n y: 0\n };\n if (this.type === BarChartType.Standard) {\n bar.height = Math.abs(this.yScale(value) - this.yScale(yScaleMin));\n bar.x = this.xScale(label);\n if (value < 0) {\n bar.y = this.yScale(0);\n }\n else {\n bar.y = this.yScale(value);\n }\n }\n else if (this.type === BarChartType.Stacked) {\n const offset0 = d0[d0Type];\n const offset1 = offset0 + value;\n d0[d0Type] += value;\n bar.height = this.yScale(offset0) - this.yScale(offset1);\n bar.x = 0;\n bar.y = this.yScale(offset1);\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n }\n else if (this.type === BarChartType.Normalized) {\n let offset0 = d0[d0Type];\n let offset1 = offset0 + value;\n d0[d0Type] += value;\n if (total > 0) {\n offset0 = (offset0 * 100) / total;\n offset1 = (offset1 * 100) / total;\n }\n else {\n offset0 = 0;\n offset1 = 0;\n }\n bar.height = this.yScale(offset0) - this.yScale(offset1);\n bar.x = 0;\n bar.y = this.yScale(offset1);\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n value = (offset1 - offset0).toFixed(2) + '%';\n }\n if (this.colors.scaleType === ScaleType.Ordinal) {\n bar.color = this.colors.getColor(label);\n }\n else {\n if (this.type === BarChartType.Standard) {\n bar.color = this.colors.getColor(value);\n bar.gradientStops = this.colors.getLinearGradientStops(value);\n }\n else {\n bar.color = this.colors.getColor(bar.offset1);\n bar.gradientStops = this.colors.getLinearGradientStops(bar.offset1, bar.offset0);\n }\n }\n let tooltipLabel = formattedLabel;\n bar.ariaLabel = formattedLabel + ' ' + value.toLocaleString();\n if (this.seriesName !== null && this.seriesName !== undefined) {\n tooltipLabel = `${this.seriesName} • ${formattedLabel}`;\n bar.data.series = this.seriesName;\n bar.ariaLabel = this.seriesName + ' ' + bar.ariaLabel;\n }\n bar.tooltipText = this.tooltipDisabled\n ? undefined\n : `\n <span class=\"tooltip-label\">${escapeLabel(tooltipLabel)}</span>\n <span class=\"tooltip-val\">${this.dataLabelFormatting ? this.dataLabelFormatting(value) : value.toLocaleString()}</span>\n `;\n return bar;\n });\n this.updateDataLabels();\n }\n updateDataLabels() {\n if (this.type === BarChartType.Stacked) {\n this.barsForDataLabels = [];\n const section = {};\n section.series = this.seriesName;\n const totalPositive = this.series.map(d => d.value).reduce((sum, d) => (d > 0 ? sum + d : sum), 0);\n const totalNegative = this.series.map(d => d.value).reduce((sum, d) => (d < 0 ? sum + d : sum), 0);\n section.total = totalPositive + totalNegative;\n section.x = 0;\n section.y = 0;\n if (section.total > 0) {\n section.height = this.yScale(totalPositive);\n }\n else {\n section.height = this.yScale(totalNegative);\n }\n section.width = this.xScale.bandwidth();\n this.barsForDataLabels.push(section);\n }\n else {\n this.barsForDataLabels = this.series.map(d => {\n var _a;\n const section = {};\n section.series = (_a = this.seriesName) !== null && _a !== void 0 ? _a : d.label;\n section.total = d.value;\n section.x = this.xScale(d.label);\n section.y = this.yScale(0);\n section.height = this.yScale(section.total) - this.yScale(0);\n section.width = this.xScale.bandwidth();\n return section;\n });\n }\n }\n updateTooltipSettings() {\n this.tooltipPlacement = this.tooltipDisabled ? undefined : PlacementTypes.Top;\n this.tooltipType = this.tooltipDisabled ? undefined : StyleTypes.tooltip;\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(active => {\n return entry.name === active.name && entry.value === active.value;\n });\n return item !== undefined;\n }\n onClick(data) {\n this.select.emit(data);\n }\n getLabel(dataItem) {\n if (dataItem.label) {\n return dataItem.label;\n }\n return dataItem.name;\n }\n trackBy(index, bar) {\n return bar.label;\n }\n trackDataLabelBy(index, barLabel) {\n return index + '#' + barLabel.series + '#' + barLabel.total;\n }\n}\nSeriesVerticalComponent.ɵfac = function SeriesVerticalComponent_Factory(t) { return new (t || SeriesVerticalComponent)(); };\nSeriesVerticalComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: SeriesVerticalComponent, selectors: [[\"g\", \"ngx-charts-series-vertical\", \"\"]], inputs: { type: \"type\", tooltipDisabled: \"tooltipDisabled\", animations: \"animations\", showDataLabel: \"showDataLabel\", noBarWhenZero: \"noBarWhenZero\", dims: \"dims\", series: \"series\", xScale: \"xScale\", yScale: \"yScale\", colors: \"colors\", gradient: \"gradient\", activeEntries: \"activeEntries\", seriesName: \"seriesName\", tooltipTemplate: \"tooltipTemplate\", roundEdges: \"roundEdges\", dataLabelFormatting: \"dataLabelFormatting\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\", dataLabelHeightChanged: \"dataLabelHeightChanged\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c28, decls: 2, vars: 3, consts: [[\"ngx-charts-bar\", \"\", \"ngx-tooltip\", \"\", 3, \"width\", \"height\", \"x\", \"y\", \"fill\", \"stops\", \"data\", \"orientation\", \"roundEdges\", \"gradient\", \"ariaLabel\", \"isActive\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"noBarWhenZero\", \"animations\", \"select\", \"activate\", \"deactivate\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [4, \"ngIf\"], [\"ngx-charts-bar\", \"\", \"ngx-tooltip\", \"\", 3, \"width\", \"height\", \"x\", \"y\", \"fill\", \"stops\", \"data\", \"orientation\", \"roundEdges\", \"gradient\", \"ariaLabel\", \"isActive\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"noBarWhenZero\", \"animations\", \"select\", \"activate\", \"deactivate\"], [\"ngx-charts-bar-label\", \"\", 3, \"barX\", \"barY\", \"barWidth\", \"barHeight\", \"value\", \"valueFormatting\", \"orientation\", \"dimensionsChanged\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-bar-label\", \"\", 3, \"barX\", \"barY\", \"barWidth\", \"barHeight\", \"value\", \"valueFormatting\", \"orientation\", \"dimensionsChanged\"]], template: function SeriesVerticalComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, SeriesVerticalComponent__svg_g_0_Template, 1, 22, \"g\", 0);\n ɵngcc0.ɵɵtemplate(1, SeriesVerticalComponent__svg_g_1_Template, 2, 2, \"g\", 1);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.bars)(\"ngForTrackBy\", ctx.trackBy);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showDataLabel);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, TooltipDirective, BarComponent, BarLabelComponent]; }, encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({ opacity: 0 }))\n ])\n ])\n ] }, changeDetection: 0 });\nSeriesVerticalComponent.propDecorators = {\n dims: [{ type: Input }],\n type: [{ type: Input }],\n series: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n gradient: [{ type: Input }],\n activeEntries: [{ type: Input }],\n seriesName: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n roundEdges: [{ type: Input }],\n animations: [{ type: Input }],\n showDataLabel: [{ type: Input }],\n dataLabelFormatting: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n dataLabelHeightChanged: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SeriesVerticalComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-series-vertical]',\n template: `\n <svg:g\n ngx-charts-bar\n *ngFor=\"let bar of bars; trackBy: trackBy\"\n [@animationState]=\"'active'\"\n [@.disabled]=\"!animations\"\n [width]=\"bar.width\"\n [height]=\"bar.height\"\n [x]=\"bar.x\"\n [y]=\"bar.y\"\n [fill]=\"bar.color\"\n [stops]=\"bar.gradientStops\"\n [data]=\"bar.data\"\n [orientation]=\"barOrientation.Vertical\"\n [roundEdges]=\"bar.roundEdges\"\n [gradient]=\"gradient\"\n [ariaLabel]=\"bar.ariaLabel\"\n [isActive]=\"isActive(bar.data)\"\n (select)=\"onClick($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipType]=\"tooltipType\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : bar.tooltipText\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"bar.data\"\n [noBarWhenZero]=\"noBarWhenZero\"\n [animations]=\"animations\"\n ></svg:g>\n <svg:g *ngIf=\"showDataLabel\">\n <svg:g\n ngx-charts-bar-label\n *ngFor=\"let b of barsForDataLabels; let i = index; trackBy: trackDataLabelBy\"\n [barX]=\"b.x\"\n [barY]=\"b.y\"\n [barWidth]=\"b.width\"\n [barHeight]=\"b.height\"\n [value]=\"b.total\"\n [valueFormatting]=\"dataLabelFormatting\"\n [orientation]=\"barOrientation.Vertical\"\n (dimensionsChanged)=\"dataLabelHeightChanged.emit({ size: $event, index: i })\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({ opacity: 0 }))\n ])\n ])\n ]\n }]\n }], function () { return []; }, { type: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], animations: [{\n type: Input\n }], showDataLabel: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], dataLabelHeightChanged: [{\n type: Output\n }], dims: [{\n type: Input\n }], series: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], colors: [{\n type: Input\n }], gradient: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], seriesName: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }], roundEdges: [{\n type: Input\n }], dataLabelFormatting: [{\n type: Input\n }] }); })();\n\nclass BarLabelComponent {\n constructor(element) {\n this.dimensionsChanged = new EventEmitter();\n this.horizontalPadding = 2;\n this.verticalPadding = 5;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n getSize() {\n const h = this.element.getBoundingClientRect().height;\n const w = this.element.getBoundingClientRect().width;\n return { height: h, width: w, negative: this.value < 0 };\n }\n ngAfterViewInit() {\n this.dimensionsChanged.emit(this.getSize());\n }\n update() {\n if (this.valueFormatting) {\n this.formatedValue = this.valueFormatting(this.value);\n }\n else {\n this.formatedValue = formatLabel(this.value);\n }\n if (this.orientation === 'horizontal') {\n this.x = this.barX + this.barWidth;\n // if the value is negative then it's on the left of the x0.\n // we need to put the data label in front of the bar\n if (this.value < 0) {\n this.x = this.x - this.horizontalPadding;\n this.textAnchor = 'end';\n }\n else {\n this.x = this.x + this.horizontalPadding;\n this.textAnchor = 'start';\n }\n this.y = this.barY + this.barHeight / 2;\n }\n else {\n // orientation must be \"vertical\"\n this.x = this.barX + this.barWidth / 2;\n this.y = this.barY + this.barHeight;\n if (this.value < 0) {\n this.y = this.y + this.verticalPadding;\n this.textAnchor = 'end';\n }\n else {\n this.y = this.y - this.verticalPadding;\n this.textAnchor = 'start';\n }\n this.transform = `rotate(-45, ${this.x} , ${this.y})`;\n }\n }\n}\nBarLabelComponent.ɵfac = function BarLabelComponent_Factory(t) { return new (t || BarLabelComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nBarLabelComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BarLabelComponent, selectors: [[\"g\", \"ngx-charts-bar-label\", \"\"]], inputs: { value: \"value\", valueFormatting: \"valueFormatting\", barX: \"barX\", barY: \"barY\", barWidth: \"barWidth\", barHeight: \"barHeight\", orientation: \"orientation\" }, outputs: { dimensionsChanged: \"dimensionsChanged\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c29, decls: 2, vars: 5, consts: [[\"alignment-baseline\", \"middle\", 1, \"textDataLabel\"]], template: function BarLabelComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"text\", 0);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"text-anchor\", ctx.textAnchor)(\"transform\", ctx.transform)(\"x\", ctx.x)(\"y\", ctx.y);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx.formatedValue, \" \");\n } }, styles: [\".textDataLabel[_ngcontent-%COMP%]{font-size:11px}\"], changeDetection: 0 });\nBarLabelComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nBarLabelComponent.propDecorators = {\n value: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n barX: [{ type: Input }],\n barY: [{ type: Input }],\n barWidth: [{ type: Input }],\n barHeight: [{ type: Input }],\n orientation: [{ type: Input }],\n dimensionsChanged: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarLabelComponent, [{\n type: Component,\n args: [{ selector: 'g[ngx-charts-bar-label]', template: `\n <svg:text\n class=\"textDataLabel\"\n alignment-baseline=\"middle\"\n [attr.text-anchor]=\"textAnchor\"\n [attr.transform]=\"transform\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n >\n {{ formatedValue }}\n </svg:text>\n `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".textDataLabel{font-size:11px}\\n\"] }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { dimensionsChanged: [{\n type: Output\n }], value: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }], barX: [{\n type: Input\n }], barY: [{\n type: Input\n }], barWidth: [{\n type: Input\n }], barHeight: [{\n type: Input\n }], orientation: [{\n type: Input\n }] }); })();\n\nclass BarChartModule {\n}\nBarChartModule.ɵfac = function BarChartModule_Factory(t) { return new (t || BarChartModule)(); };\nBarChartModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: BarChartModule });\nBarChartModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BarChartModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule],\n declarations: [\n BarComponent,\n BarHorizontalComponent,\n BarHorizontal2DComponent,\n BarHorizontalNormalizedComponent,\n BarHorizontalStackedComponent,\n BarVerticalComponent,\n BarVertical2DComponent,\n BarVerticalNormalizedComponent,\n BarVerticalStackedComponent,\n BarLabelComponent,\n SeriesHorizontal,\n SeriesVerticalComponent\n ],\n exports: [\n BarComponent,\n BarHorizontalComponent,\n BarHorizontal2DComponent,\n BarHorizontalNormalizedComponent,\n BarHorizontalStackedComponent,\n BarVerticalComponent,\n BarVertical2DComponent,\n BarVerticalNormalizedComponent,\n BarVerticalStackedComponent,\n BarLabelComponent,\n SeriesHorizontal,\n SeriesVerticalComponent\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(BarChartModule, { declarations: [BarComponent, BarHorizontalComponent, BarHorizontal2DComponent, BarHorizontalNormalizedComponent, BarHorizontalStackedComponent, BarVerticalComponent, BarVertical2DComponent, BarVerticalNormalizedComponent, BarVerticalStackedComponent, BarLabelComponent, SeriesHorizontal, SeriesVerticalComponent], imports: [ChartCommonModule], exports: [BarComponent, BarHorizontalComponent, BarHorizontal2DComponent, BarHorizontalNormalizedComponent, BarHorizontalStackedComponent, BarVerticalComponent, BarVertical2DComponent, BarVerticalNormalizedComponent, BarVerticalStackedComponent, BarLabelComponent, SeriesHorizontal, SeriesVerticalComponent] }); })();\n\nclass BoxChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n /** Show or hide the legend. */\n this.legend = false;\n this.legendPosition = LegendPosition.Right;\n this.legendTitle = 'Legend';\n this.showGridLines = true;\n this.xAxis = true;\n this.yAxis = true;\n this.showXAxisLabel = true;\n this.showYAxisLabel = true;\n this.roundDomains = false;\n this.roundEdges = true;\n this.strokeColor = '#FFFFFF';\n this.strokeWidth = 2;\n this.tooltipDisabled = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n /** Chart Margins (For each side, counterclock wise). */\n this.margin = [10, 20, 10, 20];\n /** Chart X axis dimension. */\n this.xAxisHeight = 0;\n /** Chart Y axis dimension. */\n this.yAxisWidth = 0;\n }\n trackBy(index, item) {\n return item.name;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendPosition: this.legendPosition\n });\n this.xDomain = this.getXDomain();\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.setScales();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n setColors() {\n let domain = [];\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.seriesDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n setScales() {\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n }\n getXScale(domain, width) {\n const scale = scaleBand()\n .domain(domain.map(d => d.toString()))\n .rangeRound([0, width])\n .padding(0.5);\n return scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().domain(domain).range([height, 0]);\n return this.roundDomains ? scale.nice() : scale;\n }\n getUniqueBoxChartXDomainValues(results) {\n const valueSet = new Set();\n for (const result of results) {\n valueSet.add(result.name);\n }\n return Array.from(valueSet);\n }\n getXDomain() {\n let domain = [];\n const values = this.getUniqueBoxChartXDomainValues(this.results);\n let min;\n let max;\n if (typeof values[0] === 'string') {\n domain = values.map(val => val.toString());\n }\n else if (typeof values[0] === 'number') {\n const mappedValues = values.map(v => Number(v));\n min = Math.min(...mappedValues);\n max = Math.max(...mappedValues);\n domain = [min, max];\n }\n else {\n const mappedValues = values.map(v => Number(new Date(v)));\n min = Math.min(...mappedValues);\n max = Math.max(...mappedValues);\n domain = [new Date(min), new Date(max)];\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (domain.indexOf(d.value) < 0) {\n domain.push(d.value);\n }\n }\n }\n const values = [...domain];\n const mappedValues = values.map(v => Number(v));\n const min = Math.min(...mappedValues);\n const max = Math.max(...mappedValues);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => `${d.name}`);\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onClick(data) {\n this.select.emit(data);\n }\n onActivate(data) {\n this.activate.emit(data);\n }\n onDeactivate(data) {\n this.deactivate.emit(data);\n }\n getLegendOptions() {\n const legendOpts = {\n scaleType: this.schemeType,\n colors: this.colors,\n domain: [],\n position: this.legendPosition,\n title: this.legendTitle\n };\n if (this.schemeType === ScaleType.Ordinal) {\n legendOpts.domain = this.xDomain;\n legendOpts.colors = this.colors;\n }\n else {\n legendOpts.domain = this.yDomain;\n legendOpts.colors = this.colors.scale;\n }\n return legendOpts;\n }\n}\nBoxChartComponent.ɵfac = /*@__PURE__*/ function () { let ɵBoxChartComponent_BaseFactory; return function BoxChartComponent_Factory(t) { return (ɵBoxChartComponent_BaseFactory || (ɵBoxChartComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(BoxChartComponent)))(t || BoxChartComponent); }; }();\nBoxChartComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BoxChartComponent, selectors: [[\"ngx-charts-box-chart\"]], contentQueries: function BoxChartComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legend: \"legend\", legendPosition: \"legendPosition\", legendTitle: \"legendTitle\", showGridLines: \"showGridLines\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", roundDomains: \"roundDomains\", roundEdges: \"roundEdges\", strokeColor: \"strokeColor\", strokeWidth: \"strokeWidth\", tooltipDisabled: \"tooltipDisabled\", legendOptionsConfig: \"legendOptionsConfig\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 6, vars: 21, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"animations\", \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\"], [1, \"box-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"showGridLines\", \"dims\", \"xScale\", \"showLabel\", \"labelText\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"showGridLines\", \"dims\", \"yScale\", \"showLabel\", \"labelText\", \"dimensionsChanged\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-box-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"roundEdges\", \"strokeColor\", \"strokeWidth\", \"tooltipDisabled\", \"tooltipTemplate\", \"series\", \"dims\", \"animations\", \"gradient\", \"activate\", \"deactivate\", \"select\"]], template: function BoxChartComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function BoxChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); })(\"legendLabelActivate\", function BoxChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event); })(\"legendLabelDeactivate\", function BoxChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1)(2, \"g\", 2);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BoxChartComponent_Template__svg_g_dimensionsChanged_2_listener($event) { return ctx.updateXAxisHeight($event); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(3, \"g\", 3);\n ɵngcc0.ɵɵlistener(\"dimensionsChanged\", function BoxChartComponent_Template__svg_g_dimensionsChanged_3_listener($event) { return ctx.updateYAxisWidth($event); });\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(4, \"g\");\n ɵngcc0.ɵɵtemplate(5, BoxChartComponent__svg_g_5_Template, 2, 12, \"g\", 4);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(18, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"showGridLines\", ctx.showGridLines)(\"dims\", ctx.dims)(\"xScale\", ctx.xScale)(\"showLabel\", ctx.showXAxisLabel)(\"labelText\", ctx.xAxisLabel);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"showGridLines\", ctx.showGridLines)(\"dims\", ctx.dims)(\"yScale\", ctx.yScale)(\"showLabel\", ctx.showYAxisLabel)(\"labelText\", ctx.yAxisLabel);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, XAxisComponent, YAxisComponent, ChartComponent, BoxSeriesComponent]; }, styles: [_c24], encapsulation: 2, changeDetection: 0 });\nBoxChartComponent.propDecorators = {\n legend: [{ type: Input }],\n legendPosition: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendOptionsConfig: [{ type: Input }],\n showGridLines: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n roundDomains: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n roundEdges: [{ type: Input }],\n strokeColor: [{ type: Input }],\n strokeWidth: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n gradient: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate', { static: false },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BoxChartComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-box-chart', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"box-chart chart\">\n <svg:g\n ngx-charts-x-axis\n [showGridLines]=\"showGridLines\"\n [dims]=\"dims\"\n [xScale]=\"xScale\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n />\n <svg:g\n ngx-charts-y-axis\n [showGridLines]=\"showGridLines\"\n [dims]=\"dims\"\n [yScale]=\"yScale\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n />\n </svg:g>\n <svg:g [attr.transform]=\"transform\">\n <svg:g *ngFor=\"let result of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-box-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [roundEdges]=\"roundEdges\"\n [strokeColor]=\"strokeColor\"\n [strokeWidth]=\"strokeWidth\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [series]=\"result\"\n [dims]=\"dims\"\n [animations]=\"animations\"\n [gradient]=\"gradient\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n (select)=\"onClick($event)\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], roundEdges: [{\n type: Input\n }], strokeColor: [{\n type: Input\n }], strokeWidth: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], legendOptionsConfig: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate', { static: false }]\n }] }); })();\n\nclass BoxSeriesComponent {\n constructor() {\n this.animations = true;\n this.tooltipDisabled = false;\n this.gradient = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n onClick(data) {\n this.select.emit(data);\n }\n update() {\n this.updateTooltipSettings();\n const width = this.series && this.series.series.length ? Math.round(this.xScale.bandwidth()) : null;\n const seriesName = this.series.name;\n // Calculate Quantile and Whiskers for each box serie.\n this.counts = this.series.series;\n const mappedCounts = this.counts.map(serie => Number(serie.value));\n this.whiskers = [min(mappedCounts), max(mappedCounts)];\n // We get the group count and must sort it in order to retrieve quantiles.\n const groupCounts = this.counts.map(item => item.value).sort((a, b) => Number(a) - Number(b));\n this.quartiles = this.getBoxQuantiles(groupCounts);\n this.lineCoordinates = this.getLinesCoordinates(seriesName.toString(), this.whiskers, this.quartiles, width);\n const value = this.quartiles[1];\n const formattedLabel = formatLabel(seriesName);\n const box = {\n value,\n data: this.counts,\n label: seriesName,\n formattedLabel,\n width,\n height: 0,\n x: 0,\n y: 0,\n roundEdges: this.roundEdges,\n quartiles: this.quartiles,\n lineCoordinates: this.lineCoordinates\n };\n box.height = Math.abs(this.yScale(this.quartiles[0]) - this.yScale(this.quartiles[2]));\n box.x = this.xScale(seriesName.toString());\n box.y = this.yScale(this.quartiles[2]);\n box.ariaLabel = formattedLabel + ' - Median: ' + value.toLocaleString();\n if (this.colors.scaleType === ScaleType.Ordinal) {\n box.color = this.colors.getColor(seriesName);\n }\n else {\n box.color = this.colors.getColor(this.quartiles[1]);\n box.gradientStops = this.colors.getLinearGradientStops(this.quartiles[0], this.quartiles[2]);\n }\n const tooltipLabel = formattedLabel;\n const formattedTooltipLabel = `\n <span class=\"tooltip-label\">${escapeLabel(tooltipLabel)}</span>\n <span class=\"tooltip-val\">\n • Q1: ${this.quartiles[0]} • Q2: ${this.quartiles[1]} • Q3: ${this.quartiles[2]}<br>\n • Min: ${this.whiskers[0]} • Max: ${this.whiskers[1]}\n </span>`;\n box.tooltipText = this.tooltipDisabled ? undefined : formattedTooltipLabel;\n this.tooltipTitle = this.tooltipDisabled ? undefined : box.tooltipText;\n this.box = box;\n }\n getBoxQuantiles(inputData) {\n return [quantile(inputData, 0.25), quantile(inputData, 0.5), quantile(inputData, 0.75)];\n }\n getLinesCoordinates(seriesName, whiskers, quartiles, barWidth) {\n // The X value is not being centered, so had to sum half the width to align it.\n const commonX = this.xScale(seriesName);\n const offsetX = commonX + barWidth / 2;\n const medianLineWidth = Math.max(barWidth + 4 * this.strokeWidth, 1);\n const whiskerLineWidth = Math.max(barWidth / 3, 1);\n const whiskerZero = this.yScale(whiskers[0]);\n const whiskerOne = this.yScale(whiskers[1]);\n const median = this.yScale(quartiles[1]);\n const topLine = {\n v1: { x: offsetX + whiskerLineWidth / 2, y: whiskerZero },\n v2: { x: offsetX - whiskerLineWidth / 2, y: whiskerZero }\n };\n const medianLine = {\n v1: { x: offsetX + medianLineWidth / 2, y: median },\n v2: { x: offsetX - medianLineWidth / 2, y: median }\n };\n const bottomLine = {\n v1: { x: offsetX + whiskerLineWidth / 2, y: whiskerOne },\n v2: { x: offsetX - whiskerLineWidth / 2, y: whiskerOne }\n };\n const verticalLine = {\n v1: { x: offsetX, y: whiskerZero },\n v2: { x: offsetX, y: whiskerOne }\n };\n return [verticalLine, topLine, medianLine, bottomLine];\n }\n updateTooltipSettings() {\n if (this.tooltipDisabled) {\n this.tooltipPlacement = undefined;\n this.tooltipType = undefined;\n }\n else {\n if (!this.tooltipPlacement) {\n this.tooltipPlacement = PlacementTypes.Top;\n }\n if (!this.tooltipType) {\n this.tooltipType = StyleTypes.tooltip;\n }\n }\n }\n}\nBoxSeriesComponent.ɵfac = function BoxSeriesComponent_Factory(t) { return new (t || BoxSeriesComponent)(); };\nBoxSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BoxSeriesComponent, selectors: [[\"g\", \"ngx-charts-box-series\", \"\"]], inputs: { animations: \"animations\", tooltipDisabled: \"tooltipDisabled\", gradient: \"gradient\", tooltipPlacement: \"tooltipPlacement\", tooltipType: \"tooltipType\", dims: \"dims\", series: \"series\", xScale: \"xScale\", yScale: \"yScale\", colors: \"colors\", strokeColor: \"strokeColor\", strokeWidth: \"strokeWidth\", tooltipTemplate: \"tooltipTemplate\", roundEdges: \"roundEdges\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c30, decls: 1, vars: 22, consts: [[\"ngx-charts-box\", \"\", \"ngx-tooltip\", \"\", 3, \"width\", \"height\", \"x\", \"y\", \"roundEdges\", \"fill\", \"gradientStops\", \"strokeColor\", \"strokeWidth\", \"data\", \"lineCoordinates\", \"gradient\", \"ariaLabel\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"animations\", \"select\", \"activate\", \"deactivate\"]], template: function BoxSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 0);\n ɵngcc0.ɵɵlistener(\"select\", function BoxSeriesComponent_Template__svg_g_select_0_listener($event) { return ctx.onClick($event); })(\"activate\", function BoxSeriesComponent_Template__svg_g_activate_0_listener($event) { return ctx.activate.emit($event); })(\"deactivate\", function BoxSeriesComponent_Template__svg_g_deactivate_0_listener($event) { return ctx.deactivate.emit($event); });\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\")(\"@.disabled\", !ctx.animations)(\"width\", ctx.box.width)(\"height\", ctx.box.height)(\"x\", ctx.box.x)(\"y\", ctx.box.y)(\"roundEdges\", ctx.box.roundEdges)(\"fill\", ctx.box.color)(\"gradientStops\", ctx.box.gradientStops)(\"strokeColor\", ctx.strokeColor)(\"strokeWidth\", ctx.strokeWidth)(\"data\", ctx.box.data)(\"lineCoordinates\", ctx.box.lineCoordinates)(\"gradient\", ctx.gradient)(\"ariaLabel\", ctx.box.ariaLabel)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipPlacement\", ctx.tooltipPlacement)(\"tooltipType\", ctx.tooltipType)(\"tooltipTitle\", ctx.tooltipTitle)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipContext\", ctx.box.data)(\"animations\", ctx.animations);\n } }, dependencies: function () { return [TooltipDirective, BoxComponent]; }, encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({ opacity: 0 }))\n ])\n ])\n ] }, changeDetection: 0 });\nBoxSeriesComponent.propDecorators = {\n dims: [{ type: Input }],\n series: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n animations: [{ type: Input }],\n strokeColor: [{ type: Input }],\n strokeWidth: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n tooltipPlacement: [{ type: Input }],\n tooltipType: [{ type: Input }],\n roundEdges: [{ type: Input }],\n gradient: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BoxSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-box-series]',\n template: `\n <svg:g\n ngx-charts-box\n [@animationState]=\"'active'\"\n [@.disabled]=\"!animations\"\n [width]=\"box.width\"\n [height]=\"box.height\"\n [x]=\"box.x\"\n [y]=\"box.y\"\n [roundEdges]=\"box.roundEdges\"\n [fill]=\"box.color\"\n [gradientStops]=\"box.gradientStops\"\n [strokeColor]=\"strokeColor\"\n [strokeWidth]=\"strokeWidth\"\n [data]=\"box.data\"\n [lineCoordinates]=\"box.lineCoordinates\"\n [gradient]=\"gradient\"\n [ariaLabel]=\"box.ariaLabel\"\n (select)=\"onClick($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipType]=\"tooltipType\"\n [tooltipTitle]=\"tooltipTitle\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"box.data\"\n [animations]=\"animations\"\n ></svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({ opacity: 0 }))\n ])\n ])\n ]\n }]\n }], function () { return []; }, { animations: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], gradient: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], tooltipPlacement: [{\n type: Input\n }], tooltipType: [{\n type: Input\n }], dims: [{\n type: Input\n }], series: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], colors: [{\n type: Input\n }], strokeColor: [{\n type: Input\n }], strokeWidth: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }], roundEdges: [{\n type: Input\n }] }); })();\n\nclass BoxComponent {\n constructor(element, cd) {\n this.cd = cd;\n this.roundEdges = true;\n this.gradient = false;\n this.offset = 0;\n this.isActive = false;\n this.animations = true;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.BarOrientation = BarOrientation;\n this.initialized = false;\n this.hasGradient = false;\n this.hideBar = false;\n this.nativeElm = element.nativeElement;\n }\n ngOnChanges(changes) {\n if (!this.initialized) {\n this.loadAnimation();\n this.initialized = true;\n }\n else {\n this.update();\n }\n }\n update() {\n this.boxStrokeWidth = Math.max(this.strokeWidth, 1);\n this.whiskerStrokeWidth = Math.max(this.strokeWidth / 2, 1);\n this.medianLineWidth = 1.5 * this.strokeWidth;\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n if (this.gradient) {\n this.gradientStops = this.getGradient();\n this.hasGradient = true;\n }\n else {\n this.hasGradient = false;\n }\n this.updateLineEl();\n this.updatePathEl();\n this.checkToHideBar();\n this.maskLineId = 'mask' + id().toString();\n this.maskLine = `url(#${this.maskLineId})`;\n if (this.cd) {\n this.cd.markForCheck();\n }\n }\n loadAnimation() {\n this.boxPath = this.oldPath = this.getStartingPath();\n this.oldLineCoordinates = this.getStartingLineCoordinates();\n setTimeout(this.update.bind(this), 100);\n }\n updatePathEl() {\n const nodeBar = select(this.nativeElm).selectAll('.bar');\n const path = this.getPath();\n if (this.animations) {\n nodeBar\n .attr('d', this.oldPath)\n .transition()\n .ease(easeSinInOut)\n .duration(500)\n .attrTween('d', this.pathTween(path, 4));\n }\n else {\n nodeBar.attr('d', path);\n }\n this.oldPath = path;\n }\n updateLineEl() {\n const lineEl = select(this.nativeElm).selectAll('.bar-line');\n const lineCoordinates = this.lineCoordinates;\n const oldLineCoordinates = this.oldLineCoordinates;\n if (this.animations) {\n lineEl\n .attr('x1', (_, index) => oldLineCoordinates[index].v1.x)\n .attr('y1', (_, index) => oldLineCoordinates[index].v1.y)\n .attr('x2', (_, index) => oldLineCoordinates[index].v2.x)\n .attr('y2', (_, index) => oldLineCoordinates[index].v2.y)\n .transition()\n .ease(easeSinInOut)\n .duration(500)\n .attr('x1', (_, index) => lineCoordinates[index].v1.x)\n .attr('y1', (_, index) => lineCoordinates[index].v1.y)\n .attr('x2', (_, index) => lineCoordinates[index].v2.x)\n .attr('y2', (_, index) => lineCoordinates[index].v2.y);\n }\n else {\n lineEl\n .attr('x1', (_, index) => lineCoordinates[index].v1.x)\n .attr('y1', (_, index) => lineCoordinates[index].v1.y)\n .attr('x2', (_, index) => lineCoordinates[index].v2.x)\n .attr('y2', (_, index) => lineCoordinates[index].v2.y);\n }\n this.oldLineCoordinates = [...lineCoordinates];\n }\n /**\n * See [D3 Selections](https://www.d3indepth.com/selections/)\n * @param d The joined data.\n * @param index The index of the element within the selection\n * @param node The node element (Line).\n */\n lineTween(attr, d, index, node) {\n const nodeLineEl = node[index];\n return nodeLineEl[attr].baseVal.value;\n }\n // TODO: Refactor into another .ts file if https://github.com/swimlane/ngx-charts/pull/1179 gets merged.\n pathTween(d1, precision) {\n return function () {\n // tslint:disable-next-line: no-this-assignment\n const path0 = this;\n const path1 = this.cloneNode();\n path1.setAttribute('d', d1);\n const n0 = path0 === null || path0 === void 0 ? void 0 : path0.getTotalLength();\n const n1 = path1 === null || path1 === void 0 ? void 0 : path1.getTotalLength();\n // Uniform sampling of distance based on specified precision.\n const distances = [0];\n let i = 0;\n const dt = precision / Math.max(n0, n1);\n while (i < 1) {\n distances.push(i);\n i += dt;\n }\n distances.push(1);\n // Compute point-interpolators at each distance.\n const points = distances.map((t) => {\n const p0 = path0.getPointAtLength(t * n0);\n const p1 = path1.getPointAtLength(t * n1);\n return interpolate([p0.x, p0.y], [p1.x, p1.y]);\n });\n // 't': T is the fraction of time (between 0 and 1) since the transition began.\n return (t) => {\n return t < 1 ? 'M' + points.map((p) => p(t)).join('L') : d1;\n };\n };\n }\n getStartingPath() {\n if (!this.animations) {\n return this.getPath();\n }\n const radius = this.roundEdges ? 1 : 0;\n const { x, y } = this.lineCoordinates[2].v1;\n return roundedRect(x - this.width, y - 1, this.width, 2, radius, this.edges);\n }\n getPath() {\n const radius = this.getRadius();\n let path = '';\n path = roundedRect(this.x, this.y, this.width, this.height, Math.min(this.height, radius), this.edges);\n return path;\n }\n getStartingLineCoordinates() {\n if (!this.animations) {\n return [...this.lineCoordinates];\n }\n const lineCoordinates = cloneDeep(this.lineCoordinates);\n lineCoordinates[1].v1.y = lineCoordinates[1].v2.y = lineCoordinates[3].v1.y = lineCoordinates[3].v2.y = lineCoordinates[0].v1.y = lineCoordinates[0].v2.y =\n lineCoordinates[2].v1.y;\n return lineCoordinates;\n }\n getRadius() {\n let radius = 0;\n if (this.roundEdges && this.height > 5 && this.width > 5) {\n radius = Math.floor(Math.min(5, this.height / 2, this.width / 2));\n }\n return radius;\n }\n getGradient() {\n return [\n {\n offset: 0,\n color: this.fill,\n opacity: this.getStartOpacity()\n },\n {\n offset: 100,\n color: this.fill,\n opacity: 1\n }\n ];\n }\n getStartOpacity() {\n if (this.roundEdges) {\n return 0.2;\n }\n else {\n return 0.5;\n }\n }\n get edges() {\n let edges = [false, false, false, false];\n if (this.roundEdges) {\n edges = [true, true, true, true];\n }\n return edges;\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n checkToHideBar() {\n this.hideBar = this.noBarWhenZero && this.height === 0;\n }\n}\nBoxComponent.ɵfac = function BoxComponent_Factory(t) { return new (t || BoxComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nBoxComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BoxComponent, selectors: [[\"g\", \"ngx-charts-box\", \"\"]], hostBindings: function BoxComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseenter\", function BoxComponent_mouseenter_HostBindingHandler() { return ctx.onMouseEnter(); })(\"mouseleave\", function BoxComponent_mouseleave_HostBindingHandler() { return ctx.onMouseLeave(); });\n } }, inputs: { roundEdges: \"roundEdges\", gradient: \"gradient\", offset: \"offset\", isActive: \"isActive\", animations: \"animations\", noBarWhenZero: \"noBarWhenZero\", gradientStops: \"gradientStops\", strokeColor: \"strokeColor\", strokeWidth: \"strokeWidth\", fill: \"fill\", data: \"data\", width: \"width\", height: \"height\", x: \"x\", y: \"y\", lineCoordinates: \"lineCoordinates\", ariaLabel: \"ariaLabel\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c31, decls: 9, vars: 13, consts: [[\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\", 4, \"ngIf\"], [\"height\", \"100%\", \"width\", \"100%\", \"fill\", \"white\", \"fill-opacity\", \"1\"], [\"fill\", \"black\", \"fill-opacity\", \"1\", 1, \"bar\"], [\"role\", \"img\", \"tabIndex\", \"-1\", 1, \"bar\", 3, \"click\"], [\"class\", \"bar-line\", \"fill\", \"none\", 3, \"hidden\", 4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"], [\"fill\", \"none\", 1, \"bar-line\"]], template: function BoxComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"defs\");\n ɵngcc0.ɵɵtemplate(1, BoxComponent__svg_g_1_Template, 1, 3, \"g\", 0);\n ɵngcc0.ɵɵelementStart(2, \"mask\")(3, \"g\");\n ɵngcc0.ɵɵelement(4, \"rect\", 1)(5, \"path\", 2);\n ɵngcc0.ɵɵelementEnd()()();\n ɵngcc0.ɵɵelementStart(6, \"g\")(7, \"path\", 3);\n ɵngcc0.ɵɵlistener(\"click\", function BoxComponent_Template__svg_path_click_7_listener() { return ctx.select.emit(ctx.data); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(8, BoxComponent__svg_line_8_Template, 1, 9, \"line\", 4);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.hasGradient);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"id\", ctx.maskLineId);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵattribute(\"d\", ctx.boxPath);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassProp(\"active\", ctx.isActive)(\"hidden\", ctx.hideBar);\n ɵngcc0.ɵɵattribute(\"d\", ctx.boxPath)(\"stroke\", ctx.strokeColor)(\"stroke-width\", ctx.boxStrokeWidth)(\"aria-label\", ctx.ariaLabel)(\"fill\", ctx.hasGradient ? ctx.gradientFill : ctx.fill);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.lineCoordinates);\n } }, dependencies: [ɵngcc1.NgForOf, ɵngcc1.NgIf, SvgLinearGradientComponent], encapsulation: 2, changeDetection: 0 });\nBoxComponent.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef }\n];\nBoxComponent.propDecorators = {\n strokeColor: [{ type: Input }],\n strokeWidth: [{ type: Input }],\n fill: [{ type: Input }],\n data: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }],\n lineCoordinates: [{ type: Input }],\n roundEdges: [{ type: Input }],\n gradient: [{ type: Input }],\n gradientStops: [{ type: Input }],\n offset: [{ type: Input }],\n isActive: [{ type: Input }],\n animations: [{ type: Input }],\n ariaLabel: [{ type: Input }],\n noBarWhenZero: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BoxComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-box]',\n template: `\n <svg:defs>\n <svg:g\n *ngIf=\"hasGradient\"\n ngx-charts-svg-linear-gradient\n [orientation]=\"BarOrientation.Vertical\"\n [name]=\"gradientId\"\n [stops]=\"gradientStops\"\n />\n <svg:mask [attr.id]=\"maskLineId\">\n <svg:g>\n <rect height=\"100%\" width=\"100%\" fill=\"white\" fill-opacity=\"1\" />\n <path class=\"bar\" [attr.d]=\"boxPath\" fill=\"black\" fill-opacity=\"1\" />\n </svg:g>\n </svg:mask>\n </svg:defs>\n <svg:g>\n <svg:path\n class=\"bar\"\n role=\"img\"\n tabIndex=\"-1\"\n [class.active]=\"isActive\"\n [class.hidden]=\"hideBar\"\n [attr.d]=\"boxPath\"\n [attr.stroke]=\"strokeColor\"\n [attr.stroke-width]=\"boxStrokeWidth\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.fill]=\"hasGradient ? gradientFill : fill\"\n (click)=\"select.emit(data)\"\n />\n <svg:line\n *ngFor=\"let line of lineCoordinates; let i = index\"\n class=\"bar-line\"\n [class.hidden]=\"hideBar\"\n [attr.x1]=\"line.v1.x\"\n [attr.y1]=\"line.v1.y\"\n [attr.x2]=\"line.v2.x\"\n [attr.y2]=\"line.v2.y\"\n [attr.stroke]=\"strokeColor\"\n [attr.stroke-width]=\"i === 2 ? medianLineWidth : whiskerStrokeWidth\"\n [attr.mask]=\"i ? undefined : maskLine\"\n fill=\"none\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }]; }, { roundEdges: [{\n type: Input\n }], gradient: [{\n type: Input\n }], offset: [{\n type: Input\n }], isActive: [{\n type: Input\n }], animations: [{\n type: Input\n }], noBarWhenZero: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], gradientStops: [{\n type: Input\n }], onMouseEnter: [{\n type: HostListener,\n args: ['mouseenter']\n }], onMouseLeave: [{\n type: HostListener,\n args: ['mouseleave']\n }], strokeColor: [{\n type: Input\n }], strokeWidth: [{\n type: Input\n }], fill: [{\n type: Input\n }], data: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], x: [{\n type: Input\n }], y: [{\n type: Input\n }], lineCoordinates: [{\n type: Input\n }], ariaLabel: [{\n type: Input\n }] }); })();\n\nclass BoxChartModule {\n}\nBoxChartModule.ɵfac = function BoxChartModule_Factory(t) { return new (t || BoxChartModule)(); };\nBoxChartModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: BoxChartModule });\nBoxChartModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BoxChartModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule],\n declarations: [BoxChartComponent, BoxSeriesComponent, BoxComponent],\n exports: [BoxChartComponent, BoxSeriesComponent, BoxComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(BoxChartModule, { declarations: [BoxChartComponent, BoxSeriesComponent, BoxComponent], imports: [ChartCommonModule], exports: [BoxChartComponent, BoxSeriesComponent, BoxComponent] }); })();\n\nfunction getDomain(values, scaleType, autoScale, minVal, maxVal) {\n let domain = [];\n if (scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n if (!autoScale) {\n values.push(0);\n }\n }\n if (scaleType === ScaleType.Time || scaleType === ScaleType.Linear) {\n const min = minVal ? minVal : Math.min(...values);\n const max = maxVal ? maxVal : Math.max(...values);\n domain = [min, max];\n }\n else {\n domain = values;\n }\n return domain;\n}\nfunction getScale(domain, range, scaleType, roundDomains) {\n switch (scaleType) {\n case ScaleType.Time:\n return scaleTime().range(range).domain(domain);\n case ScaleType.Linear: {\n const scale = scaleLinear().range(range).domain(domain);\n if (roundDomains) {\n return scale.nice();\n }\n return scale;\n }\n case ScaleType.Ordinal:\n return scalePoint()\n .range([range[0], range[1]])\n .domain(domain.map(r => r.toString()));\n default:\n return undefined;\n }\n}\n\nclass BubbleChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.showGridLines = true;\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.xAxis = true;\n this.yAxis = true;\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.maxRadius = 10;\n this.minRadius = 3;\n this.schemeType = ScaleType.Ordinal;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.scaleType = ScaleType.Linear;\n this.margin = [10, 20, 10, 20];\n this.bubblePadding = [0, 0, 0, 0];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.activeEntries = [];\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.seriesDomain = this.results.map(d => d.name);\n this.rDomain = this.getRDomain();\n this.xDomain = this.getXDomain();\n this.yDomain = this.getYDomain();\n this.transform = `translate(${this.dims.xOffset},${this.margin[0]})`;\n const colorDomain = this.schemeType === ScaleType.Ordinal ? this.seriesDomain : this.rDomain;\n this.colors = new ColorHelper(this.scheme, this.schemeType, colorDomain, this.customColors);\n this.data = this.results;\n this.minRadius = Math.max(this.minRadius, 1);\n this.maxRadius = Math.max(this.maxRadius, 1);\n this.rScale = this.getRScale(this.rDomain, [this.minRadius, this.maxRadius]);\n this.bubblePadding = [0, 0, 0, 0];\n this.setScales();\n this.bubblePadding = this.getBubblePadding();\n this.setScales();\n this.legendOptions = this.getLegendOptions();\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n hideCircles() {\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n getBubblePadding() {\n let yMin = 0;\n let xMin = 0;\n let yMax = this.dims.height;\n let xMax = this.dims.width;\n for (const s of this.data) {\n for (const d of s.series) {\n const r = this.rScale(d.r);\n const cx = this.xScaleType === ScaleType.Linear ? this.xScale(Number(d.x)) : this.xScale(d.x);\n const cy = this.yScaleType === ScaleType.Linear ? this.yScale(Number(d.y)) : this.yScale(d.y);\n xMin = Math.max(r - cx, xMin);\n yMin = Math.max(r - cy, yMin);\n yMax = Math.max(cy + r, yMax);\n xMax = Math.max(cx + r, xMax);\n }\n }\n xMax = Math.max(xMax - this.dims.width, 0);\n yMax = Math.max(yMax - this.dims.height, 0);\n return [yMin, xMax, yMax, xMin];\n }\n setScales() {\n let width = this.dims.width;\n if (this.xScaleMin === undefined && this.xScaleMax === undefined) {\n width = width - this.bubblePadding[1];\n }\n let height = this.dims.height;\n if (this.yScaleMin === undefined && this.yScaleMax === undefined) {\n height = height - this.bubblePadding[2];\n }\n this.xScale = this.getXScale(this.xDomain, width);\n this.yScale = this.getYScale(this.yDomain, height);\n }\n getYScale(domain, height) {\n return getScale(domain, [height, this.bubblePadding[0]], this.yScaleType, this.roundDomains);\n }\n getXScale(domain, width) {\n return getScale(domain, [this.bubblePadding[3], width], this.xScaleType, this.roundDomains);\n }\n getRScale(domain, range) {\n const scale = scaleLinear().range(range).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n position: this.legendPosition,\n title: undefined\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.rDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n getXDomain() {\n const values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.x)) {\n values.push(d.x);\n }\n }\n }\n this.xScaleType = getScaleType(values);\n return getDomain(values, this.xScaleType, this.autoScale, this.xScaleMin, this.xScaleMax);\n }\n getYDomain() {\n const values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.y)) {\n values.push(d.y);\n }\n }\n }\n this.yScaleType = getScaleType(values);\n return getDomain(values, this.yScaleType, this.autoScale, this.yScaleMin, this.yScaleMax);\n }\n getRDomain() {\n let min = Infinity;\n let max = -Infinity;\n for (const results of this.results) {\n for (const d of results.series) {\n const value = Number(d.r) || 1;\n min = Math.min(min, value);\n max = Math.max(max, value);\n }\n }\n return [min, max];\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n trackBy(index, item) {\n return `${item.name}`;\n }\n}\nBubbleChartComponent.ɵfac = /*@__PURE__*/ function () { let ɵBubbleChartComponent_BaseFactory; return function BubbleChartComponent_Factory(t) { return (ɵBubbleChartComponent_BaseFactory || (ɵBubbleChartComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(BubbleChartComponent)))(t || BubbleChartComponent); }; }();\nBubbleChartComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BubbleChartComponent, selectors: [[\"ngx-charts-bubble-chart\"]], contentQueries: function BubbleChartComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, hostBindings: function BubbleChartComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseleave\", function BubbleChartComponent_mouseleave_HostBindingHandler() { return ctx.hideCircles(); });\n } }, inputs: { showGridLines: \"showGridLines\", legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", xAxis: \"xAxis\", yAxis: \"yAxis\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", roundDomains: \"roundDomains\", maxRadius: \"maxRadius\", minRadius: \"minRadius\", schemeType: \"schemeType\", tooltipDisabled: \"tooltipDisabled\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", autoScale: \"autoScale\", xScaleMin: \"xScaleMin\", xScaleMax: \"xScaleMax\", yScaleMin: \"yScaleMin\", yScaleMax: \"yScaleMax\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 10, vars: 20, consts: [[3, \"view\", \"showLegend\", \"activeEntries\", \"legendOptions\", \"animations\", \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\"], [1, \"bubble-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"showGridLines\", \"dims\", \"xScale\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"showGridLines\", \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"x\", \"0\", \"y\", \"0\", 1, \"bubble-chart-area\", 2, \"fill\", \"rgb(255, 0, 0)\", \"opacity\", \"0\", \"cursor\", \"auto\", 3, \"mouseenter\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-x-axis\", \"\", 3, \"showGridLines\", \"dims\", \"xScale\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"showGridLines\", \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-bubble-series\", \"\", 3, \"xScale\", \"yScale\", \"rScale\", \"xScaleType\", \"yScaleType\", \"xAxisLabel\", \"yAxisLabel\", \"colors\", \"data\", \"activeEntries\", \"tooltipDisabled\", \"tooltipTemplate\", \"select\", \"activate\", \"deactivate\"]], template: function BubbleChartComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function BubbleChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); })(\"legendLabelActivate\", function BubbleChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event); })(\"legendLabelDeactivate\", function BubbleChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"defs\")(2, \"clipPath\");\n ɵngcc0.ɵɵelement(3, \"rect\");\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(4, \"g\", 1);\n ɵngcc0.ɵɵtemplate(5, BubbleChartComponent__svg_g_5_Template, 1, 10, \"g\", 2);\n ɵngcc0.ɵɵtemplate(6, BubbleChartComponent__svg_g_6_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵelementStart(7, \"rect\", 4);\n ɵngcc0.ɵɵlistener(\"mouseenter\", function BubbleChartComponent_Template__svg_rect_mouseenter_7_listener() { return ctx.deactivateAll(); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(8, \"g\");\n ɵngcc0.ɵɵtemplate(9, BubbleChartComponent__svg_g_9_Template, 2, 13, \"g\", 5);\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(17, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"activeEntries\", ctx.activeEntries)(\"legendOptions\", ctx.legendOptions)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵattribute(\"id\", ctx.clipPathId);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"width\", ctx.dims.width + 10)(\"height\", ctx.dims.height + 10)(\"transform\", \"translate(-5, -5)\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"width\", ctx.dims.width)(\"height\", ctx.dims.height);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"clip-path\", ctx.clipPath);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.data)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, ChartComponent, BubbleSeriesComponent]; }, styles: [_c24], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({\n opacity: 0\n }))\n ])\n ])\n ] }, changeDetection: 0 });\nBubbleChartComponent.propDecorators = {\n showGridLines: [{ type: Input }],\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n roundDomains: [{ type: Input }],\n maxRadius: [{ type: Input }],\n minRadius: [{ type: Input }],\n autoScale: [{ type: Input }],\n schemeType: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n xScaleMin: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n yScaleMin: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n hideCircles: [{ type: HostListener, args: ['mouseleave',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BubbleChartComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-bubble-chart', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [activeEntries]=\"activeEntries\"\n [legendOptions]=\"legendOptions\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"bubble-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [showGridLines]=\"showGridLines\"\n [dims]=\"dims\"\n [xScale]=\"xScale\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n />\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [showGridLines]=\"showGridLines\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n />\n <svg:rect\n class=\"bubble-chart-area\"\n x=\"0\"\n y=\"0\"\n [attr.width]=\"dims.width\"\n [attr.height]=\"dims.height\"\n style=\"fill: rgb(255, 0, 0); opacity: 0; cursor: 'auto';\"\n (mouseenter)=\"deactivateAll()\"\n />\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of data; trackBy: trackBy\" [@animationState]=\"'active'\">\n <svg:g\n ngx-charts-bubble-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [rScale]=\"rScale\"\n [xScaleType]=\"xScaleType\"\n [yScaleType]=\"yScaleType\"\n [xAxisLabel]=\"xAxisLabel\"\n [yAxisLabel]=\"yAxisLabel\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event, series)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({\n opacity: 0\n }))\n ])\n ])\n ], styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { showGridLines: [{\n type: Input\n }], legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], maxRadius: [{\n type: Input\n }], minRadius: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], hideCircles: [{\n type: HostListener,\n args: ['mouseleave']\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], autoScale: [{\n type: Input\n }], xScaleMin: [{\n type: Input\n }], xScaleMax: [{\n type: Input\n }], yScaleMin: [{\n type: Input\n }], yScaleMax: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass BubbleSeriesComponent {\n constructor() {\n this.tooltipDisabled = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.circles = this.getCircles();\n }\n getCircles() {\n const seriesName = this.data.name;\n return this.data.series\n .map((d, i) => {\n if (typeof d.y !== 'undefined' && typeof d.x !== 'undefined') {\n const y = d.y;\n const x = d.x;\n const r = d.r;\n const radius = this.rScale(r || 1);\n const tooltipLabel = formatLabel(d.name);\n const cx = this.xScaleType === ScaleType.Linear ? this.xScale(Number(x)) : this.xScale(x);\n const cy = this.yScaleType === ScaleType.Linear ? this.yScale(Number(y)) : this.yScale(y);\n const color = this.colors.scaleType === ScaleType.Linear ? this.colors.getColor(r) : this.colors.getColor(seriesName);\n const isActive = !this.activeEntries.length ? true : this.isActive({ name: seriesName });\n const opacity = isActive ? 1 : 0.3;\n const data = Object.assign({}, d, {\n series: seriesName,\n name: d.name,\n value: d.y,\n x: d.x,\n radius: d.r\n });\n return {\n data,\n x,\n y,\n r,\n classNames: [`circle-data-${i}`],\n value: y,\n label: x,\n cx,\n cy,\n radius,\n tooltipLabel,\n color,\n opacity,\n seriesName,\n isActive,\n transform: `translate(${cx},${cy})`\n };\n }\n })\n .filter(circle => circle !== undefined);\n }\n getTooltipText(circle) {\n const hasRadius = typeof circle.r !== 'undefined';\n const hasTooltipLabel = circle.tooltipLabel && circle.tooltipLabel.length;\n const hasSeriesName = circle.seriesName && circle.seriesName.length;\n const radiusValue = hasRadius ? formatLabel(circle.r) : '';\n const xAxisLabel = this.xAxisLabel && this.xAxisLabel !== '' ? `${this.xAxisLabel}:` : '';\n const yAxisLabel = this.yAxisLabel && this.yAxisLabel !== '' ? `${this.yAxisLabel}:` : '';\n const x = formatLabel(circle.x);\n const y = formatLabel(circle.y);\n const name = hasSeriesName && hasTooltipLabel\n ? `${circle.seriesName} • ${circle.tooltipLabel}`\n : circle.seriesName + circle.tooltipLabel;\n const tooltipTitle = hasSeriesName || hasTooltipLabel ? `<span class=\"tooltip-label\">${escapeLabel(name)}</span>` : '';\n return `\n ${tooltipTitle}\n <span class=\"tooltip-label\">\n <label>${escapeLabel(xAxisLabel)}</label> ${escapeLabel(x)}<br />\n <label>${escapeLabel(yAxisLabel)}</label> ${escapeLabel(y)}\n </span>\n <span class=\"tooltip-val\">\n ${escapeLabel(radiusValue)}\n </span>\n `;\n }\n onClick(data) {\n this.select.emit(data);\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isVisible(circle) {\n if (this.activeEntries.length > 0) {\n return this.isActive({ name: circle.seriesName });\n }\n return circle.opacity !== 0;\n }\n activateCircle(circle) {\n circle.barVisible = true;\n this.activate.emit({ name: this.data.name });\n }\n deactivateCircle(circle) {\n circle.barVisible = false;\n this.deactivate.emit({ name: this.data.name });\n }\n trackBy(index, circle) {\n return `${circle.data.series} ${circle.data.name}`;\n }\n}\nBubbleSeriesComponent.ɵfac = function BubbleSeriesComponent_Factory(t) { return new (t || BubbleSeriesComponent)(); };\nBubbleSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: BubbleSeriesComponent, selectors: [[\"g\", \"ngx-charts-bubble-series\", \"\"]], inputs: { tooltipDisabled: \"tooltipDisabled\", data: \"data\", xScale: \"xScale\", yScale: \"yScale\", rScale: \"rScale\", xScaleType: \"xScaleType\", yScaleType: \"yScaleType\", colors: \"colors\", visibleValue: \"visibleValue\", activeEntries: \"activeEntries\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", tooltipTemplate: \"tooltipTemplate\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c32, decls: 1, vars: 2, consts: [[4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-circle\", \"\", \"ngx-tooltip\", \"\", 1, \"circle\", 3, \"cx\", \"cy\", \"r\", \"fill\", \"pointerEvents\", \"data\", \"classNames\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\"]], template: function BubbleSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, BubbleSeriesComponent__svg_g_0_Template, 3, 19, \"g\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.circles)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: [ɵngcc1.NgForOf, TooltipDirective, CircleComponent], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':enter', [\n style({\n opacity: 0,\n transform: 'scale(0)'\n }),\n animate(250, style({ opacity: 1, transform: 'scale(1)' }))\n ])\n ])\n ] }, changeDetection: 0 });\nBubbleSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n rScale: [{ type: Input }],\n xScaleType: [{ type: Input }],\n yScaleType: [{ type: Input }],\n colors: [{ type: Input }],\n visibleValue: [{ type: Input }],\n activeEntries: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BubbleSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-bubble-series]',\n template: `\n <svg:g *ngFor=\"let circle of circles; trackBy: trackBy\">\n <svg:g [attr.transform]=\"circle.transform\">\n <svg:g\n ngx-charts-circle\n [@animationState]=\"'active'\"\n class=\"circle\"\n [cx]=\"0\"\n [cy]=\"0\"\n [r]=\"circle.radius\"\n [fill]=\"circle.color\"\n [style.opacity]=\"circle.opacity\"\n [class.active]=\"circle.isActive\"\n [pointerEvents]=\"'all'\"\n [data]=\"circle.value\"\n [classNames]=\"circle.classNames\"\n (select)=\"onClick(circle.data)\"\n (activate)=\"activateCircle(circle)\"\n (deactivate)=\"deactivateCircle(circle)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"placementTypes.Top\"\n [tooltipType]=\"styleTypes.tooltip\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : getTooltipText(circle)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"circle.data\"\n />\n </svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':enter', [\n style({\n opacity: 0,\n transform: 'scale(0)'\n }),\n animate(250, style({ opacity: 1, transform: 'scale(1)' }))\n ])\n ])\n ]\n }]\n }], function () { return []; }, { tooltipDisabled: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], data: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], rScale: [{\n type: Input\n }], xScaleType: [{\n type: Input\n }], yScaleType: [{\n type: Input\n }], colors: [{\n type: Input\n }], visibleValue: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }] }); })();\n\nclass BubbleChartModule {\n}\nBubbleChartModule.ɵfac = function BubbleChartModule_Factory(t) { return new (t || BubbleChartModule)(); };\nBubbleChartModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: BubbleChartModule });\nBubbleChartModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BubbleChartModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule],\n declarations: [BubbleChartComponent, BubbleSeriesComponent],\n exports: [BubbleChartComponent, BubbleSeriesComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(BubbleChartModule, { declarations: [BubbleChartComponent, BubbleSeriesComponent], imports: [ChartCommonModule], exports: [BubbleChartComponent, BubbleSeriesComponent] }); })();\n\nclass HeatMapCellComponent {\n constructor(element) {\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.barOrientation = BarOrientation;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.transform = `translate(${this.x} , ${this.y})`;\n this.startOpacity = 0.3;\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n this.gradientStops = this.getGradientStops();\n if (this.animations) {\n this.loadAnimation();\n }\n }\n getGradientStops() {\n return [\n {\n offset: 0,\n color: this.fill,\n opacity: this.startOpacity\n },\n {\n offset: 100,\n color: this.fill,\n opacity: 1\n }\n ];\n }\n loadAnimation() {\n const node = select(this.element).select('.cell');\n node.attr('opacity', 0);\n this.animateToCurrentForm();\n }\n animateToCurrentForm() {\n const node = select(this.element).select('.cell');\n node.transition().duration(750).attr('opacity', 1);\n }\n onClick() {\n this.select.emit(this.data);\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n}\nHeatMapCellComponent.ɵfac = function HeatMapCellComponent_Factory(t) { return new (t || HeatMapCellComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nHeatMapCellComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: HeatMapCellComponent, selectors: [[\"g\", \"ngx-charts-heat-map-cell\", \"\"]], hostBindings: function HeatMapCellComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseenter\", function HeatMapCellComponent_mouseenter_HostBindingHandler() { return ctx.onMouseEnter(); })(\"mouseleave\", function HeatMapCellComponent_mouseleave_HostBindingHandler() { return ctx.onMouseLeave(); });\n } }, inputs: { gradient: \"gradient\", animations: \"animations\", fill: \"fill\", x: \"x\", y: \"y\", width: \"width\", height: \"height\", data: \"data\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c33, decls: 3, vars: 5, consts: [[1, \"cell\"], [4, \"ngIf\"], [\"rx\", \"3\", 1, \"cell\", 3, \"click\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"]], template: function HeatMapCellComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 0);\n ɵngcc0.ɵɵtemplate(1, HeatMapCellComponent__svg_defs_1_Template, 2, 3, \"defs\", 1);\n ɵngcc0.ɵɵelementStart(2, \"rect\", 2);\n ɵngcc0.ɵɵlistener(\"click\", function HeatMapCellComponent_Template__svg_rect_click_2_listener() { return ctx.onClick(); });\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.gradient);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"fill\", ctx.gradient ? ctx.gradientUrl : ctx.fill)(\"width\", ctx.width)(\"height\", ctx.height);\n } }, dependencies: [ɵngcc1.NgIf, SvgLinearGradientComponent], encapsulation: 2, changeDetection: 0 });\nHeatMapCellComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nHeatMapCellComponent.propDecorators = {\n fill: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }],\n data: [{ type: Input }],\n gradient: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],\n onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HeatMapCellComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-heat-map-cell]',\n template: `\n <svg:g [attr.transform]=\"transform\" class=\"cell\">\n <defs *ngIf=\"gradient\">\n <svg:g\n ngx-charts-svg-linear-gradient\n [orientation]=\"barOrientation.Vertical\"\n [name]=\"gradientId\"\n [stops]=\"gradientStops\"\n />\n </defs>\n <svg:rect\n [attr.fill]=\"gradient ? gradientUrl : fill\"\n rx=\"3\"\n [attr.width]=\"width\"\n [attr.height]=\"height\"\n class=\"cell\"\n (click)=\"onClick()\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { gradient: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], onMouseEnter: [{\n type: HostListener,\n args: ['mouseenter']\n }], onMouseLeave: [{\n type: HostListener,\n args: ['mouseleave']\n }], fill: [{\n type: Input\n }], x: [{\n type: Input\n }], y: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], data: [{\n type: Input\n }] }); })();\n\nclass HeatCellSeriesComponent {\n constructor() {\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n ngOnInit() {\n if (!this.tooltipText) {\n this.tooltipText = this.getTooltipText;\n }\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.cells = this.getCells();\n }\n getCells() {\n const cells = [];\n this.data.map(row => {\n row.series.map(cell => {\n const value = cell.value;\n cell.series = row.name;\n cells.push({\n row,\n cell,\n x: this.xScale(row.name),\n y: this.yScale(cell.name),\n width: this.xScale.bandwidth(),\n height: this.yScale.bandwidth(),\n fill: this.colors.getColor(value),\n data: value,\n label: formatLabel(cell.name),\n series: row.name\n });\n });\n });\n return cells;\n }\n getTooltipText({ label, data, series }) {\n return `\n <span class=\"tooltip-label\">${escapeLabel(series)} • ${escapeLabel(label)}</span>\n <span class=\"tooltip-val\">${data.toLocaleString()}</span>\n `;\n }\n trackBy(index, item) {\n return item.label;\n }\n onClick(data) {\n this.select.emit(data);\n }\n}\nHeatCellSeriesComponent.ɵfac = function HeatCellSeriesComponent_Factory(t) { return new (t || HeatCellSeriesComponent)(); };\nHeatCellSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: HeatCellSeriesComponent, selectors: [[\"g\", \"ngx-charts-heat-map-cell-series\", \"\"]], inputs: { tooltipDisabled: \"tooltipDisabled\", animations: \"animations\", tooltipText: \"tooltipText\", data: \"data\", colors: \"colors\", xScale: \"xScale\", yScale: \"yScale\", gradient: \"gradient\", tooltipTemplate: \"tooltipTemplate\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c34, decls: 1, vars: 2, consts: [[\"ngx-charts-heat-map-cell\", \"\", \"ngx-tooltip\", \"\", 3, \"x\", \"y\", \"width\", \"height\", \"fill\", \"data\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-heat-map-cell\", \"\", \"ngx-tooltip\", \"\", 3, \"x\", \"y\", \"width\", \"height\", \"fill\", \"data\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\"]], template: function HeatCellSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, HeatCellSeriesComponent__svg_g_0_Template, 1, 18, \"g\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.cells)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: [ɵngcc1.NgForOf, TooltipDirective, HeatMapCellComponent], encapsulation: 2, changeDetection: 0 });\nHeatCellSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n colors: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n gradient: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipText: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HeatCellSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-heat-map-cell-series]',\n template: `\n <svg:g\n ngx-charts-heat-map-cell\n *ngFor=\"let c of cells; trackBy: trackBy\"\n [x]=\"c.x\"\n [y]=\"c.y\"\n [width]=\"c.width\"\n [height]=\"c.height\"\n [fill]=\"c.fill\"\n [data]=\"c.data\"\n (select)=\"onClick(c.cell)\"\n (activate)=\"activate.emit(c.cell)\"\n (deactivate)=\"deactivate.emit(c.cell)\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"placementTypes.Top\"\n [tooltipType]=\"styleTypes.tooltip\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText(c)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"{ series: c.series, name: c.label, value: c.data }\"\n ></svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { tooltipDisabled: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], tooltipText: [{\n type: Input\n }], data: [{\n type: Input\n }], colors: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], gradient: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }] }); })();\n\nclass HeatMapComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.innerPadding = 8;\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.tooltipDisabled = false;\n this.activeEntries = [];\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.scaleType = ScaleType.Linear;\n }\n update() {\n super.update();\n this.formatDates();\n this.xDomain = this.getXDomain();\n this.yDomain = this.getYDomain();\n this.valueDomain = this.getValueDomain();\n this.scaleType = getScaleType(this.valueDomain, false);\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.scaleType,\n legendPosition: this.legendPosition\n });\n if (this.scaleType === ScaleType.Linear) {\n let min = this.min;\n let max = this.max;\n if (!this.min) {\n min = Math.min(0, ...this.valueDomain);\n }\n if (!this.max) {\n max = Math.max(...this.valueDomain);\n }\n this.valueDomain = [min, max];\n }\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.rects = this.getRects();\n }\n getXDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.name)) {\n domain.push(group.name);\n }\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.name)) {\n domain.push(d.name);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n return domain;\n }\n /**\n * Converts the input to gap paddingInner in fraction\n * Supports the following inputs:\n * Numbers: 8\n * Strings: \"8\", \"8px\", \"8%\"\n * Arrays: [8,2], \"8,2\", \"[8,2]\"\n * Mixed: [8,\"2%\"], [\"8px\",\"2%\"], \"8,2%\", \"[8,2%]\"\n *\n * @memberOf HeatMapComponent\n */\n getDimension(value, index = 0, N, L) {\n if (typeof value === 'string') {\n value = value\n .replace('[', '')\n .replace(']', '')\n .replace('px', '')\n // tslint:disable-next-line: quotemark\n .replace(\"'\", '');\n if (value.includes(',')) {\n value = value.split(',');\n }\n }\n if (Array.isArray(value) && typeof index === 'number') {\n return this.getDimension(value[index], null, N, L);\n }\n if (typeof value === 'string' && value.includes('%')) {\n return +value.replace('%', '') / 100;\n }\n return N / (L / +value + 1);\n }\n getXScale() {\n const f = this.getDimension(this.innerPadding, 0, this.xDomain.length, this.dims.width);\n return scaleBand().rangeRound([0, this.dims.width]).domain(this.xDomain).paddingInner(f);\n }\n getYScale() {\n const f = this.getDimension(this.innerPadding, 1, this.yDomain.length, this.dims.height);\n return scaleBand().rangeRound([this.dims.height, 0]).domain(this.yDomain).paddingInner(f);\n }\n getRects() {\n const rects = [];\n this.xDomain.map(xVal => {\n this.yDomain.map(yVal => {\n rects.push({\n x: this.xScale(xVal),\n y: this.yScale(yVal),\n rx: 3,\n width: this.xScale.bandwidth(),\n height: this.yScale.bandwidth(),\n fill: 'rgba(200,200,200,0.03)'\n });\n });\n });\n return rects;\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, this.scaleType, this.valueDomain);\n }\n getLegendOptions() {\n return {\n scaleType: this.scaleType,\n domain: this.valueDomain,\n colors: this.scaleType === ScaleType.Ordinal ? this.colors : this.colors.scale,\n title: this.scaleType === ScaleType.Ordinal ? this.legendTitle : undefined,\n position: this.legendPosition\n };\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results\n .map(g => g.series)\n .flat()\n .filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n }\n else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n }\n else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nHeatMapComponent.ɵfac = /*@__PURE__*/ function () { let ɵHeatMapComponent_BaseFactory; return function HeatMapComponent_Factory(t) { return (ɵHeatMapComponent_BaseFactory || (ɵHeatMapComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(HeatMapComponent)))(t || HeatMapComponent); }; }();\nHeatMapComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: HeatMapComponent, selectors: [[\"ngx-charts-heat-map\"]], contentQueries: function HeatMapComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", innerPadding: \"innerPadding\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", tooltipDisabled: \"tooltipDisabled\", activeEntries: \"activeEntries\", legend: \"legend\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", gradient: \"gradient\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", tooltipText: \"tooltipText\", min: \"min\", max: \"max\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 6, vars: 20, consts: [[3, \"view\", \"showLegend\", \"animations\", \"legendOptions\", \"legendLabelClick\"], [1, \"heat-map\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-heat-map-cell-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipTemplate\", \"tooltipText\", \"select\", \"activate\", \"deactivate\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"]], template: function HeatMapComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function HeatMapComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵtemplate(2, HeatMapComponent__svg_g_2_Template, 1, 9, \"g\", 2);\n ɵngcc0.ɵɵtemplate(3, HeatMapComponent__svg_g_3_Template, 1, 8, \"g\", 3);\n ɵngcc0.ɵɵtemplate(4, HeatMapComponent__svg_rect_4_Template, 1, 6, \"rect\", 4);\n ɵngcc0.ɵɵelementStart(5, \"g\", 5);\n ɵngcc0.ɵɵlistener(\"select\", function HeatMapComponent_Template__svg_g_select_5_listener($event) { return ctx.onClick($event); })(\"activate\", function HeatMapComponent_Template__svg_g_activate_5_listener($event) { return ctx.onActivate($event, undefined); })(\"deactivate\", function HeatMapComponent_Template__svg_g_deactivate_5_listener($event) { return ctx.onDeactivate($event, undefined); });\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(17, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"animations\", ctx.animations)(\"legendOptions\", ctx.legendOptions);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.rects);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"xScale\", ctx.xScale)(\"yScale\", ctx.yScale)(\"colors\", ctx.colors)(\"data\", ctx.results)(\"gradient\", ctx.gradient)(\"animations\", ctx.animations)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipText\", ctx.tooltipText);\n } }, dependencies: [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, ChartComponent, HeatCellSeriesComponent], styles: [_c24], encapsulation: 2, changeDetection: 0 });\nHeatMapComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n gradient: [{ type: Input }],\n innerPadding: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipText: [{ type: Input }],\n min: [{ type: Input }],\n max: [{ type: Input }],\n activeEntries: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HeatMapComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-heat-map', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [animations]=\"animations\"\n [legendOptions]=\"legendOptions\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"heat-map chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:rect\n *ngFor=\"let rect of rects\"\n [attr.x]=\"rect.x\"\n [attr.y]=\"rect.y\"\n [attr.rx]=\"rect.rx\"\n [attr.width]=\"rect.width\"\n [attr.height]=\"rect.height\"\n [attr.fill]=\"rect.fill\"\n />\n <svg:g\n ngx-charts-heat-map-cell-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"results\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipText]=\"tooltipText\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event, undefined)\"\n (deactivate)=\"onDeactivate($event, undefined)\"\n />\n </svg:g>\n </ngx-charts-chart>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], innerPadding: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], legend: [{\n type: Input\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], gradient: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], tooltipText: [{\n type: Input\n }], min: [{\n type: Input\n }], max: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass HeatMapModule {\n}\nHeatMapModule.ɵfac = function HeatMapModule_Factory(t) { return new (t || HeatMapModule)(); };\nHeatMapModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: HeatMapModule });\nHeatMapModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HeatMapModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule],\n declarations: [HeatMapCellComponent, HeatCellSeriesComponent, HeatMapComponent],\n exports: [HeatMapCellComponent, HeatCellSeriesComponent, HeatMapComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(HeatMapModule, { declarations: [HeatMapCellComponent, HeatCellSeriesComponent, HeatMapComponent], imports: [ChartCommonModule], exports: [HeatMapCellComponent, HeatCellSeriesComponent, HeatMapComponent] }); })();\n\nclass LineComponent {\n constructor(element) {\n this.element = element;\n this.fill = 'none';\n this.animations = true;\n // @Output() select = new EventEmitter();\n this.initialized = false;\n }\n ngOnChanges(changes) {\n if (!this.initialized) {\n this.initialized = true;\n this.initialPath = this.path;\n }\n else {\n this.updatePathEl();\n }\n }\n updatePathEl() {\n const node = select(this.element.nativeElement).select('.line');\n if (this.animations) {\n node.transition().duration(750).attr('d', this.path);\n }\n else {\n node.attr('d', this.path);\n }\n }\n}\nLineComponent.ɵfac = function LineComponent_Factory(t) { return new (t || LineComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nLineComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: LineComponent, selectors: [[\"g\", \"ngx-charts-line\", \"\"]], inputs: { fill: \"fill\", animations: \"animations\", path: \"path\", stroke: \"stroke\", data: \"data\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c36, decls: 1, vars: 4, consts: [[\"stroke-width\", \"1.5px\", 1, \"line\"]], template: function LineComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"path\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"@animationState\", \"active\");\n ɵngcc0.ɵɵattribute(\"d\", ctx.initialPath)(\"fill\", ctx.fill)(\"stroke\", ctx.stroke);\n } }, encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':enter', [\n style({\n strokeDasharray: 2000,\n strokeDashoffset: 2000\n }),\n animate(1000, style({\n strokeDashoffset: 0\n }))\n ])\n ])\n ] }, changeDetection: 0 });\nLineComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nLineComponent.propDecorators = {\n path: [{ type: Input }],\n stroke: [{ type: Input }],\n data: [{ type: Input }],\n fill: [{ type: Input }],\n animations: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LineComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-line]',\n template: `\n <svg:path\n [@animationState]=\"'active'\"\n class=\"line\"\n [attr.d]=\"initialPath\"\n [attr.fill]=\"fill\"\n [attr.stroke]=\"stroke\"\n stroke-width=\"1.5px\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('animationState', [\n transition(':enter', [\n style({\n strokeDasharray: 2000,\n strokeDashoffset: 2000\n }),\n animate(1000, style({\n strokeDashoffset: 0\n }))\n ])\n ])\n ]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { fill: [{\n type: Input\n }], animations: [{\n type: Input\n }], path: [{\n type: Input\n }], stroke: [{\n type: Input\n }], data: [{\n type: Input\n }] }); })();\n\nclass LineChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.showRefLines = false;\n this.showRefLabels = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (this.scaleType === ScaleType.Time || this.scaleType === ScaleType.Linear) {\n min = this.xScaleMin ? this.xScaleMin : Math.min(...values);\n max = this.xScaleMax ? this.xScaleMax : Math.max(...values);\n }\n if (this.scaleType === ScaleType.Time) {\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate)\n return 1;\n if (bDate > aDate)\n return -1;\n return 0;\n });\n }\n else if (this.scaleType === ScaleType.Linear) {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n }\n else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (domain.indexOf(d.value) < 0) {\n domain.push(d.value);\n }\n if (d.min !== undefined) {\n this.hasRange = true;\n if (domain.indexOf(d.min) < 0) {\n domain.push(d.min);\n }\n }\n if (d.max !== undefined) {\n this.hasRange = true;\n if (domain.indexOf(d.max) < 0) {\n domain.push(d.max);\n }\n }\n }\n }\n const values = [...domain];\n if (!this.autoScale) {\n values.push(0);\n }\n const min = this.yScaleMin ? this.yScaleMin : Math.min(...values);\n const max = this.yScaleMax ? this.yScaleMax : Math.max(...values);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === ScaleType.Time) {\n scale = scaleTime().range([0, width]).domain(domain);\n }\n else if (this.scaleType === ScaleType.Linear) {\n scale = scaleLinear().range([0, width]).domain(domain);\n if (this.roundDomains) {\n scale = scale.nice();\n }\n }\n else if (this.scaleType === ScaleType.Ordinal) {\n scale = scalePoint().range([0, width]).padding(0.1).domain(domain);\n }\n return scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data) {\n this.select.emit(data);\n }\n trackBy(index, item) {\n return `${item.name}`;\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.seriesDomain;\n }\n else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n }\n else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n this.deactivateAll();\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n}\nLineChartComponent.ɵfac = /*@__PURE__*/ function () { let ɵLineChartComponent_BaseFactory; return function LineChartComponent_Factory(t) { return (ɵLineChartComponent_BaseFactory || (ɵLineChartComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(LineChartComponent)))(t || LineChartComponent); }; }();\nLineChartComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: LineChartComponent, selectors: [[\"ngx-charts-line-chart\"]], contentQueries: function LineChartComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c22, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.seriesTooltipTemplate = _t.first);\n } }, hostBindings: function LineChartComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseleave\", function LineChartComponent_mouseleave_HostBindingHandler() { return ctx.hideCircles(); });\n } }, inputs: { legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", showGridLines: \"showGridLines\", curve: \"curve\", activeEntries: \"activeEntries\", trimXAxisTicks: \"trimXAxisTicks\", trimYAxisTicks: \"trimYAxisTicks\", rotateXAxisTicks: \"rotateXAxisTicks\", maxXAxisTickLength: \"maxXAxisTickLength\", maxYAxisTickLength: \"maxYAxisTickLength\", roundDomains: \"roundDomains\", tooltipDisabled: \"tooltipDisabled\", showRefLines: \"showRefLines\", showRefLabels: \"showRefLabels\", legend: \"legend\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", autoScale: \"autoScale\", timeline: \"timeline\", gradient: \"gradient\", schemeType: \"schemeType\", rangeFillOpacity: \"rangeFillOpacity\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\", xAxisTicks: \"xAxisTicks\", yAxisTicks: \"yAxisTicks\", referenceLines: \"referenceLines\", xScaleMin: \"xScaleMin\", xScaleMax: \"xScaleMax\", yScaleMin: \"yScaleMin\", yScaleMax: \"yScaleMax\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 11, vars: 20, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\"], [1, \"line-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"referenceLines\", \"showRefLines\", \"showRefLabels\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [3, \"mouseleave\", 4, \"ngIf\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"scaleType\", \"legend\", \"onDomainChange\", 4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"referenceLines\", \"showRefLines\", \"showRefLabels\", \"dimensionsChanged\"], [\"ngx-charts-line-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"activeEntries\", \"scaleType\", \"curve\", \"rangeFillOpacity\", \"hasRange\", \"animations\"], [3, \"mouseleave\"], [\"ngx-charts-tooltip-area\", \"\", 3, \"dims\", \"xSet\", \"xScale\", \"yScale\", \"results\", \"colors\", \"tooltipDisabled\", \"tooltipTemplate\", \"hover\"], [4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-circle-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"visibleValue\", \"activeEntries\", \"tooltipDisabled\", \"tooltipTemplate\", \"select\", \"activate\", \"deactivate\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"scaleType\", \"legend\", \"onDomainChange\"], [\"ngx-charts-line-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"curve\", \"hasRange\", \"animations\"]], template: function LineChartComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function LineChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); })(\"legendLabelActivate\", function LineChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event); })(\"legendLabelDeactivate\", function LineChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"defs\")(2, \"clipPath\");\n ɵngcc0.ɵɵelement(3, \"rect\");\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(4, \"g\", 1);\n ɵngcc0.ɵɵtemplate(5, LineChartComponent__svg_g_5_Template, 1, 10, \"g\", 2);\n ɵngcc0.ɵɵtemplate(6, LineChartComponent__svg_g_6_Template, 1, 12, \"g\", 3);\n ɵngcc0.ɵɵelementStart(7, \"g\");\n ɵngcc0.ɵɵtemplate(8, LineChartComponent__svg_g_8_Template, 2, 11, \"g\", 4);\n ɵngcc0.ɵɵtemplate(9, LineChartComponent__svg_g_9_Template, 3, 9, \"g\", 5);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵtemplate(10, LineChartComponent__svg_g_10_Template, 2, 13, \"g\", 6);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(17, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵattribute(\"id\", ctx.clipPathId);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"width\", ctx.dims.width + 10)(\"height\", ctx.dims.height + 10)(\"transform\", \"translate(-5, -5)\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"clip-path\", ctx.clipPath);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx.tooltipDisabled);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.timeline && ctx.scaleType != \"ordinal\");\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, XAxisComponent, YAxisComponent, TooltipArea, ChartComponent, CircleSeriesComponent, Timeline, LineSeriesComponent]; }, styles: [_c24], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({\n opacity: 0\n }))\n ])\n ])\n ] }, changeDetection: 0 });\nLineChartComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n autoScale: [{ type: Input }],\n timeline: [{ type: Input }],\n gradient: [{ type: Input }],\n showGridLines: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n rangeFillOpacity: [{ type: Input }],\n trimXAxisTicks: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n rotateXAxisTicks: [{ type: Input }],\n maxXAxisTickLength: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n xAxisTicks: [{ type: Input }],\n yAxisTicks: [{ type: Input }],\n roundDomains: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n showRefLines: [{ type: Input }],\n referenceLines: [{ type: Input }],\n showRefLabels: [{ type: Input }],\n xScaleMin: [{ type: Input }],\n xScaleMax: [{ type: Input }],\n yScaleMin: [{ type: Input }],\n yScaleMax: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n seriesTooltipTemplate: [{ type: ContentChild, args: ['seriesTooltipTemplate',] }],\n hideCircles: [{ type: HostListener, args: ['mouseleave',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LineChartComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-line-chart', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:defs>\n <svg:clipPath [attr.id]=\"clipPathId\">\n <svg:rect\n [attr.width]=\"dims.width + 10\"\n [attr.height]=\"dims.height + 10\"\n [attr.transform]=\"'translate(-5, -5)'\"\n />\n </svg:clipPath>\n </svg:defs>\n <svg:g [attr.transform]=\"transform\" class=\"line-chart chart\">\n <svg:g\n ngx-charts-x-axis\n *ngIf=\"xAxis\"\n [xScale]=\"xScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showXAxisLabel\"\n [labelText]=\"xAxisLabel\"\n [trimTicks]=\"trimXAxisTicks\"\n [rotateTicks]=\"rotateXAxisTicks\"\n [maxTickLength]=\"maxXAxisTickLength\"\n [tickFormatting]=\"xAxisTickFormatting\"\n [ticks]=\"xAxisTicks\"\n (dimensionsChanged)=\"updateXAxisHeight($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-y-axis\n *ngIf=\"yAxis\"\n [yScale]=\"yScale\"\n [dims]=\"dims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n [ticks]=\"yAxisTicks\"\n [referenceLines]=\"referenceLines\"\n [showRefLines]=\"showRefLines\"\n [showRefLabels]=\"showRefLabels\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g [attr.clip-path]=\"clipPath\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\" [@animationState]=\"'active'\">\n <svg:g\n ngx-charts-line-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [scaleType]=\"scaleType\"\n [curve]=\"curve\"\n [rangeFillOpacity]=\"rangeFillOpacity\"\n [hasRange]=\"hasRange\"\n [animations]=\"animations\"\n />\n </svg:g>\n\n <svg:g *ngIf=\"!tooltipDisabled\" (mouseleave)=\"hideCircles()\">\n <svg:g\n ngx-charts-tooltip-area\n [dims]=\"dims\"\n [xSet]=\"xSet\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [results]=\"results\"\n [colors]=\"colors\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"seriesTooltipTemplate\"\n (hover)=\"updateHoveredVertical($event)\"\n />\n\n <svg:g *ngFor=\"let series of results\">\n <svg:g\n ngx-charts-circle-series\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [visibleValue]=\"hoveredVertical\"\n [activeEntries]=\"activeEntries\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-timeline\n *ngIf=\"timeline && scaleType != 'ordinal'\"\n [attr.transform]=\"timelineTransform\"\n [results]=\"results\"\n [view]=\"[timelineWidth, height]\"\n [height]=\"timelineHeight\"\n [scheme]=\"scheme\"\n [customColors]=\"customColors\"\n [scaleType]=\"scaleType\"\n [legend]=\"legend\"\n (onDomainChange)=\"updateDomain($event)\"\n >\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\">\n <svg:g\n ngx-charts-line-series\n [xScale]=\"timelineXScale\"\n [yScale]=\"timelineYScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [scaleType]=\"scaleType\"\n [curve]=\"curve\"\n [hasRange]=\"hasRange\"\n [animations]=\"animations\"\n />\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({\n opacity: 0\n }))\n ])\n ])\n ], styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"] }]\n }], null, { legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], curve: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], trimXAxisTicks: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], rotateXAxisTicks: [{\n type: Input\n }], maxXAxisTickLength: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], showRefLines: [{\n type: Input\n }], showRefLabels: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], hideCircles: [{\n type: HostListener,\n args: ['mouseleave']\n }], legend: [{\n type: Input\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], autoScale: [{\n type: Input\n }], timeline: [{\n type: Input\n }], gradient: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], rangeFillOpacity: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], xAxisTicks: [{\n type: Input\n }], yAxisTicks: [{\n type: Input\n }], referenceLines: [{\n type: Input\n }], xScaleMin: [{\n type: Input\n }], xScaleMax: [{\n type: Input\n }], yScaleMin: [{\n type: Input\n }], yScaleMax: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }], seriesTooltipTemplate: [{\n type: ContentChild,\n args: ['seriesTooltipTemplate']\n }] }); })();\n\nclass LineSeriesComponent {\n constructor() {\n this.animations = true;\n this.barOrientation = BarOrientation;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateGradients();\n const data = this.sortData(this.data.series);\n const lineGen = this.getLineGenerator();\n this.path = lineGen(data) || '';\n const areaGen = this.getAreaGenerator();\n this.areaPath = areaGen(data) || '';\n if (this.hasRange) {\n const range = this.getRangeGenerator();\n this.outerPath = range(data) || '';\n }\n if (this.hasGradient) {\n this.stroke = this.gradientUrl;\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n const min = Math.min(...values);\n if (max === min) {\n this.stroke = this.colors.getColor(max);\n }\n }\n else {\n this.stroke = this.colors.getColor(this.data.name);\n }\n }\n getLineGenerator() {\n return line()\n .x(d => {\n const label = d.name;\n let value;\n if (this.scaleType === ScaleType.Time) {\n value = this.xScale(label);\n }\n else if (this.scaleType === ScaleType.Linear) {\n value = this.xScale(Number(label));\n }\n else {\n value = this.xScale(label);\n }\n return value;\n })\n .y(d => this.yScale(d.value))\n .curve(this.curve);\n }\n getRangeGenerator() {\n return area()\n .x(d => {\n const label = d.name;\n let value;\n if (this.scaleType === ScaleType.Time) {\n value = this.xScale(label);\n }\n else if (this.scaleType === ScaleType.Linear) {\n value = this.xScale(Number(label));\n }\n else {\n value = this.xScale(label);\n }\n return value;\n })\n .y0(d => this.yScale(typeof d.min === 'number' ? d.min : d.value))\n .y1(d => this.yScale(typeof d.max === 'number' ? d.max : d.value))\n .curve(this.curve);\n }\n getAreaGenerator() {\n const xProperty = d => {\n const label = d.name;\n return this.xScale(label);\n };\n return area()\n .x(xProperty)\n .y0(() => this.yScale.range()[0])\n .y1(d => this.yScale(d.value))\n .curve(this.curve);\n }\n sortData(data) {\n if (this.scaleType === ScaleType.Linear) {\n data = sortLinear(data, 'name');\n }\n else if (this.scaleType === ScaleType.Time) {\n data = sortByTime(data, 'name');\n }\n else {\n data = sortByDomain(data, 'name', 'asc', this.xScale.domain());\n }\n return data;\n }\n updateGradients() {\n if (this.colors.scaleType === ScaleType.Linear) {\n this.hasGradient = true;\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n const min = Math.min(...values);\n this.gradientStops = this.colors.getLinearGradientStops(max, min);\n this.areaGradientStops = this.colors.getLinearGradientStops(max);\n }\n else {\n this.hasGradient = false;\n this.gradientStops = undefined;\n this.areaGradientStops = undefined;\n }\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isInactive(entry) {\n if (!this.activeEntries || this.activeEntries.length === 0)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item === undefined;\n }\n}\nLineSeriesComponent.ɵfac = function LineSeriesComponent_Factory(t) { return new (t || LineSeriesComponent)(); };\nLineSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: LineSeriesComponent, selectors: [[\"g\", \"ngx-charts-line-series\", \"\"]], inputs: { animations: \"animations\", data: \"data\", xScale: \"xScale\", yScale: \"yScale\", colors: \"colors\", scaleType: \"scaleType\", curve: \"curve\", activeEntries: \"activeEntries\", rangeFillOpacity: \"rangeFillOpacity\", hasRange: \"hasRange\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c37, decls: 6, vars: 22, consts: [[\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\", 4, \"ngIf\"], [\"ngx-charts-area\", \"\", 1, \"line-highlight\", 3, \"data\", \"path\", \"fill\", \"opacity\", \"startOpacity\", \"gradient\", \"stops\", \"animations\"], [\"ngx-charts-line\", \"\", 1, \"line-series\", 3, \"data\", \"path\", \"stroke\", \"animations\"], [\"ngx-charts-area\", \"\", \"class\", \"line-series-range\", 3, \"data\", \"path\", \"fill\", \"active\", \"inactive\", \"opacity\", \"animations\", 4, \"ngIf\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"], [\"ngx-charts-area\", \"\", 1, \"line-series-range\", 3, \"data\", \"path\", \"fill\", \"opacity\", \"animations\"]], template: function LineSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\")(1, \"defs\");\n ɵngcc0.ɵɵtemplate(2, LineSeriesComponent__svg_g_2_Template, 1, 3, \"g\", 0);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(3, \"g\", 1)(4, \"g\", 2);\n ɵngcc0.ɵɵtemplate(5, LineSeriesComponent__svg_g_5_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.hasGradient);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"active\", ctx.isActive(ctx.data))(\"inactive\", ctx.isInactive(ctx.data));\n ɵngcc0.ɵɵproperty(\"data\", ctx.data)(\"path\", ctx.areaPath)(\"fill\", ctx.hasGradient ? ctx.gradientUrl : ctx.colors.getColor(ctx.data.name))(\"opacity\", 0.25)(\"startOpacity\", 0)(\"gradient\", true)(\"stops\", ctx.areaGradientStops)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"active\", ctx.isActive(ctx.data))(\"inactive\", ctx.isInactive(ctx.data));\n ɵngcc0.ɵɵproperty(\"data\", ctx.data)(\"path\", ctx.path)(\"stroke\", ctx.stroke)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.hasRange);\n } }, dependencies: [ɵngcc1.NgIf, AreaComponent, SvgLinearGradientComponent, LineComponent], encapsulation: 2, changeDetection: 0 });\nLineSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n scaleType: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n rangeFillOpacity: [{ type: Input }],\n hasRange: [{ type: Input }],\n animations: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LineSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-line-series]',\n template: `\n <svg:g>\n <defs>\n <svg:g\n ngx-charts-svg-linear-gradient\n *ngIf=\"hasGradient\"\n [orientation]=\"barOrientation.Vertical\"\n [name]=\"gradientId\"\n [stops]=\"gradientStops\"\n />\n </defs>\n <svg:g\n ngx-charts-area\n class=\"line-highlight\"\n [data]=\"data\"\n [path]=\"areaPath\"\n [fill]=\"hasGradient ? gradientUrl : colors.getColor(data.name)\"\n [opacity]=\"0.25\"\n [startOpacity]=\"0\"\n [gradient]=\"true\"\n [stops]=\"areaGradientStops\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n [animations]=\"animations\"\n />\n <svg:g\n ngx-charts-line\n class=\"line-series\"\n [data]=\"data\"\n [path]=\"path\"\n [stroke]=\"stroke\"\n [animations]=\"animations\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n />\n <svg:g\n ngx-charts-area\n *ngIf=\"hasRange\"\n class=\"line-series-range\"\n [data]=\"data\"\n [path]=\"outerPath\"\n [fill]=\"hasGradient ? gradientUrl : colors.getColor(data.name)\"\n [class.active]=\"isActive(data)\"\n [class.inactive]=\"isInactive(data)\"\n [opacity]=\"rangeFillOpacity\"\n [animations]=\"animations\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { animations: [{\n type: Input\n }], data: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], colors: [{\n type: Input\n }], scaleType: [{\n type: Input\n }], curve: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], rangeFillOpacity: [{\n type: Input\n }], hasRange: [{\n type: Input\n }] }); })();\n\nclass LineChartModule {\n}\nLineChartModule.ɵfac = function LineChartModule_Factory(t) { return new (t || LineChartModule)(); };\nLineChartModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: LineChartModule });\nLineChartModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LineChartModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule],\n declarations: [LineComponent, LineChartComponent, LineSeriesComponent],\n exports: [LineComponent, LineChartComponent, LineSeriesComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(LineChartModule, { declarations: [LineComponent, LineChartComponent, LineSeriesComponent], imports: [ChartCommonModule], exports: [LineComponent, LineChartComponent, LineSeriesComponent] }); })();\n\nconst twoPI = 2 * Math.PI;\nclass PolarChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.showGridLines = true;\n this.curve = curveCardinalClosed;\n this.activeEntries = [];\n this.rangeFillOpacity = 0.15;\n this.trimYAxisTicks = true;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.showSeriesOnHover = true;\n this.gradient = false;\n this.yAxisMinScale = 0;\n this.labelTrim = true;\n this.labelTrimSize = 10;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n // series: any; // ???\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.orientation = Orientation;\n }\n update() {\n super.update();\n this.setDims();\n this.setScales();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.setTicks();\n }\n setDims() {\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n const halfWidth = Math.floor(this.dims.width / 2);\n const halfHeight = Math.floor(this.dims.height / 2);\n const outerRadius = (this.outerRadius = Math.min(halfHeight / 1.5, halfWidth / 1.5));\n const yOffset = Math.max(0, halfHeight - outerRadius);\n this.yAxisDims = Object.assign(Object.assign({}, this.dims), { width: halfWidth });\n this.transform = `translate(${this.dims.xOffset}, ${this.margin[0]})`;\n this.transformYAxis = `translate(0, ${yOffset})`;\n this.labelOffset = this.dims.height + 40;\n this.transformPlot = `translate(${halfWidth}, ${halfHeight})`;\n }\n setScales() {\n const xValues = this.getXValues();\n this.scaleType = getScaleType(xValues);\n this.xDomain = this.filteredDomain || this.getXDomain(xValues);\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, twoPI);\n this.yScale = this.getYScale(this.yDomain, this.outerRadius);\n this.yAxisScale = this.getYScale(this.yDomain.reverse(), this.outerRadius);\n }\n setTicks() {\n let tickFormat;\n if (this.xAxisTickFormatting) {\n tickFormat = this.xAxisTickFormatting;\n }\n else if (this.xScale.tickFormat) {\n tickFormat = this.xScale.tickFormat.apply(this.xScale, [5]);\n }\n else {\n tickFormat = d => {\n if (isDate(d)) {\n return d.toLocaleDateString();\n }\n return d.toLocaleString();\n };\n }\n const outerRadius = this.outerRadius;\n const s = 1.1;\n this.thetaTicks = this.xDomain.map(d => {\n const startAngle = this.xScale(d);\n const dd = s * outerRadius * (startAngle > Math.PI ? -1 : 1);\n const label = tickFormat(d);\n const startPos = [outerRadius * Math.sin(startAngle), -outerRadius * Math.cos(startAngle)];\n const pos = [dd, s * startPos[1]];\n return {\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle: startAngle,\n value: outerRadius,\n label,\n startPos,\n pos\n };\n });\n const minDistance = 10;\n /* from pie chart, abstract out -*/\n for (let i = 0; i < this.thetaTicks.length - 1; i++) {\n const a = this.thetaTicks[i];\n for (let j = i + 1; j < this.thetaTicks.length; j++) {\n const b = this.thetaTicks[j];\n // if they're on the same side\n if (b.pos[0] * a.pos[0] > 0) {\n // if they're overlapping\n const o = minDistance - Math.abs(b.pos[1] - a.pos[1]);\n if (o > 0) {\n // push the second up or down\n b.pos[1] += Math.sign(b.pos[0]) * o;\n }\n }\n }\n }\n this.radiusTicks = this.yAxisScale.ticks(Math.floor(this.dims.height / 50)).map(d => this.yScale(d));\n }\n getXValues() {\n const values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.name)) {\n values.push(d.name);\n }\n }\n }\n return values;\n }\n getXDomain(values = this.getXValues()) {\n if (this.scaleType === ScaleType.Time) {\n const min = Math.min(...values);\n const max = Math.max(...values);\n return [min, max];\n }\n else if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n const min = Math.min(...values);\n const max = Math.max(...values);\n return [min, max];\n }\n return values;\n }\n getYValues() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (domain.indexOf(d.value) < 0) {\n domain.push(d.value);\n }\n if (d.min !== undefined) {\n if (domain.indexOf(d.min) < 0) {\n domain.push(d.min);\n }\n }\n if (d.max !== undefined) {\n if (domain.indexOf(d.max) < 0) {\n domain.push(d.max);\n }\n }\n }\n }\n return domain;\n }\n getYDomain(domain = this.getYValues()) {\n let min = Math.min(...domain);\n const max = Math.max(this.yAxisMinScale, ...domain);\n min = Math.max(0, min);\n if (!this.autoScale) {\n min = Math.min(0, min);\n }\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n switch (this.scaleType) {\n case ScaleType.Time:\n return scaleTime().range([0, width]).domain(domain);\n case ScaleType.Linear:\n const scale = scaleLinear().range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n default:\n return scalePoint()\n .range([0, width - twoPI / domain.length])\n .padding(0)\n .domain(domain);\n }\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([0, height]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n setColors() {\n const domain = this.schemeType === ScaleType.Ordinal ? this.seriesDomain : this.yDomain.reverse();\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n if (this.schemeType === ScaleType.Ordinal) {\n return {\n scaleType: this.schemeType,\n colors: this.colors,\n domain: this.seriesDomain,\n title: this.legendTitle,\n position: this.legendPosition\n };\n }\n return {\n scaleType: this.schemeType,\n colors: this.colors.scale,\n domain: this.yDomain,\n title: undefined,\n position: this.legendPosition\n };\n }\n updateYAxisWidth({ width }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({ height }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = this.showSeriesOnHover ? [item, ...this.activeEntries] : this.activeEntries;\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({ value: entry, entries: [] });\n }\n this.activeEntries = [];\n }\n trackBy(index, item) {\n return `${item.name}`;\n }\n}\nPolarChartComponent.ɵfac = /*@__PURE__*/ function () { let ɵPolarChartComponent_BaseFactory; return function PolarChartComponent_Factory(t) { return (ɵPolarChartComponent_BaseFactory || (ɵPolarChartComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(PolarChartComponent)))(t || PolarChartComponent); }; }();\nPolarChartComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PolarChartComponent, selectors: [[\"ngx-charts-polar-chart\"]], contentQueries: function PolarChartComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", showGridLines: \"showGridLines\", curve: \"curve\", activeEntries: \"activeEntries\", rangeFillOpacity: \"rangeFillOpacity\", trimYAxisTicks: \"trimYAxisTicks\", maxYAxisTickLength: \"maxYAxisTickLength\", roundDomains: \"roundDomains\", tooltipDisabled: \"tooltipDisabled\", showSeriesOnHover: \"showSeriesOnHover\", gradient: \"gradient\", yAxisMinScale: \"yAxisMinScale\", labelTrim: \"labelTrim\", labelTrimSize: \"labelTrimSize\", legend: \"legend\", xAxis: \"xAxis\", yAxis: \"yAxis\", showXAxisLabel: \"showXAxisLabel\", showYAxisLabel: \"showYAxisLabel\", xAxisLabel: \"xAxisLabel\", yAxisLabel: \"yAxisLabel\", autoScale: \"autoScale\", schemeType: \"schemeType\", xAxisTickFormatting: \"xAxisTickFormatting\", yAxisTickFormatting: \"yAxisTickFormatting\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 10, vars: 18, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\"], [1, \"polar-chart\", \"chart\"], [\"cx\", \"0\", \"cy\", \"0\", 1, \"polar-chart-background\"], [4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"class\", \"gridline-path radial-gridline-path\", \"cx\", \"0\", \"cy\", \"0\", 4, \"ngFor\", \"ngForOf\"], [\"cx\", \"0\", \"cy\", \"0\", 1, \"gridline-path\", \"radial-gridline-path\"], [\"ngx-charts-pie-label\", \"\", 3, \"data\", \"radius\", \"label\", \"max\", \"value\", \"explodeSlices\", \"animations\", \"labelTrim\", \"labelTrimSize\", 4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-pie-label\", \"\", 3, \"data\", \"radius\", \"label\", \"max\", \"value\", \"explodeSlices\", \"animations\", \"labelTrim\", \"labelTrimSize\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"dimensionsChanged\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\"], [\"ngx-charts-polar-series\", \"\", 3, \"gradient\", \"xScale\", \"yScale\", \"colors\", \"data\", \"activeEntries\", \"scaleType\", \"curve\", \"rangeFillOpacity\", \"animations\", \"tooltipDisabled\", \"tooltipTemplate\", \"select\", \"activate\", \"deactivate\"]], template: function PolarChartComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function PolarChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); })(\"legendLabelActivate\", function PolarChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event); })(\"legendLabelDeactivate\", function PolarChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1)(2, \"g\");\n ɵngcc0.ɵɵelement(3, \"circle\", 2);\n ɵngcc0.ɵɵtemplate(4, PolarChartComponent__svg_g_4_Template, 2, 1, \"g\", 3);\n ɵngcc0.ɵɵtemplate(5, PolarChartComponent__svg_g_5_Template, 2, 1, \"g\", 3);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(6, PolarChartComponent__svg_g_6_Template, 1, 9, \"g\", 4);\n ɵngcc0.ɵɵtemplate(7, PolarChartComponent__svg_g_7_Template, 1, 5, \"g\", 5);\n ɵngcc0.ɵɵelementStart(8, \"g\");\n ɵngcc0.ɵɵtemplate(9, PolarChartComponent__svg_g_9_Template, 2, 13, \"g\", 6);\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(15, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transformPlot);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"r\", ctx.outerRadius);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showGridLines);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.xAxis && ctx.showXAxisLabel);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transformPlot);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, AxisLabelComponent, YAxisComponent, ChartComponent, PieLabelComponent, PolarSeriesComponent]; }, styles: [_c24, _c41, \".polar-chart .polar-chart-background{fill:none}.polar-chart .radial-gridline-path{stroke-dasharray:10 10;fill:none}.polar-chart .pie-label-line{stroke:#2f3646}.polar-charts-series .polar-series-area{pointer-events:none}.polar-series-path{pointer-events:none}\\n\"], encapsulation: 2, data: { animation: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({\n opacity: 0\n }))\n ])\n ])\n ] }, changeDetection: 0 });\nPolarChartComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n xAxis: [{ type: Input }],\n yAxis: [{ type: Input }],\n showXAxisLabel: [{ type: Input }],\n showYAxisLabel: [{ type: Input }],\n xAxisLabel: [{ type: Input }],\n yAxisLabel: [{ type: Input }],\n autoScale: [{ type: Input }],\n showGridLines: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n schemeType: [{ type: Input }],\n rangeFillOpacity: [{ type: Input }],\n trimYAxisTicks: [{ type: Input }],\n maxYAxisTickLength: [{ type: Input }],\n xAxisTickFormatting: [{ type: Input }],\n yAxisTickFormatting: [{ type: Input }],\n roundDomains: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n showSeriesOnHover: [{ type: Input }],\n gradient: [{ type: Input }],\n yAxisMinScale: [{ type: Input }],\n labelTrim: [{ type: Input }],\n labelTrimSize: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PolarChartComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-polar-chart', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:g class=\"polar-chart chart\" [attr.transform]=\"transform\">\n <svg:g [attr.transform]=\"transformPlot\">\n <svg:circle class=\"polar-chart-background\" cx=\"0\" cy=\"0\" [attr.r]=\"this.outerRadius\" />\n <svg:g *ngIf=\"showGridLines\">\n <svg:circle\n *ngFor=\"let r of radiusTicks\"\n class=\"gridline-path radial-gridline-path\"\n cx=\"0\"\n cy=\"0\"\n [attr.r]=\"r\"\n />\n </svg:g>\n <svg:g *ngIf=\"xAxis\">\n <svg:g\n ngx-charts-pie-label\n *ngFor=\"let tick of thetaTicks\"\n [data]=\"tick\"\n [radius]=\"outerRadius\"\n [label]=\"tick.label\"\n [max]=\"outerRadius\"\n [value]=\"showGridLines ? 1 : outerRadius\"\n [explodeSlices]=\"true\"\n [animations]=\"animations\"\n [labelTrim]=\"labelTrim\"\n [labelTrimSize]=\"labelTrimSize\"\n ></svg:g>\n </svg:g>\n </svg:g>\n <svg:g\n ngx-charts-y-axis\n [attr.transform]=\"transformYAxis\"\n *ngIf=\"yAxis\"\n [yScale]=\"yAxisScale\"\n [dims]=\"yAxisDims\"\n [showGridLines]=\"showGridLines\"\n [showLabel]=\"showYAxisLabel\"\n [labelText]=\"yAxisLabel\"\n [trimTicks]=\"trimYAxisTicks\"\n [maxTickLength]=\"maxYAxisTickLength\"\n [tickFormatting]=\"yAxisTickFormatting\"\n (dimensionsChanged)=\"updateYAxisWidth($event)\"\n ></svg:g>\n <svg:g\n ngx-charts-axis-label\n *ngIf=\"xAxis && showXAxisLabel\"\n [label]=\"xAxisLabel\"\n [offset]=\"labelOffset\"\n [orient]=\"orientation.Bottom\"\n [height]=\"dims.height\"\n [width]=\"dims.width\"\n ></svg:g>\n <svg:g [attr.transform]=\"transformPlot\">\n <svg:g *ngFor=\"let series of results; trackBy: trackBy\" [@animationState]=\"'active'\">\n <svg:g\n ngx-charts-polar-series\n [gradient]=\"gradient\"\n [xScale]=\"xScale\"\n [yScale]=\"yScale\"\n [colors]=\"colors\"\n [data]=\"series\"\n [activeEntries]=\"activeEntries\"\n [scaleType]=\"scaleType\"\n [curve]=\"curve\"\n [rangeFillOpacity]=\"rangeFillOpacity\"\n [animations]=\"animations\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [\n trigger('animationState', [\n transition(':leave', [\n style({\n opacity: 1\n }),\n animate(500, style({\n opacity: 0\n }))\n ])\n ])\n ], styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\", \".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:.75s ease-in fadeIn;animation:.75s ease-in fadeIn}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:3s linear drawOut;animation:3s linear drawOut;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\\n\", \".polar-chart .polar-chart-background{fill:none}.polar-chart .radial-gridline-path{stroke-dasharray:10 10;fill:none}.polar-chart .pie-label-line{stroke:#2f3646}.polar-charts-series .polar-series-area{pointer-events:none}.polar-series-path{pointer-events:none}\\n\"] }]\n }], null, { legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], showGridLines: [{\n type: Input\n }], curve: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], rangeFillOpacity: [{\n type: Input\n }], trimYAxisTicks: [{\n type: Input\n }], maxYAxisTickLength: [{\n type: Input\n }], roundDomains: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], showSeriesOnHover: [{\n type: Input\n }], gradient: [{\n type: Input\n }], yAxisMinScale: [{\n type: Input\n }], labelTrim: [{\n type: Input\n }], labelTrimSize: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], legend: [{\n type: Input\n }], xAxis: [{\n type: Input\n }], yAxis: [{\n type: Input\n }], showXAxisLabel: [{\n type: Input\n }], showYAxisLabel: [{\n type: Input\n }], xAxisLabel: [{\n type: Input\n }], yAxisLabel: [{\n type: Input\n }], autoScale: [{\n type: Input\n }], schemeType: [{\n type: Input\n }], xAxisTickFormatting: [{\n type: Input\n }], yAxisTickFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass PolarSeriesComponent {\n constructor() {\n this.tooltipDisabled = false;\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.circleRadius = 3;\n this.barOrientation = BarOrientation;\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateGradients();\n const line = this.getLineGenerator();\n const data = this.sortData(this.data.series);\n const seriesName = this.data.name;\n const linearScaleType = this.colors.scaleType === ScaleType.Linear;\n const min = this.yScale.domain()[0];\n this.seriesColor = this.colors.getColor(linearScaleType ? min : seriesName);\n this.path = line(data) || '';\n this.circles = data.map(d => {\n const a = this.getAngle(d);\n const r = this.getRadius(d);\n const value = d.value;\n const color = this.colors.getColor(linearScaleType ? Math.abs(value) : seriesName);\n const cData = Object.assign({}, d, {\n series: seriesName,\n value,\n name: d.name\n });\n return {\n data: cData,\n cx: r * Math.sin(a),\n cy: -r * Math.cos(a),\n value,\n color,\n label: d.name\n };\n });\n this.active = this.isActive(this.data);\n this.inactive = this.isInactive(this.data);\n this.tooltipText = this.tooltipText || (c => this.defaultTooltipText(c));\n }\n getAngle(d) {\n const label = d.name;\n if (this.scaleType === ScaleType.Time) {\n return this.xScale(label);\n }\n else if (this.scaleType === ScaleType.Linear) {\n return this.xScale(Number(label));\n }\n return this.xScale(label);\n }\n getRadius(d) {\n return this.yScale(d.value);\n }\n getLineGenerator() {\n return lineRadial()\n .angle(d => this.getAngle(d))\n .radius(d => this.getRadius(d))\n .curve(this.curve);\n }\n sortData(data) {\n if (this.scaleType === ScaleType.Linear) {\n return sortLinear(data, 'name');\n }\n else if (this.scaleType === ScaleType.Time) {\n return sortByTime(data, 'name');\n }\n return sortByDomain(data, 'name', 'asc', this.xScale.domain());\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isInactive(entry) {\n if (!this.activeEntries || this.activeEntries.length === 0)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item === undefined;\n }\n defaultTooltipText({ label, value }) {\n return `\n <span class=\"tooltip-label\">${escapeLabel(this.data.name)} • ${escapeLabel(label)}</span>\n <span class=\"tooltip-val\">${value.toLocaleString()}</span>\n `;\n }\n updateGradients() {\n this.hasGradient = this.gradient || this.colors.scaleType === ScaleType.Linear;\n if (!this.hasGradient) {\n return;\n }\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n if (this.colors.scaleType === ScaleType.Linear) {\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n const min = Math.min(...values);\n this.gradientStops = this.colors.getLinearGradientStops(max, min);\n }\n else {\n this.gradientStops = undefined;\n }\n }\n}\nPolarSeriesComponent.ɵfac = function PolarSeriesComponent_Factory(t) { return new (t || PolarSeriesComponent)(); };\nPolarSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PolarSeriesComponent, selectors: [[\"g\", \"ngx-charts-polar-series\", \"\"]], inputs: { tooltipDisabled: \"tooltipDisabled\", gradient: \"gradient\", animations: \"animations\", tooltipText: \"tooltipText\", name: \"name\", data: \"data\", xScale: \"xScale\", yScale: \"yScale\", colors: \"colors\", scaleType: \"scaleType\", curve: \"curve\", activeEntries: \"activeEntries\", rangeFillOpacity: \"rangeFillOpacity\", tooltipTemplate: \"tooltipTemplate\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c38, decls: 5, vars: 11, consts: [[1, \"polar-charts-series\"], [\"ngx-charts-svg-radial-gradient\", \"\", 3, \"color\", \"name\", \"startOpacity\", \"endOpacity\", \"stops\", 4, \"ngIf\"], [\"ngx-charts-line\", \"\", 1, \"polar-series-path\", 3, \"path\", \"stroke\", \"fill\", \"animations\"], [\"ngx-charts-circle\", \"\", \"class\", \"circle\", \"ngx-tooltip\", \"\", 3, \"cx\", \"cy\", \"r\", \"fill\", \"opacity\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\", 4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-svg-radial-gradient\", \"\", 3, \"color\", \"name\", \"startOpacity\", \"endOpacity\", \"stops\"], [\"ngx-charts-circle\", \"\", \"ngx-tooltip\", \"\", 1, \"circle\", 3, \"cx\", \"cy\", \"r\", \"fill\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\"]], template: function PolarSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 0)(1, \"defs\");\n ɵngcc0.ɵɵtemplate(2, PolarSeriesComponent__svg_g_2_Template, 1, 5, \"g\", 1);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(3, \"g\", 2);\n ɵngcc0.ɵɵtemplate(4, PolarSeriesComponent__svg_g_4_Template, 1, 12, \"g\", 3);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.hasGradient);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"active\", ctx.active)(\"inactive\", ctx.inactive);\n ɵngcc0.ɵɵproperty(\"path\", ctx.path)(\"stroke\", ctx.hasGradient ? ctx.gradientUrl : ctx.seriesColor)(\"fill\", ctx.hasGradient ? ctx.gradientUrl : ctx.seriesColor)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵattribute(\"fill-opacity\", ctx.rangeFillOpacity);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.circles);\n } }, dependencies: [ɵngcc1.NgForOf, ɵngcc1.NgIf, TooltipDirective, CircleComponent, SvgRadialGradientComponent, LineComponent], encapsulation: 2, changeDetection: 0 });\nPolarSeriesComponent.propDecorators = {\n name: [{ type: Input }],\n data: [{ type: Input }],\n xScale: [{ type: Input }],\n yScale: [{ type: Input }],\n colors: [{ type: Input }],\n scaleType: [{ type: Input }],\n curve: [{ type: Input }],\n activeEntries: [{ type: Input }],\n rangeFillOpacity: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipText: [{ type: Input }],\n gradient: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PolarSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-polar-series]',\n template: `\n <svg:g class=\"polar-charts-series\">\n <defs>\n <svg:g\n ngx-charts-svg-radial-gradient\n *ngIf=\"hasGradient\"\n [color]=\"seriesColor\"\n [name]=\"gradientId\"\n [startOpacity]=\"0.25\"\n [endOpacity]=\"1\"\n [stops]=\"gradientStops\"\n />\n </defs>\n <svg:g\n ngx-charts-line\n class=\"polar-series-path\"\n [path]=\"path\"\n [stroke]=\"hasGradient ? gradientUrl : seriesColor\"\n [class.active]=\"active\"\n [class.inactive]=\"inactive\"\n [attr.fill-opacity]=\"rangeFillOpacity\"\n [fill]=\"hasGradient ? gradientUrl : seriesColor\"\n [animations]=\"animations\"\n />\n <svg:g\n ngx-charts-circle\n *ngFor=\"let circle of circles\"\n class=\"circle\"\n [cx]=\"circle.cx\"\n [cy]=\"circle.cy\"\n [r]=\"circleRadius\"\n [fill]=\"circle.color\"\n [style.opacity]=\"inactive ? 0.2 : 1\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"placementTypes.Top\"\n [tooltipType]=\"styleTypes.tooltip\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText(circle)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"circle.data\"\n (select)=\"select.emit(circle.data)\"\n (activate)=\"activate.emit({ name: circle.data.series })\"\n (deactivate)=\"deactivate.emit({ name: circle.data.series })\"\n ></svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { tooltipDisabled: [{\n type: Input\n }], gradient: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], tooltipText: [{\n type: Input\n }], name: [{\n type: Input\n }], data: [{\n type: Input\n }], xScale: [{\n type: Input\n }], yScale: [{\n type: Input\n }], colors: [{\n type: Input\n }], scaleType: [{\n type: Input\n }], curve: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], rangeFillOpacity: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }] }); })();\n\nclass AdvancedPieChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.activeEntries = [];\n this.tooltipDisabled = false;\n this.label = 'Total';\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [20, 20, 20, 20];\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: (this.width * 4) / 12.0,\n height: this.height,\n margins: this.margin\n });\n this.formatDates();\n this.domain = this.getDomain();\n this.setColors();\n const xOffset = this.dims.width / 2;\n const yOffset = this.margin[0] + this.dims.height / 2;\n this.legendWidth = this.width - this.dims.width - this.margin[1];\n this.outerRadius = Math.min(this.dims.width, this.dims.height) / 2.5;\n this.innerRadius = this.outerRadius * 0.75;\n this.transform = `translate(${xOffset} , ${yOffset})`;\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nAdvancedPieChartComponent.ɵfac = /*@__PURE__*/ function () { let ɵAdvancedPieChartComponent_BaseFactory; return function AdvancedPieChartComponent_Factory(t) { return (ɵAdvancedPieChartComponent_BaseFactory || (ɵAdvancedPieChartComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(AdvancedPieChartComponent)))(t || AdvancedPieChartComponent); }; }();\nAdvancedPieChartComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AdvancedPieChartComponent, selectors: [[\"ngx-charts-advanced-pie-chart\"]], contentQueries: function AdvancedPieChartComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { activeEntries: \"activeEntries\", tooltipDisabled: \"tooltipDisabled\", label: \"label\", gradient: \"gradient\", tooltipText: \"tooltipText\", valueFormatting: \"valueFormatting\", nameFormatting: \"nameFormatting\", percentageFormatting: \"percentageFormatting\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 7, vars: 37, consts: [[1, \"advanced-pie\", \"chart\"], [3, \"view\", \"showLegend\", \"animations\"], [1, \"pie\", \"chart\"], [\"ngx-charts-pie-series\", \"\", 3, \"colors\", \"series\", \"innerRadius\", \"activeEntries\", \"outerRadius\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"tooltipText\", \"animations\", \"select\", \"activate\", \"deactivate\"], [1, \"advanced-pie-legend-wrapper\"], [3, \"data\", \"colors\", \"width\", \"label\", \"animations\", \"valueFormatting\", \"labelFormatting\", \"percentageFormatting\", \"select\", \"activate\", \"deactivate\"]], template: function AdvancedPieChartComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\")(1, \"div\", 0)(2, \"ngx-charts-chart\", 1);\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(3, \"g\", 2)(4, \"g\", 3);\n ɵngcc0.ɵɵlistener(\"select\", function AdvancedPieChartComponent_Template__svg_g_select_4_listener($event) { return ctx.onClick($event); })(\"activate\", function AdvancedPieChartComponent_Template__svg_g_activate_4_listener($event) { return ctx.onActivate($event); })(\"deactivate\", function AdvancedPieChartComponent_Template__svg_g_deactivate_4_listener($event) { return ctx.onDeactivate($event); });\n ɵngcc0.ɵɵelementEnd()()()();\n ɵngcc0.ɵɵnamespaceHTML();\n ɵngcc0.ɵɵelementStart(5, \"div\", 4)(6, \"ngx-charts-advanced-legend\", 5);\n ɵngcc0.ɵɵlistener(\"select\", function AdvancedPieChartComponent_Template_ngx_charts_advanced_legend_select_6_listener($event) { return ctx.onClick($event); })(\"activate\", function AdvancedPieChartComponent_Template_ngx_charts_advanced_legend_activate_6_listener($event) { return ctx.onActivate($event, true); })(\"deactivate\", function AdvancedPieChartComponent_Template_ngx_charts_advanced_legend_deactivate_6_listener($event) { return ctx.onDeactivate($event, true); });\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.width, \"px\")(\"height\", ctx.height, \"px\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.dims.width, \"px\")(\"height\", ctx.dims.height, \"px\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(34, _c23, ctx.width, ctx.height))(\"showLegend\", false)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"colors\", ctx.colors)(\"series\", ctx.results)(\"innerRadius\", ctx.innerRadius)(\"activeEntries\", ctx.activeEntries)(\"outerRadius\", ctx.outerRadius)(\"gradient\", ctx.gradient)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipText\", ctx.tooltipText)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.width - ctx.dims.width, \"px\")(\"height\", ctx.height, \"px\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"data\", ctx.results)(\"colors\", ctx.colors)(\"width\", ctx.width - ctx.dims.width - ctx.margin[1])(\"label\", ctx.label)(\"animations\", ctx.animations)(\"valueFormatting\", ctx.valueFormatting)(\"labelFormatting\", ctx.nameFormatting)(\"percentageFormatting\", ctx.percentageFormatting);\n } }, dependencies: function () { return [ChartComponent, AdvancedLegendComponent, PieSeriesComponent]; }, styles: [_c24, \".advanced-pie{display:inline-block;float:left}.advanced-pie-legend-wrapper{display:inline-block}\\n\"], encapsulation: 2, changeDetection: 0 });\nAdvancedPieChartComponent.propDecorators = {\n gradient: [{ type: Input }],\n activeEntries: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipText: [{ type: Input }],\n label: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n valueFormatting: [{ type: Input }],\n nameFormatting: [{ type: Input }],\n percentageFormatting: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AdvancedPieChartComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-advanced-pie-chart', template: `\n <div [style.width.px]=\"width\" [style.height.px]=\"height\">\n <div class=\"advanced-pie chart\" [style.width.px]=\"dims.width\" [style.height.px]=\"dims.height\">\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"pie chart\">\n <svg:g\n ngx-charts-pie-series\n [colors]=\"colors\"\n [series]=\"results\"\n [innerRadius]=\"innerRadius\"\n [activeEntries]=\"activeEntries\"\n [outerRadius]=\"outerRadius\"\n [gradient]=\"gradient\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipText]=\"tooltipText\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n [animations]=\"animations\"\n ></svg:g>\n </svg:g>\n </ngx-charts-chart>\n </div>\n <div class=\"advanced-pie-legend-wrapper\" [style.width.px]=\"width - dims.width\" [style.height.px]=\"height\">\n <ngx-charts-advanced-legend\n [data]=\"results\"\n [colors]=\"colors\"\n [width]=\"width - dims.width - margin[1]\"\n [label]=\"label\"\n [animations]=\"animations\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"nameFormatting\"\n [percentageFormatting]=\"percentageFormatting\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event, true)\"\n (deactivate)=\"onDeactivate($event, true)\"\n >\n </ngx-charts-advanced-legend>\n </div>\n </div>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\", \".advanced-pie{display:inline-block;float:left}.advanced-pie-legend-wrapper{display:inline-block}\\n\"] }]\n }], null, { activeEntries: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], label: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], gradient: [{\n type: Input\n }], tooltipText: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }], valueFormatting: [{\n type: Input\n }], nameFormatting: [{\n type: Input\n }], percentageFormatting: [{\n type: Input\n }] }); })();\n\nclass PieLabelComponent {\n constructor(platformId) {\n this.platformId = platformId;\n this.animations = true;\n this.labelTrim = true;\n this.labelTrimSize = 10;\n this.trimLabel = trimLabel;\n }\n ngOnChanges(changes) {\n this.setTransforms();\n this.update();\n }\n setTransforms() {\n if (isPlatformServer(this.platformId)) {\n this.styleTransform = `translate3d(${this.textX}px,${this.textY}px, 0)`;\n this.attrTransform = `translate(${this.textX},${this.textY})`;\n this.textTransition = !this.animations ? null : 'transform 0.75s';\n }\n else {\n const isIE = /(edge|msie|trident)/i.test(navigator.userAgent);\n this.styleTransform = isIE ? null : `translate3d(${this.textX}px,${this.textY}px, 0)`;\n this.attrTransform = !isIE ? null : `translate(${this.textX},${this.textY})`;\n this.textTransition = isIE || !this.animations ? null : 'transform 0.75s';\n }\n }\n update() {\n let startRadius = this.radius;\n if (this.explodeSlices) {\n startRadius = (this.radius * this.value) / this.max;\n }\n const innerArc = arc().innerRadius(startRadius).outerRadius(startRadius);\n // Calculate innerPos then scale outer position to match label position\n const innerPos = innerArc.centroid(this.data);\n let scale = this.data.pos[1] / innerPos[1];\n if (this.data.pos[1] === 0 || innerPos[1] === 0) {\n scale = 1;\n }\n const outerPos = [scale * innerPos[0], scale * innerPos[1]];\n this.line = `M${innerPos}L${outerPos}L${this.data.pos}`;\n }\n get textX() {\n return this.data.pos[0];\n }\n get textY() {\n return this.data.pos[1];\n }\n textAnchor() {\n return this.midAngle(this.data) < Math.PI ? TextAnchor.Start : TextAnchor.End;\n }\n midAngle(d) {\n return d.startAngle + (d.endAngle - d.startAngle) / 2;\n }\n}\nPieLabelComponent.ɵfac = function PieLabelComponent_Factory(t) { return new (t || PieLabelComponent)(ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID)); };\nPieLabelComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PieLabelComponent, selectors: [[\"g\", \"ngx-charts-pie-label\", \"\"]], inputs: { animations: \"animations\", labelTrim: \"labelTrim\", labelTrimSize: \"labelTrimSize\", data: \"data\", radius: \"radius\", label: \"label\", color: \"color\", max: \"max\", value: \"value\", explodeSlices: \"explodeSlices\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c39, decls: 6, vars: 17, consts: [[\"dy\", \".35em\", 1, \"pie-label\"], [\"fill\", \"none\", 1, \"pie-label-line\", \"line\"]], template: function PieLabelComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"title\");\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(2, \"g\")(3, \"text\", 0);\n ɵngcc0.ɵɵtext(4);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelement(5, \"path\", 1);\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(ctx.label);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"transform\", ctx.styleTransform)(\"transition\", ctx.textTransition);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.attrTransform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"text-anchor\", ctx.textAnchor())(\"shape-rendering\", \"crispEdges\");\n ɵngcc0.ɵɵclassProp(\"animation\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx.labelTrim ? ctx.trimLabel(ctx.label, ctx.labelTrimSize) : ctx.label, \" \");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"animation\", ctx.animations);\n ɵngcc0.ɵɵattribute(\"d\", ctx.line)(\"stroke\", ctx.color);\n } }, encapsulation: 2, changeDetection: 0 });\nPieLabelComponent.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\nPieLabelComponent.propDecorators = {\n data: [{ type: Input }],\n radius: [{ type: Input }],\n label: [{ type: Input }],\n color: [{ type: Input }],\n max: [{ type: Input }],\n value: [{ type: Input }],\n explodeSlices: [{ type: Input }],\n animations: [{ type: Input }],\n labelTrim: [{ type: Input }],\n labelTrimSize: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PieLabelComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-pie-label]',\n template: `\n <title>{{ label }}</title>\n <svg:g [attr.transform]=\"attrTransform\" [style.transform]=\"styleTransform\" [style.transition]=\"textTransition\">\n <svg:text\n class=\"pie-label\"\n [class.animation]=\"animations\"\n dy=\".35em\"\n [style.textAnchor]=\"textAnchor()\"\n [style.shapeRendering]=\"'crispEdges'\"\n >\n {{ labelTrim ? trimLabel(label, labelTrimSize) : label }}\n </svg:text>\n </svg:g>\n <svg:path\n [attr.d]=\"line\"\n [attr.stroke]=\"color\"\n fill=\"none\"\n class=\"pie-label-line line\"\n [class.animation]=\"animations\"\n ></svg:path>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, { animations: [{\n type: Input\n }], labelTrim: [{\n type: Input\n }], labelTrimSize: [{\n type: Input\n }], data: [{\n type: Input\n }], radius: [{\n type: Input\n }], label: [{\n type: Input\n }], color: [{\n type: Input\n }], max: [{\n type: Input\n }], value: [{\n type: Input\n }], explodeSlices: [{\n type: Input\n }] }); })();\n\nclass PieArcComponent {\n constructor(element) {\n this.startAngle = 0;\n this.endAngle = Math.PI * 2;\n this.cornerRadius = 0;\n this.explodeSlices = false;\n this.gradient = false;\n this.animate = true;\n this.pointerEvents = true;\n this.isActive = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dblclick = new EventEmitter();\n this.barOrientation = BarOrientation;\n this.initialized = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n getGradient() {\n return this.gradient ? this.gradientFill : this.fill;\n }\n getPointerEvents() {\n return this.pointerEvents ? 'auto' : 'none';\n }\n update() {\n const calc = this.calculateArc();\n this.startOpacity = 0.5;\n this.radialGradientId = 'linearGrad' + id().toString();\n this.gradientFill = `url(#${this.radialGradientId})`;\n if (this.animate) {\n if (this.initialized) {\n this.updateAnimation();\n }\n else {\n this.loadAnimation();\n this.initialized = true;\n }\n }\n else {\n this.path = calc.startAngle(this.startAngle).endAngle(this.endAngle)();\n }\n }\n calculateArc() {\n let outerRadius = this.outerRadius;\n if (this.explodeSlices && this.innerRadius === 0) {\n outerRadius = (this.outerRadius * this.value) / this.max;\n }\n return arc().innerRadius(this.innerRadius).outerRadius(outerRadius).cornerRadius(this.cornerRadius);\n }\n loadAnimation() {\n const node = select(this.element)\n .selectAll('.arc')\n .data([{ startAngle: this.startAngle, endAngle: this.endAngle }]);\n const calc = this.calculateArc();\n node\n .transition()\n .attrTween('d', function (d) {\n this._current = this._current || d;\n const copyOfD = Object.assign({}, d);\n copyOfD.endAngle = copyOfD.startAngle;\n const interpolater = interpolate(copyOfD, copyOfD);\n this._current = interpolater(0);\n return function (t) {\n return calc(interpolater(t));\n };\n })\n .transition()\n .duration(750)\n .attrTween('d', function (d) {\n this._current = this._current || d;\n const interpolater = interpolate(this._current, d);\n this._current = interpolater(0);\n return function (t) {\n return calc(interpolater(t));\n };\n });\n }\n updateAnimation() {\n const node = select(this.element)\n .selectAll('.arc')\n .data([{ startAngle: this.startAngle, endAngle: this.endAngle }]);\n const calc = this.calculateArc();\n node\n .transition()\n .duration(750)\n .attrTween('d', function (d) {\n this._current = this._current || d;\n const interpolater = interpolate(this._current, d);\n this._current = interpolater(0);\n return function (t) {\n return calc(interpolater(t));\n };\n });\n }\n onClick() {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(() => this.select.emit(this.data), 200);\n }\n onDblClick(event) {\n event.preventDefault();\n event.stopPropagation();\n clearTimeout(this._timeout);\n this.dblclick.emit({\n data: this.data,\n nativeEvent: event\n });\n }\n}\nPieArcComponent.ɵfac = function PieArcComponent_Factory(t) { return new (t || PieArcComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nPieArcComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PieArcComponent, selectors: [[\"g\", \"ngx-charts-pie-arc\", \"\"]], inputs: { startAngle: \"startAngle\", endAngle: \"endAngle\", cornerRadius: \"cornerRadius\", explodeSlices: \"explodeSlices\", gradient: \"gradient\", animate: \"animate\", pointerEvents: \"pointerEvents\", isActive: \"isActive\", fill: \"fill\", innerRadius: \"innerRadius\", outerRadius: \"outerRadius\", value: \"value\", max: \"max\", data: \"data\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\", dblclick: \"dblclick\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c40, decls: 3, vars: 7, consts: [[1, \"arc-group\"], [4, \"ngIf\"], [1, \"arc\", 3, \"click\", \"dblclick\", \"mouseenter\", \"mouseleave\"], [\"ngx-charts-svg-radial-gradient\", \"\", 3, \"color\", \"name\", \"startOpacity\"]], template: function PieArcComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 0);\n ɵngcc0.ɵɵtemplate(1, PieArcComponent__svg_defs_1_Template, 2, 3, \"defs\", 1);\n ɵngcc0.ɵɵelementStart(2, \"path\", 2);\n ɵngcc0.ɵɵlistener(\"click\", function PieArcComponent_Template__svg_path_click_2_listener() { return ctx.onClick(); })(\"dblclick\", function PieArcComponent_Template__svg_path_dblclick_2_listener($event) { return ctx.onDblClick($event); })(\"mouseenter\", function PieArcComponent_Template__svg_path_mouseenter_2_listener() { return ctx.activate.emit(ctx.data); })(\"mouseleave\", function PieArcComponent_Template__svg_path_mouseleave_2_listener() { return ctx.deactivate.emit(ctx.data); });\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.gradient);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"pointer-events\", ctx.getPointerEvents());\n ɵngcc0.ɵɵclassProp(\"active\", ctx.isActive);\n ɵngcc0.ɵɵattribute(\"d\", ctx.path)(\"fill\", ctx.getGradient());\n } }, dependencies: [ɵngcc1.NgIf, SvgRadialGradientComponent], encapsulation: 2, changeDetection: 0 });\nPieArcComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nPieArcComponent.propDecorators = {\n fill: [{ type: Input }],\n startAngle: [{ type: Input }],\n endAngle: [{ type: Input }],\n innerRadius: [{ type: Input }],\n outerRadius: [{ type: Input }],\n cornerRadius: [{ type: Input }],\n value: [{ type: Input }],\n max: [{ type: Input }],\n data: [{ type: Input }],\n explodeSlices: [{ type: Input }],\n gradient: [{ type: Input }],\n animate: [{ type: Input }],\n pointerEvents: [{ type: Input }],\n isActive: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n dblclick: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PieArcComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-pie-arc]',\n template: `\n <svg:g class=\"arc-group\">\n <svg:defs *ngIf=\"gradient\">\n <svg:g ngx-charts-svg-radial-gradient [color]=\"fill\" [name]=\"radialGradientId\" [startOpacity]=\"startOpacity\" />\n </svg:defs>\n <svg:path\n [attr.d]=\"path\"\n class=\"arc\"\n [class.active]=\"isActive\"\n [attr.fill]=\"getGradient()\"\n (click)=\"onClick()\"\n (dblclick)=\"onDblClick($event)\"\n (mouseenter)=\"activate.emit(data)\"\n (mouseleave)=\"deactivate.emit(data)\"\n [style.pointer-events]=\"getPointerEvents()\"\n />\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { startAngle: [{\n type: Input\n }], endAngle: [{\n type: Input\n }], cornerRadius: [{\n type: Input\n }], explodeSlices: [{\n type: Input\n }], gradient: [{\n type: Input\n }], animate: [{\n type: Input\n }], pointerEvents: [{\n type: Input\n }], isActive: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], dblclick: [{\n type: Output\n }], fill: [{\n type: Input\n }], innerRadius: [{\n type: Input\n }], outerRadius: [{\n type: Input\n }], value: [{\n type: Input\n }], max: [{\n type: Input\n }], data: [{\n type: Input\n }] }); })();\n\nclass PieChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.labels = false;\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.explodeSlices = false;\n this.doughnut = false;\n this.arcWidth = 0.25;\n this.activeEntries = [];\n this.tooltipDisabled = false;\n this.trimLabels = true;\n this.maxLabelLength = 10;\n this.dblclick = new EventEmitter();\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n update() {\n super.update();\n if (this.labels && this.hasNoOptionalMarginsSet()) {\n this.margins = [30, 80, 30, 80];\n }\n else if (!this.labels && this.hasNoOptionalMarginsSet()) {\n // default value for margins\n this.margins = [20, 20, 20, 20];\n }\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margins,\n showLegend: this.legend,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n const xOffset = this.margins[3] + this.dims.width / 2;\n const yOffset = this.margins[0] + this.dims.height / 2;\n this.translation = `translate(${xOffset}, ${yOffset})`;\n this.outerRadius = Math.min(this.dims.width, this.dims.height);\n if (this.labels) {\n // make room for labels\n this.outerRadius /= 3;\n }\n else {\n this.outerRadius /= 2;\n }\n this.innerRadius = 0;\n if (this.doughnut) {\n this.innerRadius = this.outerRadius * (1 - this.arcWidth);\n }\n this.domain = this.getDomain();\n // sort data according to domain\n this.data = this.results.sort((a, b) => {\n return this.domain.indexOf(a.name) - this.domain.indexOf(b.name);\n });\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n getLegendOptions() {\n return {\n scaleType: ScaleType.Ordinal,\n domain: this.domain,\n colors: this.colors,\n title: this.legendTitle,\n position: this.legendPosition\n };\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n hasNoOptionalMarginsSet() {\n return !this.margins || this.margins.length <= 0;\n }\n}\nPieChartComponent.ɵfac = /*@__PURE__*/ function () { let ɵPieChartComponent_BaseFactory; return function PieChartComponent_Factory(t) { return (ɵPieChartComponent_BaseFactory || (ɵPieChartComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(PieChartComponent)))(t || PieChartComponent); }; }();\nPieChartComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PieChartComponent, selectors: [[\"ngx-charts-pie-chart\"]], contentQueries: function PieChartComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { labels: \"labels\", legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", explodeSlices: \"explodeSlices\", doughnut: \"doughnut\", arcWidth: \"arcWidth\", activeEntries: \"activeEntries\", tooltipDisabled: \"tooltipDisabled\", trimLabels: \"trimLabels\", maxLabelLength: \"maxLabelLength\", margins: \"margins\", gradient: \"gradient\", labelFormatting: \"labelFormatting\", tooltipText: \"tooltipText\" }, outputs: { dblclick: \"dblclick\", select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 3, vars: 24, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\"], [1, \"pie-chart\", \"chart\"], [\"ngx-charts-pie-series\", \"\", 3, \"colors\", \"series\", \"showLabels\", \"labelFormatting\", \"trimLabels\", \"maxLabelLength\", \"activeEntries\", \"innerRadius\", \"outerRadius\", \"explodeSlices\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipTemplate\", \"tooltipText\", \"dblclick\", \"select\", \"activate\", \"deactivate\"]], template: function PieChartComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelActivate\", function PieChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event, true); })(\"legendLabelDeactivate\", function PieChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event, true); })(\"legendLabelClick\", function PieChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1)(2, \"g\", 2);\n ɵngcc0.ɵɵlistener(\"dblclick\", function PieChartComponent_Template__svg_g_dblclick_2_listener($event) { return ctx.dblclick.emit($event); })(\"select\", function PieChartComponent_Template__svg_g_select_2_listener($event) { return ctx.onClick($event); })(\"activate\", function PieChartComponent_Template__svg_g_activate_2_listener($event) { return ctx.onActivate($event); })(\"deactivate\", function PieChartComponent_Template__svg_g_deactivate_2_listener($event) { return ctx.onDeactivate($event); });\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(21, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.translation);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"colors\", ctx.colors)(\"series\", ctx.data)(\"showLabels\", ctx.labels)(\"labelFormatting\", ctx.labelFormatting)(\"trimLabels\", ctx.trimLabels)(\"maxLabelLength\", ctx.maxLabelLength)(\"activeEntries\", ctx.activeEntries)(\"innerRadius\", ctx.innerRadius)(\"outerRadius\", ctx.outerRadius)(\"explodeSlices\", ctx.explodeSlices)(\"gradient\", ctx.gradient)(\"animations\", ctx.animations)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipText\", ctx.tooltipText);\n } }, dependencies: function () { return [ChartComponent, PieSeriesComponent]; }, styles: [_c24, _c41], encapsulation: 2, changeDetection: 0 });\nPieChartComponent.propDecorators = {\n labels: [{ type: Input }],\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n explodeSlices: [{ type: Input }],\n doughnut: [{ type: Input }],\n arcWidth: [{ type: Input }],\n gradient: [{ type: Input }],\n activeEntries: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n trimLabels: [{ type: Input }],\n maxLabelLength: [{ type: Input }],\n tooltipText: [{ type: Input }],\n dblclick: [{ type: Output }],\n margins: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PieChartComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-pie-chart', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelActivate)=\"onActivate($event, true)\"\n (legendLabelDeactivate)=\"onDeactivate($event, true)\"\n (legendLabelClick)=\"onClick($event)\"\n >\n <svg:g [attr.transform]=\"translation\" class=\"pie-chart chart\">\n <svg:g\n ngx-charts-pie-series\n [colors]=\"colors\"\n [series]=\"data\"\n [showLabels]=\"labels\"\n [labelFormatting]=\"labelFormatting\"\n [trimLabels]=\"trimLabels\"\n [maxLabelLength]=\"maxLabelLength\"\n [activeEntries]=\"activeEntries\"\n [innerRadius]=\"innerRadius\"\n [outerRadius]=\"outerRadius\"\n [explodeSlices]=\"explodeSlices\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipText]=\"tooltipText\"\n (dblclick)=\"dblclick.emit($event)\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\", \".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:.75s ease-in fadeIn;animation:.75s ease-in fadeIn}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:3s linear drawOut;animation:3s linear drawOut;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\\n\"] }]\n }], null, { labels: [{\n type: Input\n }], legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], explodeSlices: [{\n type: Input\n }], doughnut: [{\n type: Input\n }], arcWidth: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], trimLabels: [{\n type: Input\n }], maxLabelLength: [{\n type: Input\n }], dblclick: [{\n type: Output\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], margins: [{\n type: Input\n }], gradient: [{\n type: Input\n }], labelFormatting: [{\n type: Input\n }], tooltipText: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nfunction gridSize(dims, len, minWidth) {\n let rows = 1;\n let cols = len;\n const width = dims.width;\n if (width > minWidth) {\n while (width / cols < minWidth) {\n rows += 1;\n cols = Math.ceil(len / rows);\n }\n }\n return [cols, rows];\n}\nfunction gridLayout(dims, data, minWidth, designatedTotal) {\n const xScale = scaleBand();\n const yScale = scaleBand();\n const width = dims.width;\n const height = dims.height;\n const [columns, rows] = gridSize(dims, data.length, minWidth);\n const xDomain = [];\n const yDomain = [];\n for (let i = 0; i < rows; i++) {\n yDomain.push(i);\n }\n for (let i = 0; i < columns; i++) {\n xDomain.push(i);\n }\n xScale.domain(xDomain);\n yScale.domain(yDomain);\n xScale.rangeRound([0, width], 0.1);\n yScale.rangeRound([0, height], 0.1);\n const res = [];\n const total = designatedTotal ? designatedTotal : getTotal(data);\n const cardWidth = xScale.bandwidth();\n const cardHeight = yScale.bandwidth();\n for (let i = 0; i < data.length; i++) {\n res[i] = {};\n res[i].data = {\n name: data[i] ? data[i].name : '',\n value: data[i] ? data[i].value : undefined,\n extra: data[i] ? data[i].extra : undefined,\n label: data[i] ? data[i].label : ''\n };\n res[i].x = xScale(i % columns);\n res[i].y = yScale(Math.floor(i / columns));\n res[i].width = cardWidth;\n res[i].height = cardHeight;\n res[i].data.percent = total > 0 ? res[i].data.value / total : 0;\n res[i].data.total = total;\n }\n return res;\n}\nfunction getTotal(results) {\n return results.map(d => (d ? d.value : 0)).reduce((sum, val) => sum + val, 0);\n}\n\nclass PieGridComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.tooltipDisabled = false;\n this.label = 'Total';\n this.minWidth = 150;\n this.activeEntries = [];\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [20, 20, 20, 20];\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.formatDates();\n this.domain = this.getDomain();\n this.data = gridLayout(this.dims, this.results, this.minWidth, this.designatedTotal);\n this.transform = `translate(${this.margin[3]} , ${this.margin[0]})`;\n this.series = this.getSeries();\n this.setColors();\n this.tooltipText = this.tooltipText || this.defaultTooltipText;\n }\n defaultTooltipText({ data }) {\n const label = trimLabel(formatLabel(data.name));\n const val = data.value.toLocaleString();\n return `\n <span class=\"tooltip-label\">${label}</span>\n <span class=\"tooltip-val\">${val}</span>\n `;\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n getSeries() {\n const total = this.designatedTotal ? this.designatedTotal : this.getTotal();\n return this.data.map(d => {\n const baselineLabelHeight = 20;\n const padding = 10;\n const name = d.data.name;\n const label = formatLabel(name);\n const value = d.data.value;\n const radius = min([d.width - padding, d.height - baselineLabelHeight]) / 2 - 5;\n const innerRadius = radius * 0.9;\n let count = 0;\n const colors = () => {\n count += 1;\n if (count === 1) {\n return 'rgba(100,100,100,0.3)';\n }\n else {\n return this.colorScale.getColor(label);\n }\n };\n const xPos = d.x + (d.width - padding) / 2;\n const yPos = d.y + (d.height - baselineLabelHeight) / 2;\n return {\n transform: `translate(${xPos}, ${yPos})`,\n colors,\n innerRadius,\n outerRadius: radius,\n name,\n label: trimLabel(label),\n total: value,\n value,\n percent: format('.1%')(d.data.percent),\n data: [\n d,\n {\n data: {\n other: true,\n value: total - value,\n name: d.data.name\n }\n }\n ]\n };\n });\n }\n getTotal() {\n return this.results.map(d => d.value).reduce((sum, d) => sum + d, 0);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colorScale = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n }\n else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n}\nPieGridComponent.ɵfac = /*@__PURE__*/ function () { let ɵPieGridComponent_BaseFactory; return function PieGridComponent_Factory(t) { return (ɵPieGridComponent_BaseFactory || (ɵPieGridComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(PieGridComponent)))(t || PieGridComponent); }; }();\nPieGridComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PieGridComponent, selectors: [[\"ngx-charts-pie-grid\"]], contentQueries: function PieGridComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { tooltipDisabled: \"tooltipDisabled\", label: \"label\", minWidth: \"minWidth\", activeEntries: \"activeEntries\", tooltipText: \"tooltipText\", designatedTotal: \"designatedTotal\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 3, vars: 8, consts: [[3, \"view\", \"showLegend\", \"animations\"], [1, \"pie-grid\", \"chart\"], [\"class\", \"pie-grid-item\", 4, \"ngFor\", \"ngForOf\"], [1, \"pie-grid-item\"], [\"ngx-charts-pie-grid-series\", \"\", \"ngx-tooltip\", \"\", 3, \"colors\", \"data\", \"innerRadius\", \"outerRadius\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\"], [\"class\", \"label percent-label\", \"dy\", \"-0.5em\", \"x\", \"0\", \"y\", \"5\", \"ngx-charts-count-up\", \"\", \"text-anchor\", \"middle\", 3, \"countTo\", \"countSuffix\", 4, \"ngIf\"], [\"class\", \"label percent-label\", \"dy\", \"-0.5em\", \"x\", \"0\", \"y\", \"5\", \"text-anchor\", \"middle\", 4, \"ngIf\"], [\"dy\", \"0.5em\", \"x\", \"0\", \"y\", \"5\", \"text-anchor\", \"middle\", 1, \"label\"], [\"class\", \"label\", \"dy\", \"1.23em\", \"x\", \"0\", \"text-anchor\", \"middle\", \"ngx-charts-count-up\", \"\", 3, \"countTo\", \"countPrefix\", 4, \"ngIf\"], [\"class\", \"label\", \"dy\", \"1.23em\", \"x\", \"0\", \"text-anchor\", \"middle\", 4, \"ngIf\"], [\"dy\", \"-0.5em\", \"x\", \"0\", \"y\", \"5\", \"ngx-charts-count-up\", \"\", \"text-anchor\", \"middle\", 1, \"label\", \"percent-label\", 3, \"countTo\", \"countSuffix\"], [\"dy\", \"-0.5em\", \"x\", \"0\", \"y\", \"5\", \"text-anchor\", \"middle\", 1, \"label\", \"percent-label\"], [\"dy\", \"1.23em\", \"x\", \"0\", \"text-anchor\", \"middle\", \"ngx-charts-count-up\", \"\", 1, \"label\", 3, \"countTo\", \"countPrefix\"], [\"dy\", \"1.23em\", \"x\", \"0\", \"text-anchor\", \"middle\", 1, \"label\"]], template: function PieGridComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵtemplate(2, PieGridComponent__svg_g_2_Template, 8, 19, \"g\", 2);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(5, _c23, ctx.width, ctx.height))(\"showLegend\", false)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.series);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, TooltipDirective, CountUpDirective, ChartComponent, PieGridSeriesComponent]; }, styles: [_c24, \".pie-grid .arc1{opacity:.4}.pie-grid .percent-label{font-size:16px;font-weight:400}\\n\"], encapsulation: 2, changeDetection: 0 });\nPieGridComponent.propDecorators = {\n designatedTotal: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipText: [{ type: Input }],\n label: [{ type: Input }],\n minWidth: [{ type: Input }],\n activeEntries: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PieGridComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-pie-grid', template: `\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"pie-grid chart\">\n <svg:g *ngFor=\"let series of series\" class=\"pie-grid-item\" [attr.transform]=\"series.transform\">\n <svg:g\n ngx-charts-pie-grid-series\n [colors]=\"series.colors\"\n [data]=\"series.data\"\n [innerRadius]=\"series.innerRadius\"\n [outerRadius]=\"series.outerRadius\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"placementTypes.Top\"\n [tooltipType]=\"styleTypes.tooltip\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText({ data: series })\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"series.data[0].data\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n />\n <svg:text\n *ngIf=\"animations\"\n class=\"label percent-label\"\n dy=\"-0.5em\"\n x=\"0\"\n y=\"5\"\n ngx-charts-count-up\n [countTo]=\"series.percent\"\n [countSuffix]=\"'%'\"\n text-anchor=\"middle\"\n ></svg:text>\n <svg:text *ngIf=\"!animations\" class=\"label percent-label\" dy=\"-0.5em\" x=\"0\" y=\"5\" text-anchor=\"middle\">\n {{ series.percent.toLocaleString() }}\n </svg:text>\n <svg:text class=\"label\" dy=\"0.5em\" x=\"0\" y=\"5\" text-anchor=\"middle\">\n {{ series.label }}\n </svg:text>\n <svg:text\n *ngIf=\"animations\"\n class=\"label\"\n dy=\"1.23em\"\n x=\"0\"\n [attr.y]=\"series.outerRadius\"\n text-anchor=\"middle\"\n ngx-charts-count-up\n [countTo]=\"series.total\"\n [countPrefix]=\"label + ': '\"\n ></svg:text>\n <svg:text\n *ngIf=\"!animations\"\n class=\"label\"\n dy=\"1.23em\"\n x=\"0\"\n [attr.y]=\"series.outerRadius\"\n text-anchor=\"middle\"\n >\n {{ label }}: {{ series.total.toLocaleString() }}\n </svg:text>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\", \".pie-grid .arc1{opacity:.4}.pie-grid .percent-label{font-size:16px;font-weight:400}\\n\"] }]\n }], null, { tooltipDisabled: [{\n type: Input\n }], label: [{\n type: Input\n }], minWidth: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], tooltipText: [{\n type: Input\n }], designatedTotal: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass PieGridSeriesComponent {\n constructor(element) {\n this.innerRadius = 70;\n this.outerRadius = 80;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.layout = pie()\n .value(d => d.data.value)\n .sort(null);\n this.arcs = this.getArcs();\n }\n getArcs() {\n return this.layout(this.data).map((arc, index) => {\n const label = arc.data.data.name;\n const other = arc.data.data.other;\n if (index === 0) {\n arc.startAngle = 0;\n }\n const color = this.colors(label);\n return {\n data: arc.data.data,\n class: 'arc ' + 'arc' + index,\n fill: color,\n startAngle: other ? 0 : arc.startAngle,\n endAngle: arc.endAngle,\n animate: this.animations && !other,\n pointerEvents: !other\n };\n });\n }\n onClick(data) {\n this.select.emit(this.data[0].data);\n }\n trackBy(index, item) {\n return item.data.name;\n }\n label(arc) {\n return arc.data.name;\n }\n color(arc) {\n return this.colors(this.label(arc));\n }\n}\nPieGridSeriesComponent.ɵfac = function PieGridSeriesComponent_Factory(t) { return new (t || PieGridSeriesComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nPieGridSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PieGridSeriesComponent, selectors: [[\"g\", \"ngx-charts-pie-grid-series\", \"\"]], inputs: { innerRadius: \"innerRadius\", outerRadius: \"outerRadius\", animations: \"animations\", colors: \"colors\", data: \"data\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c43, decls: 2, vars: 2, consts: [[1, \"pie-grid-arcs\"], [\"ngx-charts-pie-arc\", \"\", 3, \"startAngle\", \"endAngle\", \"innerRadius\", \"outerRadius\", \"fill\", \"value\", \"data\", \"gradient\", \"pointerEvents\", \"animate\", \"select\", \"activate\", \"deactivate\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-pie-arc\", \"\", 3, \"startAngle\", \"endAngle\", \"innerRadius\", \"outerRadius\", \"fill\", \"value\", \"data\", \"gradient\", \"pointerEvents\", \"animate\", \"select\", \"activate\", \"deactivate\"]], template: function PieGridSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 0);\n ɵngcc0.ɵɵtemplate(1, PieGridSeriesComponent__svg_g_1_Template, 1, 11, \"g\", 1);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.arcs)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: [ɵngcc1.NgForOf, PieArcComponent], encapsulation: 2, changeDetection: 0 });\nPieGridSeriesComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nPieGridSeriesComponent.propDecorators = {\n colors: [{ type: Input }],\n data: [{ type: Input }],\n innerRadius: [{ type: Input }],\n outerRadius: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PieGridSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-pie-grid-series]',\n template: `\n <svg:g class=\"pie-grid-arcs\">\n <svg:g\n ngx-charts-pie-arc\n *ngFor=\"let arc of arcs; trackBy: trackBy\"\n [attr.class]=\"arc.class\"\n [startAngle]=\"arc.startAngle\"\n [endAngle]=\"arc.endAngle\"\n [innerRadius]=\"innerRadius\"\n [outerRadius]=\"outerRadius\"\n [fill]=\"color(arc)\"\n [value]=\"arc.data.value\"\n [data]=\"arc.data\"\n [gradient]=\"false\"\n [pointerEvents]=\"arc.pointerEvents\"\n [animate]=\"arc.animate\"\n (select)=\"onClick($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ></svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { innerRadius: [{\n type: Input\n }], outerRadius: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], colors: [{\n type: Input\n }], data: [{\n type: Input\n }] }); })();\n\nclass PieSeriesComponent {\n constructor() {\n this.series = [];\n this.innerRadius = 60;\n this.outerRadius = 80;\n this.trimLabels = true;\n this.maxLabelLength = 10;\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dblclick = new EventEmitter();\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n const pieGenerator = pie()\n .value(d => d.value)\n .sort(null);\n const arcData = pieGenerator(this.series);\n this.max = max(arcData, d => {\n return d.value;\n });\n this.data = this.calculateLabelPositions(arcData);\n this.tooltipText = this.tooltipText || this.defaultTooltipText;\n }\n midAngle(d) {\n return d.startAngle + (d.endAngle - d.startAngle) / 2;\n }\n outerArc() {\n const factor = 1.5;\n return arc()\n .innerRadius(this.outerRadius * factor)\n .outerRadius(this.outerRadius * factor);\n }\n calculateLabelPositions(pieData) {\n const factor = 1.5;\n const minDistance = 10;\n const labelPositions = pieData;\n labelPositions.forEach(d => {\n d.pos = this.outerArc().centroid(d);\n d.pos[0] = factor * this.outerRadius * (this.midAngle(d) < Math.PI ? 1 : -1);\n });\n for (let i = 0; i < labelPositions.length - 1; i++) {\n const a = labelPositions[i];\n if (!this.labelVisible(a)) {\n continue;\n }\n for (let j = i + 1; j < labelPositions.length; j++) {\n const b = labelPositions[j];\n if (!this.labelVisible(b)) {\n continue;\n }\n // if they're on the same side\n if (b.pos[0] * a.pos[0] > 0) {\n // if they're overlapping\n const o = minDistance - Math.abs(b.pos[1] - a.pos[1]);\n if (o > 0) {\n // push the second up or down\n b.pos[1] += Math.sign(b.pos[0]) * o;\n }\n }\n }\n }\n return labelPositions;\n }\n labelVisible(myArc) {\n return this.showLabels && myArc.endAngle - myArc.startAngle > Math.PI / 30;\n }\n getTooltipTitle(a) {\n return this.tooltipTemplate ? undefined : this.tooltipText(a);\n }\n labelText(myArc) {\n if (this.labelFormatting) {\n return this.labelFormatting(myArc.data.name);\n }\n return this.label(myArc);\n }\n label(myArc) {\n return formatLabel(myArc.data.name);\n }\n defaultTooltipText(myArc) {\n const label = this.label(myArc);\n const val = formatLabel(myArc.data.value);\n return `\n <span class=\"tooltip-label\">${escapeLabel(label)}</span>\n <span class=\"tooltip-val\">${val}</span>\n `;\n }\n color(myArc) {\n return this.colors.getColor(this.label(myArc));\n }\n trackBy(index, item) {\n return item.data.name;\n }\n onClick(data) {\n this.select.emit(data);\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name && entry.series === d.series;\n });\n return item !== undefined;\n }\n}\nPieSeriesComponent.ɵfac = function PieSeriesComponent_Factory(t) { return new (t || PieSeriesComponent)(); };\nPieSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PieSeriesComponent, selectors: [[\"g\", \"ngx-charts-pie-series\", \"\"]], inputs: { series: \"series\", innerRadius: \"innerRadius\", outerRadius: \"outerRadius\", trimLabels: \"trimLabels\", maxLabelLength: \"maxLabelLength\", tooltipDisabled: \"tooltipDisabled\", animations: \"animations\", tooltipText: \"tooltipText\", colors: \"colors\", dims: \"dims\", explodeSlices: \"explodeSlices\", showLabels: \"showLabels\", gradient: \"gradient\", activeEntries: \"activeEntries\", labelFormatting: \"labelFormatting\", tooltipTemplate: \"tooltipTemplate\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\", dblclick: \"dblclick\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c44, decls: 1, vars: 2, consts: [[4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-pie-label\", \"\", 3, \"data\", \"radius\", \"color\", \"label\", \"labelTrim\", \"labelTrimSize\", \"max\", \"value\", \"explodeSlices\", \"animations\", 4, \"ngIf\"], [\"ngx-charts-pie-arc\", \"\", \"ngx-tooltip\", \"\", 3, \"startAngle\", \"endAngle\", \"innerRadius\", \"outerRadius\", \"fill\", \"value\", \"gradient\", \"data\", \"max\", \"explodeSlices\", \"isActive\", \"animate\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\", \"dblclick\"], [\"ngx-charts-pie-label\", \"\", 3, \"data\", \"radius\", \"color\", \"label\", \"labelTrim\", \"labelTrimSize\", \"max\", \"value\", \"explodeSlices\", \"animations\"]], template: function PieSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, PieSeriesComponent__svg_g_0_Template, 3, 19, \"g\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.data)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: [ɵngcc1.NgForOf, ɵngcc1.NgIf, TooltipDirective, PieLabelComponent, PieArcComponent], encapsulation: 2, changeDetection: 0 });\nPieSeriesComponent.propDecorators = {\n colors: [{ type: Input }],\n series: [{ type: Input }],\n dims: [{ type: Input }],\n innerRadius: [{ type: Input }],\n outerRadius: [{ type: Input }],\n explodeSlices: [{ type: Input }],\n showLabels: [{ type: Input }],\n gradient: [{ type: Input }],\n activeEntries: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n trimLabels: [{ type: Input }],\n maxLabelLength: [{ type: Input }],\n tooltipText: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n dblclick: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PieSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-pie-series]',\n template: `\n <svg:g *ngFor=\"let arc of data; trackBy: trackBy\">\n <svg:g\n ngx-charts-pie-label\n *ngIf=\"labelVisible(arc)\"\n [data]=\"arc\"\n [radius]=\"outerRadius\"\n [color]=\"color(arc)\"\n [label]=\"labelText(arc)\"\n [labelTrim]=\"trimLabels\"\n [labelTrimSize]=\"maxLabelLength\"\n [max]=\"max\"\n [value]=\"arc.value\"\n [explodeSlices]=\"explodeSlices\"\n [animations]=\"animations\"\n ></svg:g>\n <svg:g\n ngx-charts-pie-arc\n [startAngle]=\"arc.startAngle\"\n [endAngle]=\"arc.endAngle\"\n [innerRadius]=\"innerRadius\"\n [outerRadius]=\"outerRadius\"\n [fill]=\"color(arc)\"\n [value]=\"arc.data.value\"\n [gradient]=\"gradient\"\n [data]=\"arc.data\"\n [max]=\"max\"\n [explodeSlices]=\"explodeSlices\"\n [isActive]=\"isActive(arc.data)\"\n [animate]=\"animations\"\n (select)=\"onClick($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n (dblclick)=\"dblclick.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"placementTypes.Top\"\n [tooltipType]=\"styleTypes.tooltip\"\n [tooltipTitle]=\"getTooltipTitle(arc)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"arc.data\"\n ></svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { series: [{\n type: Input\n }], innerRadius: [{\n type: Input\n }], outerRadius: [{\n type: Input\n }], trimLabels: [{\n type: Input\n }], maxLabelLength: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], dblclick: [{\n type: Output\n }], tooltipText: [{\n type: Input\n }], colors: [{\n type: Input\n }], dims: [{\n type: Input\n }], explodeSlices: [{\n type: Input\n }], showLabels: [{\n type: Input\n }], gradient: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], labelFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }] }); })();\n\nclass PieChartModule {\n}\nPieChartModule.ɵfac = function PieChartModule_Factory(t) { return new (t || PieChartModule)(); };\nPieChartModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: PieChartModule });\nPieChartModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PieChartModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule],\n declarations: [\n AdvancedPieChartComponent,\n PieLabelComponent,\n PieArcComponent,\n PieChartComponent,\n PieGridComponent,\n PieGridSeriesComponent,\n PieSeriesComponent\n ],\n exports: [\n AdvancedPieChartComponent,\n PieLabelComponent,\n PieArcComponent,\n PieChartComponent,\n PieGridComponent,\n PieGridSeriesComponent,\n PieSeriesComponent\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(PieChartModule, { declarations: [AdvancedPieChartComponent, PieLabelComponent, PieArcComponent, PieChartComponent, PieGridComponent, PieGridSeriesComponent, PieSeriesComponent], imports: [ChartCommonModule], exports: [AdvancedPieChartComponent, PieLabelComponent, PieArcComponent, PieChartComponent, PieGridComponent, PieGridSeriesComponent, PieSeriesComponent] }); })();\n\nclass PolarChartModule {\n}\nPolarChartModule.ɵfac = function PolarChartModule_Factory(t) { return new (t || PolarChartModule)(); };\nPolarChartModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: PolarChartModule });\nPolarChartModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule, PieChartModule, LineChartModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PolarChartModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule, PieChartModule, LineChartModule],\n declarations: [PolarChartComponent, PolarSeriesComponent],\n exports: [PolarChartComponent, PolarSeriesComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(PolarChartModule, { declarations: [PolarChartComponent, PolarSeriesComponent], imports: [ChartCommonModule, PieChartModule, LineChartModule], exports: [PolarChartComponent, PolarSeriesComponent] }); })();\n\nfunction calculateTextWidth(fontFamilyKey, text, defaultWidth = 8) {\n return text.split('').reduce((acc, curr) => {\n const width = fontFamilyKey[curr] || defaultWidth;\n return acc + width;\n }, 0);\n}\n\nconst VERDANA_FONT_WIDTHS_16_PX = {\n '0': 10,\n '1': 10,\n '2': 10,\n '3': 10,\n '4': 10,\n '5': 10,\n '6': 10,\n '7': 10,\n '8': 10,\n '9': 10,\n A: 11,\n B: 11,\n C: 11,\n D: 12,\n E: 10,\n F: 9,\n G: 12,\n H: 12,\n I: 7,\n J: 7,\n K: 11,\n L: 9,\n M: 13,\n N: 12,\n O: 13,\n P: 10,\n Q: 13,\n R: 11,\n S: 11,\n T: 10,\n U: 12,\n V: 11,\n W: 16,\n X: 11,\n Y: 10,\n Z: 11,\n a: 10,\n b: 10,\n c: 8,\n d: 10,\n e: 10,\n f: 6,\n g: 10,\n h: 10,\n i: 4,\n j: 6,\n k: 9,\n l: 4,\n m: 16,\n n: 10,\n o: 10,\n p: 10,\n q: 10,\n r: 7,\n s: 8,\n t: 6,\n u: 10,\n v: 9,\n w: 13,\n x: 9,\n y: 9,\n z: 8,\n '!': 6,\n '@': 16,\n '#': 13,\n $: 10,\n '%': 17,\n '^': 13,\n '&': 12,\n '*': 10,\n '(': 7,\n ')': 7,\n _: 10,\n '-': 7,\n '+': 13,\n '=': 13,\n ',': 6,\n '.': 6,\n '/': 7,\n \"'\": 4,\n ':': 7,\n '|': 7,\n '?': 9,\n ';': 7,\n '<': 13,\n '>': 13\n};\n\nclass CardComponent {\n constructor(element, cd, zone, platformId) {\n this.cd = cd;\n this.zone = zone;\n this.platformId = platformId;\n this.animations = true;\n this.select = new EventEmitter();\n this.value = '';\n this.textFontSize = 12;\n this.textTransform = '';\n this.initialized = false;\n this.bandHeight = 10;\n this.textPadding = [10, 20, 5, 20];\n this.labelFontSize = 15;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.scaleTextSSR();\n }\n }\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformId)) {\n cancelAnimationFrame(this.animationReq);\n }\n }\n update() {\n this.zone.run(() => {\n const hasValue = this.data && typeof this.data.value !== 'undefined';\n const valueFormatting = this.valueFormatting || (card => card.value.toLocaleString());\n const labelFormatting = this.labelFormatting || (card => escapeLabel(trimLabel(card.label, 55)));\n this.transform = `translate(${this.x} , ${this.y})`;\n this.textWidth = Math.max(0, this.width) - this.textPadding[1] - this.textPadding[3];\n this.cardWidth = Math.max(0, this.width);\n this.cardHeight = Math.max(0, this.height);\n this.label = this.label ? this.label : this.data.name;\n const cardData = {\n label: this.label,\n data: this.data,\n value: this.data.value\n };\n this.formattedLabel = labelFormatting(cardData);\n this.transformBand = `translate(0 , ${this.cardHeight - this.bandHeight})`;\n const value = hasValue ? valueFormatting(cardData) : '';\n this.value = this.paddedValue(value);\n this.setPadding();\n this.bandPath = roundedRect(0, 0, this.cardWidth, this.bandHeight, 3, [false, false, true, true]);\n setTimeout(() => {\n if (isPlatformBrowser(this.platformId)) {\n this.scaleText();\n }\n this.value = value;\n if (hasValue && !this.initialized) {\n setTimeout(() => this.startCount(), 20);\n }\n }, 8);\n });\n }\n paddedValue(value) {\n if (this.medianSize && this.medianSize > value.length) {\n value += '\\u2007'.repeat(this.medianSize - value.length);\n }\n return value;\n }\n startCount() {\n if (!this.initialized && this.animations) {\n cancelAnimationFrame(this.animationReq);\n const val = this.data.value;\n const decs = decimalChecker(val);\n const valueFormatting = this.valueFormatting || (card => card.value.toLocaleString());\n const callback = ({ value, finished }) => {\n this.zone.run(() => {\n value = finished ? val : value;\n this.value = valueFormatting({ label: this.label, data: this.data, value });\n if (!finished) {\n this.value = this.paddedValue(this.value);\n }\n this.cd.markForCheck();\n });\n };\n this.animationReq = count(0, val, decs, 1, callback);\n this.initialized = true;\n }\n }\n scaleText() {\n this.zone.run(() => {\n const { width, height } = this.textEl.nativeElement.getBoundingClientRect();\n if (width === 0 || height === 0) {\n return;\n }\n const textPadding = (this.textPadding[1] = this.textPadding[3] = this.cardWidth / 8);\n const availableWidth = this.cardWidth - 2 * textPadding;\n const availableHeight = this.cardHeight / 3;\n const resizeScale = Math.min(availableWidth / width, availableHeight / height);\n this.textFontSize = Math.floor(this.textFontSize * resizeScale);\n this.labelFontSize = Math.min(this.textFontSize, 15);\n this.setPadding();\n this.cd.markForCheck();\n });\n }\n scaleTextSSR() {\n const width = calculateTextWidth(VERDANA_FONT_WIDTHS_16_PX, this.value, 10);\n const height = 18;\n const textPadding = (this.textPadding[1] = this.textPadding[3] = this.cardWidth / 8);\n const availableWidth = this.cardWidth - 2 * textPadding;\n const availableHeight = this.cardHeight / 3;\n const resizeScale = Math.min(availableWidth / width, availableHeight / height);\n this.textFontSize = Math.floor(this.textFontSize * resizeScale);\n this.labelFontSize = Math.min(this.textFontSize, 15);\n this.setPadding();\n }\n setPadding() {\n this.textPadding[1] = this.textPadding[3] = this.cardWidth / 8;\n const padding = this.cardHeight / 2;\n this.textPadding[0] = padding - this.textFontSize - this.labelFontSize / 2;\n this.textPadding[2] = padding - this.labelFontSize;\n }\n onClick() {\n this.select.emit(this.data);\n }\n}\nCardComponent.ɵfac = function CardComponent_Factory(t) { return new (t || CardComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID)); };\nCardComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CardComponent, selectors: [[\"g\", \"ngx-charts-card\", \"\"]], viewQuery: function CardComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c45, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.textEl = _t.first);\n } }, inputs: { animations: \"animations\", label: \"label\", color: \"color\", bandColor: \"bandColor\", textColor: \"textColor\", x: \"x\", y: \"y\", width: \"width\", height: \"height\", data: \"data\", medianSize: \"medianSize\", valueFormatting: \"valueFormatting\", labelFormatting: \"labelFormatting\" }, outputs: { select: \"select\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c46, decls: 10, vars: 25, consts: [[1, \"cell\", 3, \"click\"], [\"rx\", \"3\", \"ry\", \"3\", 1, \"card\"], [\"class\", \"card-band\", \"stroke\", \"none\", 4, \"ngIf\"], [\"x\", \"5\", \"alignment-baseline\", \"hanging\", 1, \"trimmed-label\"], [3, \"innerHTML\"], [\"text-anchor\", \"start\", \"alignment-baseline\", \"hanging\", 1, \"value-text\"], [\"textEl\", \"\"], [\"stroke\", \"none\", 1, \"card-band\"]], template: function CardComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\", 0);\n ɵngcc0.ɵɵlistener(\"click\", function CardComponent_Template__svg_g_click_0_listener() { return ctx.onClick(); });\n ɵngcc0.ɵɵelement(1, \"rect\", 1);\n ɵngcc0.ɵɵtemplate(2, CardComponent__svg_path_2_Template, 1, 3, \"path\", 2);\n ɵngcc0.ɵɵelementStart(3, \"title\");\n ɵngcc0.ɵɵtext(4);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(5, \"foreignObject\", 3);\n ɵngcc0.ɵɵnamespaceHTML();\n ɵngcc0.ɵɵelement(6, \"p\", 4);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(7, \"text\", 5, 6);\n ɵngcc0.ɵɵtext(9);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"fill\", ctx.color);\n ɵngcc0.ɵɵattribute(\"width\", ctx.cardWidth)(\"height\", ctx.cardHeight);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.bandColor && ctx.bandColor !== ctx.color);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx.label);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"x\", ctx.textPadding[3])(\"y\", ctx.cardHeight - ctx.textPadding[2])(\"width\", ctx.textWidth)(\"height\", ctx.labelFontSize + ctx.textPadding[2]);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"color\", ctx.textColor)(\"font-size\", ctx.labelFontSize, \"px\")(\"line-height\", ctx.labelFontSize, \"px\");\n ɵngcc0.ɵɵproperty(\"innerHTML\", ctx.formattedLabel, ɵngcc0.ɵɵsanitizeHtml);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"fill\", ctx.textColor)(\"font-size\", ctx.textFontSize, \"pt\");\n ɵngcc0.ɵɵattribute(\"x\", ctx.textPadding[3])(\"y\", ctx.textPadding[0]);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx.value, \" \");\n } }, dependencies: [ɵngcc1.NgIf], encapsulation: 2, changeDetection: 0 });\nCardComponent.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\nCardComponent.propDecorators = {\n color: [{ type: Input }],\n bandColor: [{ type: Input }],\n textColor: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }],\n label: [{ type: Input }],\n data: [{ type: Input }],\n medianSize: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n textEl: [{ type: ViewChild, args: ['textEl', { static: false },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CardComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-card]',\n template: `\n <svg:g [attr.transform]=\"transform\" class=\"cell\" (click)=\"onClick()\">\n <svg:rect class=\"card\" [style.fill]=\"color\" [attr.width]=\"cardWidth\" [attr.height]=\"cardHeight\" rx=\"3\" ry=\"3\" />\n <svg:path\n *ngIf=\"bandColor && bandColor !== color\"\n class=\"card-band\"\n [attr.fill]=\"bandColor\"\n [attr.transform]=\"transformBand\"\n stroke=\"none\"\n [attr.d]=\"bandPath\"\n />\n <title>{{ label }}</title>\n <svg:foreignObject\n class=\"trimmed-label\"\n x=\"5\"\n [attr.x]=\"textPadding[3]\"\n [attr.y]=\"cardHeight - textPadding[2]\"\n [attr.width]=\"textWidth\"\n [attr.height]=\"labelFontSize + textPadding[2]\"\n alignment-baseline=\"hanging\"\n >\n <xhtml:p\n [style.color]=\"textColor\"\n [style.fontSize.px]=\"labelFontSize\"\n [style.lineHeight.px]=\"labelFontSize\"\n [innerHTML]=\"formattedLabel\"\n >\n </xhtml:p>\n </svg:foreignObject>\n <svg:text\n #textEl\n class=\"value-text\"\n [attr.x]=\"textPadding[3]\"\n [attr.y]=\"textPadding[0]\"\n [style.fill]=\"textColor\"\n text-anchor=\"start\"\n alignment-baseline=\"hanging\"\n [style.font-size.pt]=\"textFontSize\"\n >\n {{ value }}\n </svg:text>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, { animations: [{\n type: Input\n }], select: [{\n type: Output\n }], label: [{\n type: Input\n }], color: [{\n type: Input\n }], bandColor: [{\n type: Input\n }], textColor: [{\n type: Input\n }], x: [{\n type: Input\n }], y: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], data: [{\n type: Input\n }], medianSize: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }], labelFormatting: [{\n type: Input\n }], textEl: [{\n type: ViewChild,\n args: ['textEl', { static: false }]\n }] }); })();\n\n/**\n * Converts a hex to RGB\n *\n * @export\n */\nfunction hexToRgb(value) {\n // deprecated, use d3.color()\n return d3_color.rgb(value);\n}\n/**\n * Accepts a color (string) and returns a inverted hex color (string)\n * http://stackoverflow.com/questions/9600295/automatically-change-text-color-to-assure-readability\n *\n * @export\n */\nfunction invertColor(value) {\n const color = d3_color.rgb(value);\n const { r, g, b, opacity } = color;\n if (opacity === 0) {\n return color.toString();\n }\n const yiq = (r * 299 + g * 587 + b * 114) / 1000;\n const depth = yiq >= 128 ? -0.8 : 0.8;\n return shadeRGBColor(color, depth);\n}\n/**\n * Given a rgb, it will darken/lighten\n * http://stackoverflow.com/questions/5560248/programmatically-lighten-or-darken-a-hex-color-or-rgb-and-blend-colors\n *\n * @export\n * @param \\{ r, g, b }\n */\nfunction shadeRGBColor({ r, g, b }, percent) {\n const t = percent < 0 ? 0 : 255;\n const p = percent < 0 ? percent * -1 : percent;\n r = Math.round((t - r) * p) + r;\n g = Math.round((t - g) * p) + g;\n b = Math.round((t - b) * p) + b;\n return `rgb(${r}, ${g}, ${b})`;\n}\n\nclass CardSeriesComponent {\n constructor() {\n this.innerPadding = 15;\n this.emptyColor = 'rgba(0, 0, 0, 0)';\n this.animations = true;\n this.select = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n if (this.data.length > 2) {\n const valueFormatting = this.valueFormatting || (card => card.value.toLocaleString());\n const sortedLengths = this.data\n .map(d => {\n const hasValue = d && d.data && typeof d.data.value !== 'undefined' && d.data.value !== null;\n return hasValue\n ? valueFormatting({\n data: d.data,\n label: d ? d.data.name : '',\n value: d && d.data ? d.data.value : ''\n }).length\n : 0;\n })\n .sort((a, b) => b - a);\n const idx = Math.ceil(this.data.length / 2);\n this.medianSize = sortedLengths[idx];\n }\n const cards = this.getCards();\n this.cards = cards.filter(d => d.data.value !== null);\n this.emptySlots = cards.filter(d => d.data.value === null);\n }\n getCards() {\n const yPadding = typeof this.innerPadding === 'number' ? this.innerPadding : this.innerPadding[0] + this.innerPadding[2];\n const xPadding = typeof this.innerPadding === 'number' ? this.innerPadding : this.innerPadding[1] + this.innerPadding[3];\n return this.data.map((d, index) => {\n let label = d.data.name;\n if (label && label.constructor.name === 'Date') {\n label = label.toLocaleDateString();\n }\n else {\n label = label ? label.toLocaleString() : label;\n }\n const value = d.data.value;\n const valueColor = label ? this.colors.getColor(label) : this.emptyColor;\n const color = this.cardColor || valueColor || '#000';\n return {\n x: d.x,\n y: d.y,\n width: d.width - xPadding,\n height: d.height - yPadding,\n color,\n bandColor: this.bandColor || valueColor,\n textColor: this.textColor || invertColor(color),\n label,\n data: d.data,\n tooltipText: `${label}: ${value}`\n };\n });\n }\n trackBy(index, card) {\n return card.label;\n }\n onClick(data) {\n this.select.emit(data);\n }\n}\nCardSeriesComponent.ɵfac = function CardSeriesComponent_Factory(t) { return new (t || CardSeriesComponent)(); };\nCardSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CardSeriesComponent, selectors: [[\"g\", \"ngx-charts-card-series\", \"\"]], inputs: { innerPadding: \"innerPadding\", emptyColor: \"emptyColor\", animations: \"animations\", data: \"data\", dims: \"dims\", colors: \"colors\", cardColor: \"cardColor\", bandColor: \"bandColor\", textColor: \"textColor\", valueFormatting: \"valueFormatting\", labelFormatting: \"labelFormatting\" }, outputs: { select: \"select\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c47, decls: 2, vars: 4, consts: [[\"class\", \"card-empty\", \"rx\", \"3\", \"ry\", \"3\", 3, \"fill\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-card\", \"\", 3, \"x\", \"y\", \"width\", \"height\", \"color\", \"bandColor\", \"textColor\", \"data\", \"label\", \"medianSize\", \"valueFormatting\", \"labelFormatting\", \"animations\", \"select\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"rx\", \"3\", \"ry\", \"3\", 1, \"card-empty\"], [\"ngx-charts-card\", \"\", 3, \"x\", \"y\", \"width\", \"height\", \"color\", \"bandColor\", \"textColor\", \"data\", \"label\", \"medianSize\", \"valueFormatting\", \"labelFormatting\", \"animations\", \"select\"]], template: function CardSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CardSeriesComponent__svg_rect_0_Template, 1, 6, \"rect\", 0);\n ɵngcc0.ɵɵtemplate(1, CardSeriesComponent__svg_g_1_Template, 1, 13, \"g\", 1);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.emptySlots)(\"ngForTrackBy\", ctx.trackBy);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.cards)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: [ɵngcc1.NgForOf, CardComponent], encapsulation: 2, changeDetection: 0 });\nCardSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n dims: [{ type: Input }],\n colors: [{ type: Input }],\n innerPadding: [{ type: Input }],\n cardColor: [{ type: Input }],\n bandColor: [{ type: Input }],\n emptyColor: [{ type: Input }],\n textColor: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CardSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-card-series]',\n template: `\n <svg:rect\n *ngFor=\"let c of emptySlots; trackBy: trackBy\"\n class=\"card-empty\"\n [attr.x]=\"c.x\"\n [attr.y]=\"c.y\"\n [style.fill]=\"emptyColor\"\n [attr.width]=\"c.width\"\n [attr.height]=\"c.height\"\n rx=\"3\"\n ry=\"3\"\n />\n <svg:g\n ngx-charts-card\n *ngFor=\"let c of cards; trackBy: trackBy\"\n [x]=\"c.x\"\n [y]=\"c.y\"\n [width]=\"c.width\"\n [height]=\"c.height\"\n [color]=\"c.color\"\n [bandColor]=\"c.bandColor\"\n [textColor]=\"c.textColor\"\n [data]=\"c.data\"\n [label]=\"c.label\"\n [medianSize]=\"medianSize\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { innerPadding: [{\n type: Input\n }], emptyColor: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], data: [{\n type: Input\n }], dims: [{\n type: Input\n }], colors: [{\n type: Input\n }], cardColor: [{\n type: Input\n }], bandColor: [{\n type: Input\n }], textColor: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }], labelFormatting: [{\n type: Input\n }] }); })();\n\nclass NumberCardComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.emptyColor = 'rgba(0, 0, 0, 0)';\n this.innerPadding = 15;\n this.margin = [10, 10, 10, 10];\n }\n get clickable() {\n return !!this.select.observers.length;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.formatDates();\n this.domain = this.getDomain();\n this.setColors();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n const size = gridSize(this.dims, this.results.length, 150);\n const N = size[0] * size[1];\n const data = this.results.slice();\n while (data.length < N) {\n data.push({ value: null });\n }\n this.data = gridLayout(this.dims, data, 150, this.designatedTotal);\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n}\nNumberCardComponent.ɵfac = /*@__PURE__*/ function () { let ɵNumberCardComponent_BaseFactory; return function NumberCardComponent_Factory(t) { return (ɵNumberCardComponent_BaseFactory || (ɵNumberCardComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(NumberCardComponent)))(t || NumberCardComponent); }; }();\nNumberCardComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: NumberCardComponent, selectors: [[\"ngx-charts-number-card\"]], inputs: { emptyColor: \"emptyColor\", innerPadding: \"innerPadding\", cardColor: \"cardColor\", bandColor: \"bandColor\", textColor: \"textColor\", valueFormatting: \"valueFormatting\", labelFormatting: \"labelFormatting\", designatedTotal: \"designatedTotal\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 3, vars: 20, consts: [[3, \"view\", \"showLegend\", \"animations\"], [1, \"number-card\", \"chart\"], [\"ngx-charts-card-series\", \"\", 3, \"colors\", \"cardColor\", \"bandColor\", \"textColor\", \"emptyColor\", \"data\", \"dims\", \"innerPadding\", \"valueFormatting\", \"labelFormatting\", \"animations\", \"select\"]], template: function NumberCardComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1)(2, \"g\", 2);\n ɵngcc0.ɵɵlistener(\"select\", function NumberCardComponent_Template__svg_g_select_2_listener($event) { return ctx.onClick($event); });\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(17, _c23, ctx.width, ctx.height))(\"showLegend\", false)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"clickable\", ctx.clickable);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"colors\", ctx.colors)(\"cardColor\", ctx.cardColor)(\"bandColor\", ctx.bandColor)(\"textColor\", ctx.textColor)(\"emptyColor\", ctx.emptyColor)(\"data\", ctx.data)(\"dims\", ctx.dims)(\"innerPadding\", ctx.innerPadding)(\"valueFormatting\", ctx.valueFormatting)(\"labelFormatting\", ctx.labelFormatting)(\"animations\", ctx.animations);\n } }, dependencies: [ChartComponent, CardSeriesComponent], styles: [_c24, \"ngx-charts-number-card .cell .trimmed-label{font-size:12px;pointer-events:none;overflow:hidden;text-align:left;line-height:1em}ngx-charts-number-card .cell .trimmed-label p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;padding:0;margin:0}ngx-charts-number-card .cell .value-text{pointer-events:none}ngx-charts-number-card .number-card.clickable .cell .card,ngx-charts-number-card .number-card.clickable .cell .card-band{cursor:pointer}\\n\"], encapsulation: 2, changeDetection: 0 });\nNumberCardComponent.propDecorators = {\n cardColor: [{ type: Input }],\n bandColor: [{ type: Input }],\n emptyColor: [{ type: Input }],\n innerPadding: [{ type: Input }],\n textColor: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n designatedTotal: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NumberCardComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-number-card', template: `\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"number-card chart\" [class.clickable]=\"clickable\">\n <svg:g\n ngx-charts-card-series\n [colors]=\"colors\"\n [cardColor]=\"cardColor\"\n [bandColor]=\"bandColor\"\n [textColor]=\"textColor\"\n [emptyColor]=\"emptyColor\"\n [data]=\"data\"\n [dims]=\"dims\"\n [innerPadding]=\"innerPadding\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n />\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\", \"ngx-charts-number-card .cell .trimmed-label{font-size:12px;pointer-events:none;overflow:hidden;text-align:left;line-height:1em}ngx-charts-number-card .cell .trimmed-label p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;padding:0;margin:0}ngx-charts-number-card .cell .value-text{pointer-events:none}ngx-charts-number-card .number-card.clickable .cell .card,ngx-charts-number-card .number-card.clickable .cell .card-band{cursor:pointer}\\n\"] }]\n }], null, { emptyColor: [{\n type: Input\n }], innerPadding: [{\n type: Input\n }], cardColor: [{\n type: Input\n }], bandColor: [{\n type: Input\n }], textColor: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }], labelFormatting: [{\n type: Input\n }], designatedTotal: [{\n type: Input\n }] }); })();\n\nclass NumberCardModule {\n}\nNumberCardModule.ɵfac = function NumberCardModule_Factory(t) { return new (t || NumberCardModule)(); };\nNumberCardModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: NumberCardModule });\nNumberCardModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NumberCardModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule],\n declarations: [CardComponent, CardSeriesComponent, NumberCardComponent],\n exports: [CardComponent, CardSeriesComponent, NumberCardComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NumberCardModule, { declarations: [CardComponent, CardSeriesComponent, NumberCardComponent], imports: [ChartCommonModule], exports: [CardComponent, CardSeriesComponent, NumberCardComponent] }); })();\n\nclass TreeMapCellComponent {\n constructor(element) {\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.initialized = false;\n this.orientation = BarOrientation;\n this.element = element.nativeElement;\n }\n ngOnChanges() {\n this.update();\n this.valueFormatting = this.valueFormatting || (value => value.toLocaleString());\n const labelFormatting = this.labelFormatting || (cell => escapeLabel(trimLabel(cell.label, 55)));\n const cellData = {\n data: this.data,\n label: this.label,\n value: this.value\n };\n this.formattedValue = this.valueFormatting(cellData.value);\n this.formattedLabel = labelFormatting(cellData);\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n this.gradientStops = this.getGradientStops();\n }\n update() {\n if (this.initialized) {\n this.animateToCurrentForm();\n }\n else {\n if (this.animations) {\n this.loadAnimation();\n }\n this.initialized = true;\n }\n }\n loadAnimation() {\n const node = select(this.element).select('.cell');\n node.attr('opacity', 0).attr('x', this.x).attr('y', this.y);\n this.animateToCurrentForm();\n }\n getTextColor() {\n return invertColor(this.fill);\n }\n animateToCurrentForm() {\n const node = select(this.element).select('.cell');\n if (this.animations) {\n node\n .transition()\n .duration(750)\n .attr('opacity', 1)\n .attr('x', this.x)\n .attr('y', this.y)\n .attr('width', this.width)\n .attr('height', this.height);\n }\n else {\n node.attr('opacity', 1).attr('x', this.x).attr('y', this.y).attr('width', this.width).attr('height', this.height);\n }\n }\n onClick() {\n this.select.emit(this.data);\n }\n getGradientStops() {\n return [\n {\n offset: 0,\n color: this.fill,\n opacity: 0.3\n },\n {\n offset: 100,\n color: this.fill,\n opacity: 1\n }\n ];\n }\n}\nTreeMapCellComponent.ɵfac = function TreeMapCellComponent_Factory(t) { return new (t || TreeMapCellComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nTreeMapCellComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: TreeMapCellComponent, selectors: [[\"g\", \"ngx-charts-tree-map-cell\", \"\"]], inputs: { gradient: \"gradient\", animations: \"animations\", valueFormatting: \"valueFormatting\", data: \"data\", fill: \"fill\", x: \"x\", y: \"y\", width: \"width\", height: \"height\", label: \"label\", value: \"value\", labelFormatting: \"labelFormatting\" }, outputs: { select: \"select\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c48, decls: 4, vars: 7, consts: [[4, \"ngIf\"], [1, \"cell\", 3, \"click\"], [\"class\", \"treemap-label\", 3, \"pointer-events\", 4, \"ngIf\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"], [1, \"treemap-label\"], [1, \"treemap-label\", 3, \"innerHTML\"], [\"class\", \"treemap-val\", \"ngx-charts-count-up\", \"\", 3, \"countTo\", \"valueFormatting\", 4, \"ngIf\"], [\"class\", \"treemap-val\", 4, \"ngIf\"], [\"ngx-charts-count-up\", \"\", 1, \"treemap-val\", 3, \"countTo\", \"valueFormatting\"], [1, \"treemap-val\"]], template: function TreeMapCellComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, TreeMapCellComponent__svg_defs_1_Template, 2, 3, \"defs\", 0);\n ɵngcc0.ɵɵelementStart(2, \"rect\", 1);\n ɵngcc0.ɵɵlistener(\"click\", function TreeMapCellComponent_Template__svg_rect_click_2_listener() { return ctx.onClick(); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(3, TreeMapCellComponent__svg_foreignObject_3_Template, 6, 15, \"foreignObject\", 2);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.gradient);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"fill\", ctx.gradient ? ctx.gradientUrl : ctx.fill)(\"width\", ctx.width)(\"height\", ctx.height)(\"x\", ctx.x)(\"y\", ctx.y);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.width >= 70 && ctx.height >= 35);\n } }, dependencies: [ɵngcc1.NgIf, CountUpDirective, SvgLinearGradientComponent], encapsulation: 2, changeDetection: 0 });\nTreeMapCellComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nTreeMapCellComponent.propDecorators = {\n data: [{ type: Input }],\n fill: [{ type: Input }],\n x: [{ type: Input }],\n y: [{ type: Input }],\n width: [{ type: Input }],\n height: [{ type: Input }],\n label: [{ type: Input }],\n value: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n gradient: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TreeMapCellComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-tree-map-cell]',\n template: `\n <svg:g>\n <defs *ngIf=\"gradient\">\n <svg:g\n ngx-charts-svg-linear-gradient\n [orientation]=\"orientation.Vertical\"\n [name]=\"gradientId\"\n [stops]=\"gradientStops\"\n />\n </defs>\n <svg:rect\n [attr.fill]=\"gradient ? gradientUrl : fill\"\n [attr.width]=\"width\"\n [attr.height]=\"height\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n class=\"cell\"\n (click)=\"onClick()\"\n />\n <svg:foreignObject\n *ngIf=\"width >= 70 && height >= 35\"\n [attr.x]=\"x\"\n [attr.y]=\"y\"\n [attr.width]=\"width\"\n [attr.height]=\"height\"\n class=\"treemap-label\"\n [style.pointer-events]=\"'none'\"\n >\n <xhtml:p [style.color]=\"getTextColor()\" [style.height]=\"height + 'px'\" [style.width]=\"width + 'px'\">\n <xhtml:span class=\"treemap-label\" [innerHTML]=\"formattedLabel\"> </xhtml:span>\n <xhtml:br />\n <xhtml:span\n *ngIf=\"animations\"\n class=\"treemap-val\"\n ngx-charts-count-up\n [countTo]=\"value\"\n [valueFormatting]=\"valueFormatting\"\n >\n </xhtml:span>\n <xhtml:span *ngIf=\"!animations\" class=\"treemap-val\">\n {{ formattedValue }}\n </xhtml:span>\n </xhtml:p>\n </svg:foreignObject>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { gradient: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], valueFormatting: [{\n type: Input\n }], data: [{\n type: Input\n }], fill: [{\n type: Input\n }], x: [{\n type: Input\n }], y: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], label: [{\n type: Input\n }], value: [{\n type: Input\n }], labelFormatting: [{\n type: Input\n }] }); })();\n\nclass TreeMapCellSeriesComponent {\n constructor() {\n this.gradient = false;\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.styleTypes = StyleTypes;\n this.placementTypes = PlacementTypes;\n }\n ngOnChanges(changes) {\n this.cells = this.getCells();\n }\n getCells() {\n return this.data.children\n .filter(d => {\n return d.depth === 1;\n })\n .map((d, index) => {\n const label = d.id;\n return {\n data: d.data,\n x: d.x0,\n y: d.y0,\n width: d.x1 - d.x0,\n height: d.y1 - d.y0,\n fill: this.colors.getColor(label),\n label,\n value: d.value\n };\n });\n }\n getTooltipText({ label, value }) {\n return `\n <span class=\"tooltip-label\">${escapeLabel(label)}</span>\n <span class=\"tooltip-val\">${value.toLocaleString()}</span>\n `;\n }\n onClick(data) {\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.label;\n }\n}\nTreeMapCellSeriesComponent.ɵfac = function TreeMapCellSeriesComponent_Factory(t) { return new (t || TreeMapCellSeriesComponent)(); };\nTreeMapCellSeriesComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: TreeMapCellSeriesComponent, selectors: [[\"g\", \"ngx-charts-tree-map-cell-series\", \"\"]], inputs: { gradient: \"gradient\", tooltipDisabled: \"tooltipDisabled\", animations: \"animations\", data: \"data\", dims: \"dims\", colors: \"colors\", valueFormatting: \"valueFormatting\", labelFormatting: \"labelFormatting\", tooltipTemplate: \"tooltipTemplate\" }, outputs: { select: \"select\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c49, decls: 1, vars: 2, consts: [[\"ngx-charts-tree-map-cell\", \"\", \"ngx-tooltip\", \"\", 3, \"data\", \"x\", \"y\", \"width\", \"height\", \"fill\", \"label\", \"value\", \"valueFormatting\", \"labelFormatting\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-tree-map-cell\", \"\", \"ngx-tooltip\", \"\", 3, \"data\", \"x\", \"y\", \"width\", \"height\", \"fill\", \"label\", \"value\", \"valueFormatting\", \"labelFormatting\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\"]], template: function TreeMapCellSeriesComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, TreeMapCellSeriesComponent__svg_g_0_Template, 1, 18, \"g\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.cells)(\"ngForTrackBy\", ctx.trackBy);\n } }, dependencies: [ɵngcc1.NgForOf, TooltipDirective, TreeMapCellComponent], encapsulation: 2, changeDetection: 0 });\nTreeMapCellSeriesComponent.propDecorators = {\n data: [{ type: Input }],\n dims: [{ type: Input }],\n colors: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n gradient: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TreeMapCellSeriesComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-tree-map-cell-series]',\n template: `\n <svg:g\n ngx-charts-tree-map-cell\n *ngFor=\"let c of cells; trackBy: trackBy\"\n [data]=\"c.data\"\n [x]=\"c.x\"\n [y]=\"c.y\"\n [width]=\"c.width\"\n [height]=\"c.height\"\n [fill]=\"c.fill\"\n [label]=\"c.label\"\n [value]=\"c.value\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"placementTypes.Top\"\n [tooltipType]=\"styleTypes.tooltip\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : getTooltipText(c)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"c.data\"\n ></svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { gradient: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], data: [{\n type: Input\n }], dims: [{\n type: Input\n }], colors: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }], labelFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }] }); })();\n\nclass TreeMapComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.tooltipDisabled = false;\n this.gradient = false;\n this.select = new EventEmitter();\n this.margin = [10, 10, 10, 10];\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.domain = this.getDomain();\n this.treemap = treemap().size([this.dims.width, this.dims.height]);\n const rootNode = {\n name: 'root',\n value: 0,\n isRoot: true\n };\n const root = stratify()\n .id(d => {\n let label = d.name;\n if (label.constructor.name === 'Date') {\n label = label.toLocaleDateString();\n }\n else {\n label = label.toLocaleString();\n }\n return label;\n })\n .parentId(d => (d.isRoot ? null : 'root'))([rootNode, ...this.results])\n .sum(d => d.value);\n this.data = this.treemap(root);\n this.setColors();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getDomain() {\n return this.results.map(d => d.name);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n}\nTreeMapComponent.ɵfac = /*@__PURE__*/ function () { let ɵTreeMapComponent_BaseFactory; return function TreeMapComponent_Factory(t) { return (ɵTreeMapComponent_BaseFactory || (ɵTreeMapComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(TreeMapComponent)))(t || TreeMapComponent); }; }();\nTreeMapComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: TreeMapComponent, selectors: [[\"ngx-charts-tree-map\"]], contentQueries: function TreeMapComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, inputs: { tooltipDisabled: \"tooltipDisabled\", gradient: \"gradient\", results: \"results\", valueFormatting: \"valueFormatting\", labelFormatting: \"labelFormatting\" }, outputs: { select: \"select\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 3, vars: 16, consts: [[3, \"view\", \"showLegend\", \"animations\"], [1, \"tree-map\", \"chart\"], [\"ngx-charts-tree-map-cell-series\", \"\", 3, \"colors\", \"data\", \"dims\", \"tooltipDisabled\", \"tooltipTemplate\", \"valueFormatting\", \"labelFormatting\", \"gradient\", \"animations\", \"select\"]], template: function TreeMapComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1)(2, \"g\", 2);\n ɵngcc0.ɵɵlistener(\"select\", function TreeMapComponent_Template__svg_g_select_2_listener($event) { return ctx.onClick($event); });\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(13, _c23, ctx.width, ctx.height))(\"showLegend\", false)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"colors\", ctx.colors)(\"data\", ctx.data)(\"dims\", ctx.dims)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"valueFormatting\", ctx.valueFormatting)(\"labelFormatting\", ctx.labelFormatting)(\"gradient\", ctx.gradient)(\"animations\", ctx.animations);\n } }, dependencies: [ChartComponent, TreeMapCellSeriesComponent], styles: [\".tree-map .treemap-val{font-size:1.3em;padding-top:5px;display:inline-block}.tree-map .treemap-label p{display:table-cell;text-align:center;line-height:1.2em;vertical-align:middle}\\n\"], encapsulation: 2, changeDetection: 0 });\nTreeMapComponent.propDecorators = {\n results: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n labelFormatting: [{ type: Input }],\n gradient: [{ type: Input }],\n select: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TreeMapComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-tree-map', template: `\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\">\n <svg:g [attr.transform]=\"transform\" class=\"tree-map chart\">\n <svg:g\n ngx-charts-tree-map-cell-series\n [colors]=\"colors\"\n [data]=\"data\"\n [dims]=\"dims\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [valueFormatting]=\"valueFormatting\"\n [labelFormatting]=\"labelFormatting\"\n [gradient]=\"gradient\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n />\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".tree-map .treemap-val{font-size:1.3em;padding-top:5px;display:inline-block}.tree-map .treemap-label p{display:table-cell;text-align:center;line-height:1.2em;vertical-align:middle}\\n\"] }]\n }], null, { tooltipDisabled: [{\n type: Input\n }], gradient: [{\n type: Input\n }], select: [{\n type: Output\n }], results: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }], labelFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }] }); })();\n\nclass TreeMapModule {\n}\nTreeMapModule.ɵfac = function TreeMapModule_Factory(t) { return new (t || TreeMapModule)(); };\nTreeMapModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: TreeMapModule });\nTreeMapModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TreeMapModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule],\n declarations: [TreeMapCellComponent, TreeMapCellSeriesComponent, TreeMapComponent],\n exports: [TreeMapCellComponent, TreeMapCellSeriesComponent, TreeMapComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TreeMapModule, { declarations: [TreeMapCellComponent, TreeMapCellSeriesComponent, TreeMapComponent], imports: [ChartCommonModule], exports: [TreeMapCellComponent, TreeMapCellSeriesComponent, TreeMapComponent] }); })();\n\nvar ElementType;\n(function (ElementType) {\n ElementType[\"Value\"] = \"value\";\n ElementType[\"Units\"] = \"units\";\n})(ElementType || (ElementType = {}));\nclass LinearGaugeComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.min = 0;\n this.max = 100;\n this.value = 0;\n this.margin = [10, 20, 10, 20];\n this.valueResizeScale = 1;\n this.unitsResizeScale = 1;\n this.valueTextTransform = '';\n this.valueTranslate = '';\n this.unitsTextTransform = '';\n this.unitsTranslate = '';\n this.barOrientation = BarOrientation;\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n setTimeout(() => {\n this.scaleText(ElementType.Value);\n this.scaleText(ElementType.Units);\n });\n }\n update() {\n super.update();\n this.hasPreviousValue = this.previousValue !== undefined;\n this.max = Math.max(this.max, this.value);\n this.min = Math.min(this.min, this.value);\n if (this.hasPreviousValue) {\n this.max = Math.max(this.max, this.previousValue);\n this.min = Math.min(this.min, this.previousValue);\n }\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.valueDomain = this.getValueDomain();\n this.valueScale = this.getValueScale();\n this.displayValue = this.getDisplayValue();\n this.setColors();\n const xOffset = this.margin[3] + this.dims.width / 2;\n const yOffset = this.margin[0] + this.dims.height / 2;\n this.transform = `translate(${xOffset}, ${yOffset})`;\n this.transformLine = `translate(${this.margin[3] + this.valueScale(this.previousValue)}, ${yOffset})`;\n this.valueTranslate = `translate(0, -15)`;\n this.unitsTranslate = `translate(0, 15)`;\n if (isPlatformServer(this.platformId)) {\n this.scaleTextSSR('value');\n this.scaleTextSSR('units');\n }\n else {\n setTimeout(() => this.scaleText(ElementType.Value), 50);\n setTimeout(() => this.scaleText(ElementType.Units), 50);\n }\n }\n getValueDomain() {\n return [this.min, this.max];\n }\n getValueScale() {\n return scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n }\n getDisplayValue() {\n if (this.valueFormatting) {\n return this.valueFormatting(this.value);\n }\n return this.value.toLocaleString();\n }\n scaleText(element, repeat = true) {\n let el;\n let resizeScale;\n if (element === ElementType.Value) {\n el = this.valueTextEl;\n resizeScale = this.valueResizeScale;\n }\n else {\n el = this.unitsTextEl;\n resizeScale = this.unitsResizeScale;\n }\n const { width, height } = el.nativeElement.getBoundingClientRect();\n if (width === 0 || height === 0)\n return;\n const oldScale = resizeScale;\n const availableWidth = this.dims.width;\n const availableHeight = Math.max(this.dims.height / 2 - 15, 0);\n const resizeScaleWidth = Math.floor((availableWidth / (width / resizeScale)) * 100) / 100;\n const resizeScaleHeight = Math.floor((availableHeight / (height / resizeScale)) * 100) / 100;\n resizeScale = Math.min(resizeScaleHeight, resizeScaleWidth);\n if (resizeScale !== oldScale) {\n if (element === ElementType.Value) {\n this.valueResizeScale = resizeScale;\n this.valueTextTransform = `scale(${resizeScale}, ${resizeScale})`;\n }\n else {\n this.unitsResizeScale = resizeScale;\n this.unitsTextTransform = `scale(${resizeScale}, ${resizeScale})`;\n }\n this.cd.markForCheck();\n if (repeat && isPlatformBrowser(this.platformId)) {\n setTimeout(() => {\n this.scaleText(element, false);\n }, 50);\n }\n }\n }\n scaleTextSSR(element) {\n let resizeScale = 1;\n const value = element === 'value' ? this.displayValue : this.units;\n const width = calculateTextWidth(VERDANA_FONT_WIDTHS_16_PX, value, 10);\n const height = 25;\n const availableWidth = this.dims.width;\n const availableHeight = Math.max(this.dims.height / 2 - 15, 0);\n const resizeScaleWidth = Math.floor((availableWidth / (width / resizeScale)) * 100) / 100;\n const resizeScaleHeight = Math.floor((availableHeight / (height / resizeScale)) * 100) / 100;\n resizeScale = Math.min(resizeScaleHeight, resizeScaleWidth);\n if (element === 'value') {\n this.valueResizeScale = resizeScale;\n this.valueTextTransform = `scale(${resizeScale}, ${resizeScale})`;\n }\n else {\n this.unitsResizeScale = resizeScale;\n this.unitsTextTransform = `scale(${resizeScale}, ${resizeScale})`;\n }\n this.cd.markForCheck();\n }\n onClick() {\n this.select.emit({\n name: 'Value',\n value: this.value\n });\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, [this.value], this.customColors);\n }\n}\nLinearGaugeComponent.ɵfac = /*@__PURE__*/ function () { let ɵLinearGaugeComponent_BaseFactory; return function LinearGaugeComponent_Factory(t) { return (ɵLinearGaugeComponent_BaseFactory || (ɵLinearGaugeComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(LinearGaugeComponent)))(t || LinearGaugeComponent); }; }();\nLinearGaugeComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: LinearGaugeComponent, selectors: [[\"ngx-charts-linear-gauge\"]], viewQuery: function LinearGaugeComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c50, 5);\n ɵngcc0.ɵɵviewQuery(_c51, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.valueTextEl = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.unitsTextEl = _t.first);\n } }, inputs: { min: \"min\", max: \"max\", value: \"value\", units: \"units\", previousValue: \"previousValue\", valueFormatting: \"valueFormatting\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 15, vars: 38, consts: [[3, \"view\", \"showLegend\", \"animations\", \"click\"], [1, \"linear-gauge\", \"chart\"], [\"ngx-charts-bar\", \"\", 1, \"background-bar\", 3, \"width\", \"height\", \"x\", \"y\", \"data\", \"orientation\", \"roundEdges\", \"animations\"], [\"ngx-charts-bar\", \"\", 3, \"width\", \"height\", \"x\", \"y\", \"fill\", \"data\", \"orientation\", \"roundEdges\", \"animations\"], [\"x1\", \"0\", \"y1\", \"5\", \"x2\", \"0\", \"y2\", \"15\", 4, \"ngIf\"], [\"x1\", \"0\", \"y1\", \"-5\", \"x2\", \"0\", \"y2\", \"-15\", 4, \"ngIf\"], [\"alignment-baseline\", \"after-edge\", 1, \"value\"], [\"valueTextEl\", \"\"], [\"alignment-baseline\", \"before-edge\", 1, \"units\"], [\"unitsTextEl\", \"\"], [\"x1\", \"0\", \"y1\", \"5\", \"x2\", \"0\", \"y2\", \"15\"], [\"x1\", \"0\", \"y1\", \"-5\", \"x2\", \"0\", \"y2\", \"-15\"]], template: function LinearGaugeComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"click\", function LinearGaugeComponent_Template_ngx_charts_chart_click_0_listener() { return ctx.onClick(); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵelement(2, \"g\", 2)(3, \"g\", 3);\n ɵngcc0.ɵɵtemplate(4, LinearGaugeComponent__svg_line_4_Template, 1, 2, \"line\", 4);\n ɵngcc0.ɵɵtemplate(5, LinearGaugeComponent__svg_line_5_Template, 1, 2, \"line\", 5);\n ɵngcc0.ɵɵelementStart(6, \"g\")(7, \"g\")(8, \"text\", 6, 7);\n ɵngcc0.ɵɵtext(10);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(11, \"g\")(12, \"text\", 8, 9);\n ɵngcc0.ɵɵtext(14);\n ɵngcc0.ɵɵelementEnd()()()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(33, _c23, ctx.width, ctx.height))(\"showLegend\", false)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"width\", ctx.dims.width)(\"height\", 3)(\"x\", ctx.margin[3])(\"y\", ctx.dims.height / 2 + ctx.margin[0] - 2)(\"data\", ɵngcc0.ɵɵpureFunction0(36, _c52))(\"orientation\", ctx.barOrientation.Horizontal)(\"roundEdges\", true)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"width\", ctx.valueScale(ctx.value))(\"height\", 3)(\"x\", ctx.margin[3])(\"y\", ctx.dims.height / 2 + ctx.margin[0] - 2)(\"fill\", ctx.colors.getColor(ctx.units))(\"data\", ɵngcc0.ɵɵpureFunction0(37, _c52))(\"orientation\", ctx.barOrientation.Horizontal)(\"roundEdges\", true)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.hasPreviousValue);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.hasPreviousValue);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.valueTranslate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"text-anchor\", \"middle\");\n ɵngcc0.ɵɵattribute(\"transform\", ctx.valueTextTransform);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx.displayValue, \" \");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.unitsTranslate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"text-anchor\", \"middle\");\n ɵngcc0.ɵɵattribute(\"transform\", ctx.unitsTextTransform);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx.units, \" \");\n } }, dependencies: [ɵngcc1.NgIf, ChartComponent, BarComponent], styles: [_c24, \".linear-gauge{cursor:pointer}.linear-gauge .background-bar path{fill:#0000000d}.linear-gauge .units{fill:#666}\\n\"], encapsulation: 2, changeDetection: 0 });\nLinearGaugeComponent.propDecorators = {\n min: [{ type: Input }],\n max: [{ type: Input }],\n value: [{ type: Input }],\n units: [{ type: Input }],\n previousValue: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n valueTextEl: [{ type: ViewChild, args: ['valueTextEl',] }],\n unitsTextEl: [{ type: ViewChild, args: ['unitsTextEl',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LinearGaugeComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-linear-gauge', template: `\n <ngx-charts-chart [view]=\"[width, height]\" [showLegend]=\"false\" [animations]=\"animations\" (click)=\"onClick()\">\n <svg:g class=\"linear-gauge chart\">\n <svg:g\n ngx-charts-bar\n class=\"background-bar\"\n [width]=\"dims.width\"\n [height]=\"3\"\n [x]=\"margin[3]\"\n [y]=\"dims.height / 2 + margin[0] - 2\"\n [data]=\"{}\"\n [orientation]=\"barOrientation.Horizontal\"\n [roundEdges]=\"true\"\n [animations]=\"animations\"\n ></svg:g>\n <svg:g\n ngx-charts-bar\n [width]=\"valueScale(value)\"\n [height]=\"3\"\n [x]=\"margin[3]\"\n [y]=\"dims.height / 2 + margin[0] - 2\"\n [fill]=\"colors.getColor(units)\"\n [data]=\"{}\"\n [orientation]=\"barOrientation.Horizontal\"\n [roundEdges]=\"true\"\n [animations]=\"animations\"\n ></svg:g>\n\n <svg:line\n *ngIf=\"hasPreviousValue\"\n [attr.transform]=\"transformLine\"\n x1=\"0\"\n y1=\"5\"\n x2=\"0\"\n y2=\"15\"\n [attr.stroke]=\"colors.getColor(units)\"\n />\n\n <svg:line\n *ngIf=\"hasPreviousValue\"\n [attr.transform]=\"transformLine\"\n x1=\"0\"\n y1=\"-5\"\n x2=\"0\"\n y2=\"-15\"\n [attr.stroke]=\"colors.getColor(units)\"\n />\n\n <svg:g [attr.transform]=\"transform\">\n <svg:g [attr.transform]=\"valueTranslate\">\n <svg:text\n #valueTextEl\n class=\"value\"\n [style.textAnchor]=\"'middle'\"\n [attr.transform]=\"valueTextTransform\"\n alignment-baseline=\"after-edge\"\n >\n {{ displayValue }}\n </svg:text>\n </svg:g>\n\n <svg:g [attr.transform]=\"unitsTranslate\">\n <svg:text\n #unitsTextEl\n class=\"units\"\n [style.textAnchor]=\"'middle'\"\n [attr.transform]=\"unitsTextTransform\"\n alignment-baseline=\"before-edge\"\n >\n {{ units }}\n </svg:text>\n </svg:g>\n </svg:g>\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\", \".linear-gauge{cursor:pointer}.linear-gauge .background-bar path{fill:#0000000d}.linear-gauge .units{fill:#666}\\n\"] }]\n }], null, { min: [{\n type: Input\n }], max: [{\n type: Input\n }], value: [{\n type: Input\n }], units: [{\n type: Input\n }], previousValue: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }], valueTextEl: [{\n type: ViewChild,\n args: ['valueTextEl']\n }], unitsTextEl: [{\n type: ViewChild,\n args: ['unitsTextEl']\n }] }); })();\n\nclass GaugeComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.min = 0;\n this.max = 100;\n this.bigSegments = 10;\n this.smallSegments = 5;\n this.showAxis = true;\n this.startAngle = -120;\n this.angleSpan = 240;\n this.activeEntries = [];\n this.tooltipDisabled = false;\n this.showText = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.resizeScale = 1;\n this.rotation = '';\n this.textTransform = 'scale(1, 1)';\n this.cornerRadius = 10;\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n setTimeout(() => this.scaleText());\n }\n update() {\n super.update();\n if (!this.showAxis) {\n if (!this.margin) {\n this.margin = [10, 20, 10, 20];\n }\n }\n else {\n if (!this.margin) {\n this.margin = [60, 100, 60, 100];\n }\n }\n // make the starting angle positive\n if (this.startAngle < 0) {\n this.startAngle = (this.startAngle % 360) + 360;\n }\n this.angleSpan = Math.min(this.angleSpan, 360);\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showLegend: this.legend,\n legendPosition: this.legendPosition\n });\n this.domain = this.getDomain();\n this.valueDomain = this.getValueDomain();\n this.valueScale = this.getValueScale();\n this.displayValue = this.getDisplayValue();\n this.outerRadius = Math.min(this.dims.width, this.dims.height) / 2;\n this.arcs = this.getArcs();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n const xOffset = this.margin[3] + this.dims.width / 2;\n const yOffset = this.margin[0] + this.dims.height / 2;\n this.transform = `translate(${xOffset}, ${yOffset})`;\n this.rotation = `rotate(${this.startAngle})`;\n setTimeout(() => this.scaleText(), 50);\n }\n getArcs() {\n const arcs = [];\n const availableRadius = this.outerRadius * 0.7;\n const radiusPerArc = Math.min(availableRadius / this.results.length, 10);\n const arcWidth = radiusPerArc * 0.7;\n this.textRadius = this.outerRadius - this.results.length * radiusPerArc;\n this.cornerRadius = Math.floor(arcWidth / 2);\n let i = 0;\n for (const d of this.results) {\n const outerRadius = this.outerRadius - i * radiusPerArc;\n const innerRadius = outerRadius - arcWidth;\n const backgroundArc = {\n endAngle: (this.angleSpan * Math.PI) / 180,\n innerRadius,\n outerRadius,\n data: {\n value: this.max,\n name: d.name\n }\n };\n const valueArc = {\n endAngle: (Math.min(this.valueScale(d.value), this.angleSpan) * Math.PI) / 180,\n innerRadius,\n outerRadius,\n data: {\n value: d.value,\n name: d.name\n }\n };\n const arc = {\n backgroundArc,\n valueArc\n };\n arcs.push(arc);\n i++;\n }\n return arcs;\n }\n getDomain() {\n return this.results.map(d => d.name);\n }\n getValueDomain() {\n const values = this.results.map(d => d.value);\n const dataMin = Math.min(...values);\n const dataMax = Math.max(...values);\n if (this.min !== undefined) {\n this.min = Math.min(this.min, dataMin);\n }\n else {\n this.min = dataMin;\n }\n if (this.max !== undefined) {\n this.max = Math.max(this.max, dataMax);\n }\n else {\n this.max = dataMax;\n }\n return [this.min, this.max];\n }\n getValueScale() {\n return scaleLinear().range([0, this.angleSpan]).nice().domain(this.valueDomain);\n }\n getDisplayValue() {\n const value = this.results.map(d => d.value).reduce((a, b) => a + b, 0);\n if (this.textValue && 0 !== this.textValue.length) {\n return this.textValue.toLocaleString();\n }\n if (this.valueFormatting) {\n return this.valueFormatting(value);\n }\n return value.toLocaleString();\n }\n scaleText(repeat = true) {\n if (!this.showText) {\n return;\n }\n const { width } = this.textEl.nativeElement.getBoundingClientRect();\n const oldScale = this.resizeScale;\n if (width === 0) {\n this.resizeScale = 1;\n }\n else {\n const availableSpace = this.textRadius;\n this.resizeScale = Math.floor((availableSpace / (width / this.resizeScale)) * 100) / 100;\n }\n if (this.resizeScale !== oldScale) {\n this.textTransform = `scale(${this.resizeScale}, ${this.resizeScale})`;\n this.cd.markForCheck();\n if (repeat) {\n setTimeout(() => this.scaleText(false), 50);\n }\n }\n }\n onClick(data) {\n this.select.emit(data);\n }\n getLegendOptions() {\n return {\n scaleType: ScaleType.Ordinal,\n colors: this.colors,\n domain: this.domain,\n title: this.legendTitle,\n position: this.legendPosition\n };\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({ value: item, entries: this.activeEntries });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({ value: item, entries: this.activeEntries });\n }\n isActive(entry) {\n if (!this.activeEntries)\n return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name && entry.series === d.series;\n });\n return item !== undefined;\n }\n trackBy(index, item) {\n return item.valueArc.data.name;\n }\n}\nGaugeComponent.ɵfac = /*@__PURE__*/ function () { let ɵGaugeComponent_BaseFactory; return function GaugeComponent_Factory(t) { return (ɵGaugeComponent_BaseFactory || (ɵGaugeComponent_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(GaugeComponent)))(t || GaugeComponent); }; }();\nGaugeComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: GaugeComponent, selectors: [[\"ngx-charts-gauge\"]], contentQueries: function GaugeComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, _c21, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n } }, viewQuery: function GaugeComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c45, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.textEl = _t.first);\n } }, inputs: { legend: \"legend\", legendTitle: \"legendTitle\", legendPosition: \"legendPosition\", min: \"min\", max: \"max\", bigSegments: \"bigSegments\", smallSegments: \"smallSegments\", showAxis: \"showAxis\", startAngle: \"startAngle\", angleSpan: \"angleSpan\", activeEntries: \"activeEntries\", tooltipDisabled: \"tooltipDisabled\", showText: \"showText\", margin: \"margin\", textValue: \"textValue\", units: \"units\", results: \"results\", axisTickFormatting: \"axisTickFormatting\", valueFormatting: \"valueFormatting\" }, outputs: { activate: \"activate\", deactivate: \"deactivate\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 5, vars: 13, consts: [[3, \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\", \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\"], [1, \"gauge\", \"chart\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-gauge-axis\", \"\", 3, \"bigSegments\", \"smallSegments\", \"min\", \"max\", \"radius\", \"angleSpan\", \"valueScale\", \"startAngle\", \"tickFormatting\", 4, \"ngIf\"], [\"alignment-baseline\", \"central\", 3, \"textAnchor\", 4, \"ngIf\"], [\"ngx-charts-gauge-arc\", \"\", 3, \"backgroundArc\", \"valueArc\", \"cornerRadius\", \"colors\", \"isActive\", \"tooltipDisabled\", \"tooltipTemplate\", \"valueFormatting\", \"animations\", \"select\", \"activate\", \"deactivate\"], [\"ngx-charts-gauge-axis\", \"\", 3, \"bigSegments\", \"smallSegments\", \"min\", \"max\", \"radius\", \"angleSpan\", \"valueScale\", \"startAngle\", \"tickFormatting\"], [\"alignment-baseline\", \"central\"], [\"textEl\", \"\"], [\"x\", \"0\", \"dy\", \"0\"], [\"x\", \"0\", \"dy\", \"1.2em\"]], template: function GaugeComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n ɵngcc0.ɵɵlistener(\"legendLabelClick\", function GaugeComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) { return ctx.onClick($event); })(\"legendLabelActivate\", function GaugeComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) { return ctx.onActivate($event); })(\"legendLabelDeactivate\", function GaugeComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) { return ctx.onDeactivate($event); });\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵtemplate(2, GaugeComponent__svg_g_2_Template, 2, 10, \"g\", 2);\n ɵngcc0.ɵɵtemplate(3, GaugeComponent__svg_g_3_Template, 1, 9, \"g\", 3);\n ɵngcc0.ɵɵtemplate(4, GaugeComponent__svg_text_4_Template, 6, 5, \"text\", 4);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"view\", ɵngcc0.ɵɵpureFunction2(10, _c23, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"transform\", ctx.transform);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.arcs)(\"ngForTrackBy\", ctx.trackBy);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showAxis);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showText);\n } }, dependencies: function () { return [ɵngcc1.NgForOf, ɵngcc1.NgIf, ChartComponent, GaugeArcComponent, GaugeAxisComponent]; }, styles: [_c24, \".gauge .background-arc path{fill:#0000000d}.gauge .gauge-tick path{stroke:#666}.gauge .gauge-tick text{font-size:12px;fill:#666;font-weight:bold}.gauge .gauge-tick-large path{stroke-width:2px}.gauge .gauge-tick-small path{stroke-width:1px}\\n\"], encapsulation: 2, changeDetection: 0 });\nGaugeComponent.propDecorators = {\n legend: [{ type: Input }],\n legendTitle: [{ type: Input }],\n legendPosition: [{ type: Input }],\n min: [{ type: Input }],\n max: [{ type: Input }],\n textValue: [{ type: Input }],\n units: [{ type: Input }],\n bigSegments: [{ type: Input }],\n smallSegments: [{ type: Input }],\n results: [{ type: Input }],\n showAxis: [{ type: Input }],\n startAngle: [{ type: Input }],\n angleSpan: [{ type: Input }],\n activeEntries: [{ type: Input }],\n axisTickFormatting: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n showText: [{ type: Input }],\n margin: [{ type: Input }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }],\n tooltipTemplate: [{ type: ContentChild, args: ['tooltipTemplate',] }],\n textEl: [{ type: ViewChild, args: ['textEl',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GaugeComponent, [{\n type: Component,\n args: [{ selector: 'ngx-charts-gauge', template: `\n <ngx-charts-chart\n [view]=\"[width, height]\"\n [showLegend]=\"legend\"\n [legendOptions]=\"legendOptions\"\n [activeEntries]=\"activeEntries\"\n [animations]=\"animations\"\n (legendLabelClick)=\"onClick($event)\"\n (legendLabelActivate)=\"onActivate($event)\"\n (legendLabelDeactivate)=\"onDeactivate($event)\"\n >\n <svg:g [attr.transform]=\"transform\" class=\"gauge chart\">\n <svg:g *ngFor=\"let arc of arcs; trackBy: trackBy\" [attr.transform]=\"rotation\">\n <svg:g\n ngx-charts-gauge-arc\n [backgroundArc]=\"arc.backgroundArc\"\n [valueArc]=\"arc.valueArc\"\n [cornerRadius]=\"cornerRadius\"\n [colors]=\"colors\"\n [isActive]=\"isActive(arc.valueArc.data)\"\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [valueFormatting]=\"valueFormatting\"\n [animations]=\"animations\"\n (select)=\"onClick($event)\"\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></svg:g>\n </svg:g>\n\n <svg:g\n ngx-charts-gauge-axis\n *ngIf=\"showAxis\"\n [bigSegments]=\"bigSegments\"\n [smallSegments]=\"smallSegments\"\n [min]=\"min\"\n [max]=\"max\"\n [radius]=\"outerRadius\"\n [angleSpan]=\"angleSpan\"\n [valueScale]=\"valueScale\"\n [startAngle]=\"startAngle\"\n [tickFormatting]=\"axisTickFormatting\"\n ></svg:g>\n\n <svg:text\n #textEl\n *ngIf=\"showText\"\n [style.textAnchor]=\"'middle'\"\n [attr.transform]=\"textTransform\"\n alignment-baseline=\"central\"\n >\n <tspan x=\"0\" dy=\"0\">{{ displayValue }}</tspan>\n <tspan x=\"0\" dy=\"1.2em\">{{ units }}</tspan>\n </svg:text>\n </svg:g>\n </ngx-charts-chart>\n `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\".ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:normal}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\", \".gauge .background-arc path{fill:#0000000d}.gauge .gauge-tick path{stroke:#666}.gauge .gauge-tick text{font-size:12px;fill:#666;font-weight:bold}.gauge .gauge-tick-large path{stroke-width:2px}.gauge .gauge-tick-small path{stroke-width:1px}\\n\"] }]\n }], null, { legend: [{\n type: Input\n }], legendTitle: [{\n type: Input\n }], legendPosition: [{\n type: Input\n }], min: [{\n type: Input\n }], max: [{\n type: Input\n }], bigSegments: [{\n type: Input\n }], smallSegments: [{\n type: Input\n }], showAxis: [{\n type: Input\n }], startAngle: [{\n type: Input\n }], angleSpan: [{\n type: Input\n }], activeEntries: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], showText: [{\n type: Input\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], margin: [{\n type: Input\n }], textValue: [{\n type: Input\n }], units: [{\n type: Input\n }], results: [{\n type: Input\n }], axisTickFormatting: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: ContentChild,\n args: ['tooltipTemplate']\n }], textEl: [{\n type: ViewChild,\n args: ['textEl']\n }] }); })();\n\nclass GaugeArcComponent {\n constructor() {\n this.isActive = false;\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n tooltipText(arc) {\n const label = formatLabel(arc.data.name);\n let val;\n if (this.valueFormatting) {\n val = this.valueFormatting(arc.data.value);\n }\n else {\n val = formatLabel(arc.data.value);\n }\n return `\n <span class=\"tooltip-label\">${escapeLabel(label)}</span>\n <span class=\"tooltip-val\">${val}</span>\n `;\n }\n}\nGaugeArcComponent.ɵfac = function GaugeArcComponent_Factory(t) { return new (t || GaugeArcComponent)(); };\nGaugeArcComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: GaugeArcComponent, selectors: [[\"g\", \"ngx-charts-gauge-arc\", \"\"]], inputs: { isActive: \"isActive\", tooltipDisabled: \"tooltipDisabled\", animations: \"animations\", backgroundArc: \"backgroundArc\", valueArc: \"valueArc\", cornerRadius: \"cornerRadius\", colors: \"colors\", valueFormatting: \"valueFormatting\", tooltipTemplate: \"tooltipTemplate\" }, outputs: { select: \"select\", activate: \"activate\", deactivate: \"deactivate\" }, attrs: _c53, decls: 2, vars: 23, consts: [[\"ngx-charts-pie-arc\", \"\", 1, \"background-arc\", 3, \"startAngle\", \"endAngle\", \"innerRadius\", \"outerRadius\", \"cornerRadius\", \"data\", \"animate\", \"pointerEvents\"], [\"ngx-charts-pie-arc\", \"\", \"ngx-tooltip\", \"\", 3, \"startAngle\", \"endAngle\", \"innerRadius\", \"outerRadius\", \"cornerRadius\", \"fill\", \"data\", \"animate\", \"isActive\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\"]], template: function GaugeArcComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelement(0, \"g\", 0);\n ɵngcc0.ɵɵelementStart(1, \"g\", 1);\n ɵngcc0.ɵɵlistener(\"select\", function GaugeArcComponent_Template__svg_g_select_1_listener($event) { return ctx.select.emit($event); })(\"activate\", function GaugeArcComponent_Template__svg_g_activate_1_listener($event) { return ctx.activate.emit($event); })(\"deactivate\", function GaugeArcComponent_Template__svg_g_deactivate_1_listener($event) { return ctx.deactivate.emit($event); });\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"startAngle\", 0)(\"endAngle\", ctx.backgroundArc.endAngle)(\"innerRadius\", ctx.backgroundArc.innerRadius)(\"outerRadius\", ctx.backgroundArc.outerRadius)(\"cornerRadius\", ctx.cornerRadius)(\"data\", ctx.backgroundArc.data)(\"animate\", false)(\"pointerEvents\", false);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"startAngle\", 0)(\"endAngle\", ctx.valueArc.endAngle)(\"innerRadius\", ctx.valueArc.innerRadius)(\"outerRadius\", ctx.valueArc.outerRadius)(\"cornerRadius\", ctx.cornerRadius)(\"fill\", ctx.colors.getColor(ctx.valueArc.data.name))(\"data\", ctx.valueArc.data)(\"animate\", ctx.animations)(\"isActive\", ctx.isActive)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipPlacement\", ctx.placementTypes.Top)(\"tooltipType\", ctx.styleTypes.tooltip)(\"tooltipTitle\", ctx.tooltipTemplate ? undefined : ctx.tooltipText(ctx.valueArc))(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipContext\", ctx.valueArc.data);\n } }, dependencies: [TooltipDirective, PieArcComponent], encapsulation: 2, changeDetection: 0 });\nGaugeArcComponent.propDecorators = {\n backgroundArc: [{ type: Input }],\n valueArc: [{ type: Input }],\n cornerRadius: [{ type: Input }],\n colors: [{ type: Input }],\n isActive: [{ type: Input }],\n tooltipDisabled: [{ type: Input }],\n valueFormatting: [{ type: Input }],\n tooltipTemplate: [{ type: Input }],\n animations: [{ type: Input }],\n select: [{ type: Output }],\n activate: [{ type: Output }],\n deactivate: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GaugeArcComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-gauge-arc]',\n template: `\n <svg:g\n ngx-charts-pie-arc\n class=\"background-arc\"\n [startAngle]=\"0\"\n [endAngle]=\"backgroundArc.endAngle\"\n [innerRadius]=\"backgroundArc.innerRadius\"\n [outerRadius]=\"backgroundArc.outerRadius\"\n [cornerRadius]=\"cornerRadius\"\n [data]=\"backgroundArc.data\"\n [animate]=\"false\"\n [pointerEvents]=\"false\"\n ></svg:g>\n <svg:g\n ngx-charts-pie-arc\n [startAngle]=\"0\"\n [endAngle]=\"valueArc.endAngle\"\n [innerRadius]=\"valueArc.innerRadius\"\n [outerRadius]=\"valueArc.outerRadius\"\n [cornerRadius]=\"cornerRadius\"\n [fill]=\"colors.getColor(valueArc.data.name)\"\n [data]=\"valueArc.data\"\n [animate]=\"animations\"\n [isActive]=\"isActive\"\n (select)=\"select.emit($event)\"\n (activate)=\"activate.emit($event)\"\n (deactivate)=\"deactivate.emit($event)\"\n ngx-tooltip\n [tooltipDisabled]=\"tooltipDisabled\"\n [tooltipPlacement]=\"placementTypes.Top\"\n [tooltipType]=\"styleTypes.tooltip\"\n [tooltipTitle]=\"tooltipTemplate ? undefined : tooltipText(valueArc)\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipContext]=\"valueArc.data\"\n ></svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { isActive: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], animations: [{\n type: Input\n }], select: [{\n type: Output\n }], activate: [{\n type: Output\n }], deactivate: [{\n type: Output\n }], backgroundArc: [{\n type: Input\n }], valueArc: [{\n type: Input\n }], cornerRadius: [{\n type: Input\n }], colors: [{\n type: Input\n }], valueFormatting: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }] }); })();\n\nclass GaugeAxisComponent {\n constructor() {\n this.rotate = '';\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.rotationAngle = -90 + this.startAngle;\n this.rotate = `rotate(${this.rotationAngle})`;\n this.ticks = this.getTicks();\n }\n getTicks() {\n const bigTickSegment = this.angleSpan / this.bigSegments;\n const smallTickSegment = bigTickSegment / this.smallSegments;\n const tickLength = 20;\n const ticks = {\n big: [],\n small: []\n };\n const startDistance = this.radius + 10;\n const textDist = startDistance + tickLength + 10;\n for (let i = 0; i <= this.bigSegments; i++) {\n const angleDeg = i * bigTickSegment;\n const angle = (angleDeg * Math.PI) / 180;\n const textAnchor = this.getTextAnchor(angleDeg);\n let skip = false;\n if (i === 0 && this.angleSpan === 360) {\n skip = true;\n }\n if (!skip) {\n let text = Number.parseFloat(this.valueScale.invert(angleDeg).toString()).toLocaleString();\n if (this.tickFormatting) {\n text = this.tickFormatting(text);\n }\n ticks.big.push({\n line: this.getTickPath(startDistance, tickLength, angle),\n textAnchor,\n text,\n textTransform: `\n translate(${textDist * Math.cos(angle)}, ${textDist * Math.sin(angle)}) rotate(${-this.rotationAngle})\n `\n });\n }\n if (i === this.bigSegments) {\n continue;\n }\n for (let j = 1; j <= this.smallSegments; j++) {\n const smallAngleDeg = angleDeg + j * smallTickSegment;\n const smallAngle = (smallAngleDeg * Math.PI) / 180;\n ticks.small.push({\n line: this.getTickPath(startDistance, tickLength / 2, smallAngle)\n });\n }\n }\n return ticks;\n }\n getTextAnchor(angle) {\n // [0, 45] = 'middle';\n // [46, 135] = 'start';\n // [136, 225] = 'middle';\n // [226, 315] = 'end';\n angle = (this.startAngle + angle) % 360;\n let textAnchor = TextAnchor.Middle;\n if (angle > 45 && angle <= 135) {\n textAnchor = TextAnchor.Start;\n }\n else if (angle > 225 && angle <= 315) {\n textAnchor = TextAnchor.End;\n }\n return textAnchor;\n }\n getTickPath(startDistance, tickLength, angle) {\n const y1 = startDistance * Math.sin(angle);\n const y2 = (startDistance + tickLength) * Math.sin(angle);\n const x1 = startDistance * Math.cos(angle);\n const x2 = (startDistance + tickLength) * Math.cos(angle);\n const points = [\n { x: x1, y: y1 },\n { x: x2, y: y2 }\n ];\n const lineGenerator = line()\n .x(d => d.x)\n .y(d => d.y);\n return lineGenerator(points);\n }\n}\nGaugeAxisComponent.ɵfac = function GaugeAxisComponent_Factory(t) { return new (t || GaugeAxisComponent)(); };\nGaugeAxisComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: GaugeAxisComponent, selectors: [[\"g\", \"ngx-charts-gauge-axis\", \"\"]], inputs: { bigSegments: \"bigSegments\", smallSegments: \"smallSegments\", min: \"min\", max: \"max\", angleSpan: \"angleSpan\", startAngle: \"startAngle\", radius: \"radius\", valueScale: \"valueScale\", tickFormatting: \"tickFormatting\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], attrs: _c54, decls: 4, vars: 4, consts: [[\"class\", \"gauge-tick gauge-tick-large\", 4, \"ngFor\", \"ngForOf\"], [\"class\", \"gauge-tick gauge-tick-small\", 4, \"ngFor\", \"ngForOf\"], [1, \"gauge-tick\", \"gauge-tick-large\"], [\"alignment-baseline\", \"central\"], [1, \"gauge-tick\", \"gauge-tick-small\"]], template: function GaugeAxisComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵnamespaceSVG();\n ɵngcc0.ɵɵelementStart(0, \"g\");\n ɵngcc0.ɵɵtemplate(1, GaugeAxisComponent__svg_g_1_Template, 2, 1, \"g\", 0);\n ɵngcc0.ɵɵtemplate(2, GaugeAxisComponent__svg_g_2_Template, 3, 4, \"g\", 0);\n ɵngcc0.ɵɵtemplate(3, GaugeAxisComponent__svg_g_3_Template, 2, 1, \"g\", 1);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"transform\", ctx.rotate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.ticks.big);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.ticks.big);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.ticks.small);\n } }, dependencies: [ɵngcc1.NgForOf], encapsulation: 2, changeDetection: 0 });\nGaugeAxisComponent.propDecorators = {\n bigSegments: [{ type: Input }],\n smallSegments: [{ type: Input }],\n min: [{ type: Input }],\n max: [{ type: Input }],\n angleSpan: [{ type: Input }],\n startAngle: [{ type: Input }],\n radius: [{ type: Input }],\n valueScale: [{ type: Input }],\n tickFormatting: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GaugeAxisComponent, [{\n type: Component,\n args: [{\n selector: 'g[ngx-charts-gauge-axis]',\n template: `\n <svg:g [attr.transform]=\"rotate\">\n <svg:g *ngFor=\"let tick of ticks.big\" class=\"gauge-tick gauge-tick-large\">\n <svg:path [attr.d]=\"tick.line\" />\n </svg:g>\n <svg:g *ngFor=\"let tick of ticks.big\" class=\"gauge-tick gauge-tick-large\">\n <svg:text\n [style.textAnchor]=\"tick.textAnchor\"\n [attr.transform]=\"tick.textTransform\"\n alignment-baseline=\"central\"\n >\n {{ tick.text }}\n </svg:text>\n </svg:g>\n <svg:g *ngFor=\"let tick of ticks.small\" class=\"gauge-tick gauge-tick-small\">\n <svg:path [attr.d]=\"tick.line\" />\n </svg:g>\n </svg:g>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return []; }, { bigSegments: [{\n type: Input\n }], smallSegments: [{\n type: Input\n }], min: [{\n type: Input\n }], max: [{\n type: Input\n }], angleSpan: [{\n type: Input\n }], startAngle: [{\n type: Input\n }], radius: [{\n type: Input\n }], valueScale: [{\n type: Input\n }], tickFormatting: [{\n type: Input\n }] }); })();\n\nclass GaugeModule {\n}\nGaugeModule.ɵfac = function GaugeModule_Factory(t) { return new (t || GaugeModule)(); };\nGaugeModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: GaugeModule });\nGaugeModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule, PieChartModule, BarChartModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(GaugeModule, [{\n type: NgModule,\n args: [{\n imports: [ChartCommonModule, PieChartModule, BarChartModule],\n declarations: [LinearGaugeComponent, GaugeComponent, GaugeArcComponent, GaugeAxisComponent],\n exports: [LinearGaugeComponent, GaugeComponent, GaugeArcComponent, GaugeAxisComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(GaugeModule, { declarations: [LinearGaugeComponent, GaugeComponent, GaugeArcComponent, GaugeAxisComponent], imports: [ChartCommonModule, PieChartModule, BarChartModule], exports: [LinearGaugeComponent, GaugeComponent, GaugeArcComponent, GaugeAxisComponent] }); })();\n\n// The export is needed here to generate a valid polyfills.metadata.json file\nfunction ngxChartsPolyfills() {\n // IE11 fix\n // Ref: https://github.com/swimlane/ngx-charts/issues/386\n if (typeof SVGElement !== 'undefined' && typeof SVGElement.prototype.contains === 'undefined') {\n SVGElement.prototype.contains = HTMLDivElement.prototype.contains;\n }\n}\n\nclass NgxChartsModule {\n constructor() {\n ngxChartsPolyfills();\n }\n}\nNgxChartsModule.ɵfac = function NgxChartsModule_Factory(t) { return new (t || NgxChartsModule)(); };\nNgxChartsModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: NgxChartsModule });\nNgxChartsModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [ChartCommonModule, AreaChartModule, BarChartModule, BoxChartModule, BubbleChartModule, HeatMapModule, LineChartModule, PolarChartModule, NumberCardModule, PieChartModule, TreeMapModule, GaugeModule] });\nNgxChartsModule.ctorParameters = () => [];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxChartsModule, [{\n type: NgModule,\n args: [{\n exports: [\n ChartCommonModule,\n AreaChartModule,\n BarChartModule,\n BoxChartModule,\n BubbleChartModule,\n HeatMapModule,\n LineChartModule,\n PolarChartModule,\n NumberCardModule,\n PieChartModule,\n TreeMapModule,\n GaugeModule\n ]\n }]\n }], function () { return []; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgxChartsModule, { exports: [ChartCommonModule, AreaChartModule, BarChartModule, BoxChartModule, BubbleChartModule, HeatMapModule, LineChartModule, PolarChartModule, NumberCardModule, PieChartModule, TreeMapModule, GaugeModule] }); })();\n\nfunction tickFormat(fieldType, groupByType) {\n return function (label) {\n if (label === 'No Value' || label === 'Other') {\n return label;\n }\n if (fieldType === 'date' && groupByType === 'groupBy') {\n const formatter = timeFormat('MM/DD/YYYY');\n return formatter(label);\n }\n return label.toString();\n };\n}\n\n/*\n * Public API Surface of ngx-charts\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AdvancedLegendComponent, AdvancedPieChartComponent, AreaChartComponent, AreaChartModule, AreaChartNormalizedComponent, AreaChartStackedComponent, AreaComponent, AreaSeriesComponent, AxesModule, AxisLabelComponent, BarChartModule, BarChartType, BarComponent, BarHorizontal2DComponent, BarHorizontalComponent, BarHorizontalNormalizedComponent, BarHorizontalStackedComponent, BarLabelComponent, BarOrientation, BarVertical2DComponent, BarVerticalComponent, BarVerticalNormalizedComponent, BarVerticalStackedComponent, BaseChartComponent, BoxChartComponent, BoxChartModule, BoxComponent, BoxSeriesComponent, BubbleChartComponent, BubbleChartModule, BubbleSeriesComponent, CardComponent, CardSeriesComponent, ChartCommonModule, ChartComponent, CircleComponent, CircleSeriesComponent, ColorHelper, CountUpDirective, D0Types, GaugeArcComponent, GaugeAxisComponent, GaugeComponent, GaugeModule, GridPanelComponent, GridPanelSeriesComponent, HeatCellSeriesComponent, HeatMapCellComponent, HeatMapComponent, HeatMapModule, LegendComponent, LegendEntryComponent, LegendPosition, LegendType, LineChartComponent, LineChartModule, LineComponent, LineSeriesComponent, LinearGaugeComponent, NgxChartsModule, NumberCardComponent, NumberCardModule, Orientation, PieArcComponent, PieChartComponent, PieChartModule, PieGridComponent, PieGridSeriesComponent, PieLabelComponent, PieSeriesComponent, PlacementTypes, PolarChartComponent, PolarChartModule, PolarSeriesComponent, ScaleLegendComponent, ScaleType, SeriesHorizontal, SeriesType, SeriesVerticalComponent, ShowTypes, StyleTypes, SvgLinearGradientComponent, SvgRadialGradientComponent, TextAnchor, Timeline, TooltipArea, TooltipContentComponent, TooltipDirective, TooltipModule, TooltipService, TreeMapCellComponent, TreeMapCellSeriesComponent, TreeMapComponent, TreeMapModule, VisibilityObserver, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent, calculateViewDimensions, colorSets, count, decimalChecker, escapeLabel, formatLabel, getDomain, getScale, getScaleType, getUniqueXDomainValues, getXDomainArray, gridLayout, gridSize, hexToRgb, id, invertColor, reduceTicks, shadeRGBColor, sortByDomain, sortByTime, sortLinear, throttle, throttleable, tickFormat, trimLabel, InjectionRegisteryService as ɵa, InjectionService as ɵb };\n\n","'use strict';\n\n/**\n * Module dependenices\n */\n\nconst clone = require('shallow-clone');\nconst typeOf = require('kind-of');\nconst isPlainObject = require('is-plain-object');\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = new val.constructor();\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n/**\n * Expose `cloneDeep`\n */\n\nmodule.exports = cloneDeep;\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import max from \"./max.js\";\nimport min from \"./min.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n","import ascending from \"./ascending.js\";\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nexport default function quickselect(array, k, left = 0, right = array.length - 1, compare = ascending) {\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n while (compare(array[i], t) < 0) ++i;\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);\n else ++j, swap(array, j, right);\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {pointer, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nconst {abs, max, min} = Math;\n\nfunction number1(e) {\n return [+e[0], +e[1]];\n}\n\nfunction number2(e) {\n return [number1(e[0]), number1(e[1])];\n}\n\nvar X = {\n name: \"x\",\n handles: [\"w\", \"e\"].map(type),\n input: function(x, e) { return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n input: function(xy) { return xy == null ? null : number2(xy); },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n if (svg.hasAttribute(\"viewBox\")) {\n svg = svg.viewBox.baseVal;\n return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n }\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\n// Like d3.local, but with the name “__brush†rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n touchable = defaultTouchable,\n keys = true,\n listeners = dispatch(\"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .on(\"mousedown.brush\", started)\n .filter(touchable)\n .on(\"touchstart.brush\", started)\n .on(\"touchmove.brush\", touchmoved)\n .on(\"touchend.brush touchcancel.brush\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n brush.move = function(group, selection) {\n if (group.tween) {\n group\n .on(\"start.brush\", function(event) { emitter(this, arguments).beforestart().start(event); })\n .on(\"interrupt.brush end.brush\", function(event) { emitter(this, arguments).end(event); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && selection1 === null ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 !== null && selection1 !== null ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 === null ? null : selection1;\n redraw.call(that);\n emit.start().brush().end();\n });\n }\n };\n\n brush.clear = function(group) {\n brush.move(group, null);\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args, clean) {\n var emit = that.__brush.emitter;\n return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n }\n\n function Emitter(that, args, clean) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n this.clean = clean;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function(event, mode) {\n if (this.starting) this.starting = false, this.emit(\"start\", event, mode);\n else this.emit(\"brush\", event);\n return this;\n },\n brush: function(event, mode) {\n this.emit(\"brush\", event, mode);\n return this;\n },\n end: function(event, mode) {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\", event, mode);\n return this;\n },\n emit: function(type, event, mode) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new BrushEvent(type, {\n sourceEvent: event,\n target: brush,\n selection: dim.output(this.state.selection),\n mode,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function started(event) {\n if (touchending && !event.touches) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (keys && event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx = 0,\n dy = 0,\n moving,\n shifting = signX && signY && keys && event.shiftKey,\n lockX,\n lockY,\n points = Array.from(event.touches || [event], t => {\n const i = t.identifier;\n t = pointer(t, that);\n t.point0 = t.slice();\n t.identifier = i;\n return t;\n });\n\n if (type === \"overlay\") {\n if (selection) moving = true;\n const pts = [points[0], points[1] || points[0]];\n state.selection = selection = [[\n w0 = dim === Y ? W : min(pts[0][0], pts[1][0]),\n n0 = dim === X ? N : min(pts[0][1], pts[1][1])\n ], [\n e0 = dim === Y ? E : max(pts[0][0], pts[1][0]),\n s0 = dim === X ? S : max(pts[0][1], pts[1][1])\n ]];\n if (points.length > 1) move();\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n interrupt(that);\n var emit = emitter(that, arguments, true).beforestart();\n\n if (event.touches) {\n emit.moved = moved;\n emit.ended = ended;\n } else {\n var view = select(event.view)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n if (keys) view\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n\n dragDisable(event.view);\n }\n\n redraw.call(that);\n emit.start(event, mode.name);\n\n function moved(event) {\n for (const p of event.changedTouches || [event]) {\n for (const d of points)\n if (d.identifier === p.identifier) d.cur = pointer(p, that);\n }\n if (shifting && !lockX && !lockY && points.length === 1) {\n const point = points[0];\n if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1]))\n lockY = true;\n else\n lockX = true;\n }\n for (const point of points)\n if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1];\n moving = true;\n noevent(event);\n move(event);\n }\n\n function move(event) {\n const point = points[0], point0 = point.point0;\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (points[1]) {\n if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1;\n if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1;\n } else {\n if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n }\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX));\n if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush(event, mode.name);\n }\n }\n\n function ended(event) {\n nopropagation(event);\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end(event, mode.name);\n }\n\n function keydowned(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move();\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move();\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n\n function keyupped(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move();\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move();\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move();\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n }\n\n function touchmoved(event) {\n emitter(this, arguments).moved(event);\n }\n\n function touchended(event) {\n emitter(this, arguments).ended(event);\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = number2(extent.apply(this, arguments));\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.keyModifiers = function(_) {\n return arguments.length ? (keys = !!_, brush) : keys;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","export default x => () => x;\n","export default function BrushEvent(type, {\n sourceEvent,\n target,\n selection,\n mode,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n selection: {value: selection, enumerable: true, configurable: true},\n mode: {value: mode, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","import {select} from \"d3-selection\";\nimport noevent from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","var pi = Math.PI,\n halfPi = pi / 2;\n\nexport function sinIn(t) {\n return (+t === 1) ? 1 : 1 - Math.cos(t * halfPi);\n}\n\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\n\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value†part that can be\n // grouped, and fractional or exponential “suffix†part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], next = [], children, i, n, index = -1;\n while (node = nodes.pop()) {\n next.push(node);\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n }\n while (node = next.pop()) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], children, i, index = -1;\n while (node = nodes.pop()) {\n callback.call(that, node, ++index, this);\n if (children = node.children) {\n for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n }\n return this;\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n if (callback.call(that, node, ++index, this)) {\n return node;\n }\n }\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_find from \"./find.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\nimport node_iterator from \"./iterator.js\";\n\nexport default function hierarchy(data, children) {\n if (data instanceof Map) {\n data = [undefined, data];\n if (children === undefined) children = mapChildren;\n } else if (children === undefined) {\n children = objectChildren;\n }\n\n var root = new Node(data),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n while (node = nodes.pop()) {\n if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {\n node.children = childs;\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = childs[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction objectChildren(d) {\n return d.children;\n}\n\nfunction mapChildren(d) {\n return Array.isArray(d) ? d[1] : null;\n}\n\nfunction copyData(node) {\n if (node.data.value !== undefined) node.value = node.data.value;\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n find: node_find,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy,\n [Symbol.iterator]: node_iterator\n};\n","export default function*() {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n yield node;\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n }\n } while (next.length);\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","import {required} from \"./accessors.js\";\nimport {Node, computeHeight} from \"./hierarchy/index.js\";\n\nvar preroot = {depth: -1},\n ambiguous = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId;\n\n function stratify(data) {\n var nodes = Array.from(data),\n n = nodes.length,\n d,\n i,\n root,\n parent,\n node,\n nodeId,\n nodeKey,\n nodeByKey = new Map;\n\n for (i = 0; i < n; ++i) {\n d = nodes[i], node = nodes[i] = new Node(d);\n if ((nodeId = id(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = node.id = nodeId;\n nodeByKey.set(nodeKey, nodeByKey.has(nodeKey) ? ambiguous : node);\n }\n if ((nodeId = parentId(d, i, data)) != null && (nodeId += \"\")) {\n node.parent = nodeId;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (nodeId = node.parent) {\n parent = nodeByKey.get(nodeId);\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n } else {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = required(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = required(x), stratify) : parentId;\n };\n\n return stratify;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import roundNode from \"./round.js\";\nimport squarify from \"./squarify.js\";\nimport {required} from \"../accessors.js\";\nimport constant, {constantZero} from \"../constant.js\";\n\nexport default function() {\n var tile = squarify,\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = constantZero,\n paddingTop = constantZero,\n paddingRight = constantZero,\n paddingBottom = constantZero,\n paddingLeft = constantZero;\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = required(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : constant(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : constant(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : constant(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : constant(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : constant(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n}\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n}\n","import treemapDice from \"./dice.js\";\nimport treemapSlice from \"./slice.js\";\n\nexport var phi = (1 + Math.sqrt(5)) / 2;\n\nexport function squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\nexport default (function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi);\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","export default x => () => x;\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","export default function number(x) {\n return +x;\n}\n","import {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new Map(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new Map();\n for (const value of _) {\n const key = value + \"\";\n if (index.has(key)) continue;\n index.set(key, domain.push(value));\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {ascending, bisect, quantileSorted as threshold} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","export default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport array from \"../array.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = array(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","export default function() {\n return !this.node();\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(selection) {\n if (!(selection instanceof Selection)) throw new Error(\"invalid merge\");\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n return Array.from(this);\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n var group = select.apply(this, arguments);\n return group == null ? [] : array(group);\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return this.children;\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","import {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","import curveLinear from \"./linear.js\";\n\nexport var curveRadialLinear = curveRadial(curveLinear);\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function() {\n this._curve.areaStart();\n },\n areaEnd: function() {\n this._curve.areaEnd();\n },\n lineStart: function() {\n this._curve.lineStart();\n },\n lineEnd: function() {\n this._curve.lineEnd();\n },\n point: function(a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nexport default function curveRadial(curve) {\n\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n\n return radial;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import curveRadial, {curveRadialLinear} from \"./curve/radial.js\";\nimport line from \"./line.js\";\n\nexport function lineRadial(l) {\n var c = l.curve;\n\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function(_) {\n return arguments.length ? c(curveRadial(_)) : c()._curve;\n };\n\n return l;\n}\n\nexport default function() {\n return lineRadial(line().curve(curveRadialLinear));\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","export default function() {}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Transition} from \"./transition/index.js\";\nimport {SCHEDULED} from \"./transition/schedule.js\";\n\nvar root = [null];\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n i;\n\n if (schedules) {\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {\n return new Transition([[node]], root, name, +i);\n }\n }\n }\n\n return null;\n}\n","import \"./selection/index.js\";\nexport {default as transition} from \"./transition/index.js\";\nexport {default as active} from \"./active.js\";\nexport {default as interrupt} from \"./interrupt.js\";\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n","/*!\n * isobject <https://github.com/jonschlinkert/isobject>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n","var toString = Object.prototype.toString;\n\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n","/*!\n * shallow-clone <https://github.com/jonschlinkert/shallow-clone>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst valueOf = Symbol.prototype.valueOf;\nconst typeOf = require('kind-of');\n\nfunction clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n\n/**\n * Expose `clone`\n */\n\nmodule.exports = clone;\n"],"names":["DashboardComponent","constructor","ngOnInit","selectors","decls","vars","consts","template","i0","CommonModule","RouterModule","SharedModule","NgxChartsModule","AuthGuard","TilesComponent","TopMenusComponent","TopGradesComponent","WeeklyOrdersComponent","OrderStatusComponent","MonthlyOrdersComponent","routes","path","component","pathMatch","canActivate","DashboardModule","forChild","declarations","imports","i1","appService","domain","onSelect","event","console","log","MonthlyOrders","subscribe","next","data","JSON","parse","stringify","transactions","error","e","complete","ctx","OrdersByStatus","DashboardTiles","dataSource","TopGrades","TopMenus","WeeklyOrders","Injectable","ApplicationRef","ComponentFactoryResolver","Injector","Component","ViewEncapsulation","ElementRef","Renderer2","Inject","PLATFORM_ID","Input","ViewChild","HostBinding","HostListener","EventEmitter","ChangeDetectionStrategy","Output","Directive","NgZone","ChangeDetectorRef","NgModule","ViewContainerRef","ContentChild","isPlatformBrowser","isPlatformServer","trigger","transition","style","animate","DomPortalOutlet","ComponentPortal","__decorate","fromEvent","debounceTime","select","brushX","scaleTime","scaleLinear","scalePoint","scaleOrdinal","scaleQuantile","scaleBand","curveLinear","area","line","curveCardinalClosed","lineRadial","arc","pie","range","min","max","quantile","interpolate","easeSinInOut","cloneDeep","format","d3_color","treemap","stratify","timeFormat","ɵngcc0","ɵngcc1","_c0","TooltipContentComponent_span_4_ng_template_1_Template","rf","_c1","a0","model","TooltipContentComponent_span_4_Template","ɵɵelementStart","ɵɵtemplate","ɵɵelementEnd","ctx_r1","ɵɵnextContext","ɵɵadvance","ɵɵproperty","ɵɵpureFunction1","context","TooltipContentComponent_span_5_Template","ɵɵelement","ctx_r2","title","ɵɵsanitizeHtml","ChartComponent_ngx_charts_scale_legend_3_Template","ɵɵnamespaceSVG","ɵɵnamespaceHTML","ctx_r0","legendOptions","position","LegendPosition","Below","colors","view","legendWidth","ChartComponent_ngx_charts_legend_4_Template","_r3","ɵɵgetCurrentView","ɵɵlistener","ChartComponent_ngx_charts_legend_4_Template_ngx_charts_legend_labelClick_0_listener","$event","ɵɵrestoreView","ɵɵresetView","legendLabelClick","emit","ChartComponent_ngx_charts_legend_4_Template_ngx_charts_legend_labelActivate_0_listener","ctx_r4","legendLabelActivate","ChartComponent_ngx_charts_legend_4_Template_ngx_charts_legend_labelDeactivate_0_listener","ctx_r5","legendLabelDeactivate","activeEntries","_c2","_c3","_c4","_c5","XAxisTicksComponent__svg_g_2_Template","ɵɵtext","tick_r3","$implicit","ɵɵattribute","tickTransform","ɵɵtextInterpolate","tickFormat","ɵɵstyleProp","textAnchor","textTransform","ɵɵtextInterpolate1","tickTrim","XAxisTicksComponent__svg_g_3__svg_g_1_Template","gridLineTransform","gridLineHeight","XAxisTicksComponent__svg_g_3_Template","tick_r4","showGridLines","_c6","XAxisComponent__svg_g_1_Template","XAxisComponent__svg_g_1_Template__svg_g_dimensionsChanged_0_listener","emitTicksHeight","trimTicks","rotateTicks","maxTickLength","tickFormatting","tickArguments","tickStroke","xScale","xOrient","dims","height","width","ticks","XAxisComponent__svg_g_2_Template","labelText","labelOffset","orientation","Bottom","_c7","YAxisTicksComponent__svg_g_2_Template","tick_r5","transform","dy","x1","y1","YAxisTicksComponent__svg_path_3_Template","referenceAreaPath","YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_1_Template","ctx_r8","gridLineWidth","YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_2_Template","ctx_r9","YAxisTicksComponent__svg_g_4__svg_g_1_Template","ctx_r7","orient","Orientation","Left","Right","YAxisTicksComponent__svg_g_4_Template","tick_r6","ctx_r3","YAxisTicksComponent__svg_g_5__svg_g_1__svg_g_2_Template","refLine_r10","ctx_r12","value","name","YAxisTicksComponent__svg_g_5__svg_g_1_Template","ctx_r11","showRefLabels","YAxisTicksComponent__svg_g_5_Template","showRefLines","_c8","YAxisComponent__svg_g_1_Template","YAxisComponent__svg_g_1_Template__svg_g_dimensionsChanged_0_listener","emitTicksWidth","yScale","yOrient","referenceLines","YAxisComponent__svg_g_2_Template","_c9","CircleSeriesComponent__svg_g_0__svg_rect_3_Template","circle","cx","radius","cy","gradientFill","_c10","CircleSeriesComponent__svg_g_0_Template","CircleSeriesComponent__svg_g_0_Template__svg_g_select_4_listener","onClick","CircleSeriesComponent__svg_g_0_Template__svg_g_activate_4_listener","activateCircle","CircleSeriesComponent__svg_g_0_Template__svg_g_deactivate_4_listener","deactivateCircle","barOrientation","Vertical","gradientId","gradientStops","barVisible","type","ɵɵclassProp","isActive","seriesName","color","classNames","tooltipDisabled","placementTypes","Top","styleTypes","tooltip","tooltipTemplate","undefined","getTooltipText","_c11","_c12","_c13","GridPanelSeriesComponent__svg_g_0_Template","gridPanel_r1","class","x","y","_c14","SvgLinearGradientComponent__svg_stop_1_Template","stop_r1","opacity","offset","_c15","SvgRadialGradientComponent__svg_stop_1_Template","_c16","AreaComponent__svg_defs_0_Template","_c17","_c18","_c19","TooltipArea__svg_ng_template_2__xhtml_div_1_Template","tooltipItem_r5","getToolTipText","TooltipArea__svg_ng_template_2_Template","model_r3","_c20","LegendComponent_header_1_Template","LegendComponent_li_4_Template","_r4","LegendComponent_li_4_Template_ngx_charts_legend_entry_select_1_listener","labelClick","LegendComponent_li_4_Template_ngx_charts_legend_entry_activate_1_listener","activate","LegendComponent_li_4_Template_ngx_charts_legend_entry_deactivate_1_listener","ctx_r6","deactivate","entry_r2","label","formattedLabel","AdvancedLegendComponent_div_1_Template","roundedTotal","valueFormatting","AdvancedLegendComponent_div_2_Template","defaultValueFormatting","AdvancedLegendComponent_div_7_div_2_Template","legendItem_r3","_value","AdvancedLegendComponent_div_7_div_3_Template","AdvancedLegendComponent_div_7_div_6_Template","percentage","AdvancedLegendComponent_div_7_div_7_Template","toLocaleString","AdvancedLegendComponent_div_7_Template","_r13","AdvancedLegendComponent_div_7_Template_div_mouseenter_0_listener","restoredCtx","AdvancedLegendComponent_div_7_Template_div_mouseleave_0_listener","ctx_r14","AdvancedLegendComponent_div_7_Template_div_click_0_listener","ctx_r15","animations","displayLabel","_c21","_c22","AreaChartComponent__svg_g_5_Template","_r6","AreaChartComponent__svg_g_5_Template__svg_g_dimensionsChanged_0_listener","updateXAxisHeight","showXAxisLabel","xAxisLabel","trimXAxisTicks","rotateXAxisTicks","maxXAxisTickLength","xAxisTickFormatting","xAxisTicks","AreaChartComponent__svg_g_6_Template","_r8","AreaChartComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener","updateYAxisWidth","showYAxisLabel","yAxisLabel","trimYAxisTicks","maxYAxisTickLength","yAxisTickFormatting","yAxisTicks","AreaChartComponent__svg_g_8_Template","series_r9","baseValue","scaleType","gradient","curve","AreaChartComponent__svg_g_9__svg_g_2_Template","AreaChartComponent__svg_g_9__svg_g_2_Template__svg_g_select_1_listener","series_r11","AreaChartComponent__svg_g_9__svg_g_2_Template__svg_g_activate_1_listener","onActivate","AreaChartComponent__svg_g_9__svg_g_2_Template__svg_g_deactivate_1_listener","onDeactivate","ctx_r10","hoveredVertical","AreaChartComponent__svg_g_9_Template","_r17","AreaChartComponent__svg_g_9_Template__svg_g_mouseleave_0_listener","ctx_r16","hideCircles","AreaChartComponent__svg_g_9_Template__svg_g_hover_1_listener","ctx_r18","updateHoveredVertical","xSet","results","seriesTooltipTemplate","AreaChartComponent__svg_g_10__svg_g_1_Template","series_r20","ctx_r19","timelineXScale","timelineYScale","_c23","a1","AreaChartComponent__svg_g_10_Template","_r22","AreaChartComponent__svg_g_10_Template__svg_g_onDomainChange_0_listener","ctx_r21","updateDomain","ɵɵpureFunction2","timelineWidth","timelineHeight","scheme","customColors","legend","timelineTransform","trackBy","AreaChartNormalizedComponent__svg_g_5_Template","AreaChartNormalizedComponent__svg_g_5_Template__svg_g_dimensionsChanged_0_listener","AreaChartNormalizedComponent__svg_g_6_Template","AreaChartNormalizedComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener","AreaChartNormalizedComponent__svg_g_8_Template","AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template","AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template__svg_g_select_1_listener","AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template__svg_g_activate_1_listener","AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template__svg_g_deactivate_1_listener","seriesType","Stacked","AreaChartNormalizedComponent__svg_g_9_Template","AreaChartNormalizedComponent__svg_g_9_Template__svg_g_mouseleave_0_listener","AreaChartNormalizedComponent__svg_g_9_Template__svg_g_hover_1_listener","AreaChartNormalizedComponent__svg_g_10__svg_g_1_Template","AreaChartNormalizedComponent__svg_g_10_Template","AreaChartNormalizedComponent__svg_g_10_Template__svg_g_onDomainChange_0_listener","_c24","AreaChartStackedComponent__svg_g_5_Template","AreaChartStackedComponent__svg_g_5_Template__svg_g_dimensionsChanged_0_listener","AreaChartStackedComponent__svg_g_6_Template","AreaChartStackedComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener","AreaChartStackedComponent__svg_g_8_Template","AreaChartStackedComponent__svg_g_9__svg_g_2_Template","AreaChartStackedComponent__svg_g_9__svg_g_2_Template__svg_g_select_1_listener","AreaChartStackedComponent__svg_g_9__svg_g_2_Template__svg_g_activate_1_listener","AreaChartStackedComponent__svg_g_9__svg_g_2_Template__svg_g_deactivate_1_listener","AreaChartStackedComponent__svg_g_9_Template","AreaChartStackedComponent__svg_g_9_Template__svg_g_mouseleave_0_listener","AreaChartStackedComponent__svg_g_9_Template__svg_g_hover_1_listener","AreaChartStackedComponent__svg_g_10__svg_g_1_Template","AreaChartStackedComponent__svg_g_10_Template","AreaChartStackedComponent__svg_g_10_Template__svg_g_onDomainChange_0_listener","_c25","_c26","BarComponent__svg_defs_0_Template","BarHorizontalComponent__svg_g_2_Template","BarHorizontalComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener","BarHorizontalComponent__svg_g_3_Template","_r5","BarHorizontalComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener","dataLabelMaxWidth","negative","BarHorizontal2DComponent__svg_g_3_Template","BarHorizontal2DComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener","valueScale","BarHorizontal2DComponent__svg_g_4_Template","BarHorizontal2DComponent__svg_g_4_Template__svg_g_dimensionsChanged_0_listener","groupScale","BarHorizontal2DComponent__svg_g_5_Template","_r10","BarHorizontal2DComponent__svg_g_5_Template__svg_g_select_1_listener","group_r7","BarHorizontal2DComponent__svg_g_5_Template__svg_g_activate_1_listener","BarHorizontal2DComponent__svg_g_5_Template__svg_g_deactivate_1_listener","BarHorizontal2DComponent__svg_g_5_Template__svg_g_dataLabelWidthChanged_1_listener","index_r8","index","ctx_r13","onDataLabelMaxWidthChanged","groupTransform","innerScale","series","roundEdges","showDataLabel","dataLabelFormatting","noBarWhenZero","BarHorizontalNormalizedComponent__svg_g_2_Template","BarHorizontalNormalizedComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener","BarHorizontalNormalizedComponent__svg_g_3_Template","BarHorizontalNormalizedComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener","BarHorizontalNormalizedComponent__svg_g_4_Template","_r9","BarHorizontalNormalizedComponent__svg_g_4_Template__svg_g_select_1_listener","BarHorizontalNormalizedComponent__svg_g_4_Template__svg_g_activate_1_listener","BarHorizontalNormalizedComponent__svg_g_4_Template__svg_g_deactivate_1_listener","barChartType","Normalized","BarHorizontalStackedComponent__svg_g_2_Template","BarHorizontalStackedComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener","BarHorizontalStackedComponent__svg_g_3_Template","BarHorizontalStackedComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener","BarHorizontalStackedComponent__svg_g_4_Template","BarHorizontalStackedComponent__svg_g_4_Template__svg_g_select_1_listener","BarHorizontalStackedComponent__svg_g_4_Template__svg_g_activate_1_listener","BarHorizontalStackedComponent__svg_g_4_Template__svg_g_deactivate_1_listener","BarHorizontalStackedComponent__svg_g_4_Template__svg_g_dataLabelWidthChanged_1_listener","BarVerticalComponent__svg_g_2_Template","BarVerticalComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener","dataLabelMaxHeight","BarVerticalComponent__svg_g_3_Template","BarVerticalComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener","BarVertical2DComponent__svg_g_3_Template","BarVertical2DComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener","BarVertical2DComponent__svg_g_4_Template","BarVertical2DComponent__svg_g_4_Template__svg_g_dimensionsChanged_0_listener","BarVertical2DComponent__svg_g_5_Template","BarVertical2DComponent__svg_g_5_Template__svg_g_select_0_listener","BarVertical2DComponent__svg_g_5_Template__svg_g_activate_0_listener","BarVertical2DComponent__svg_g_5_Template__svg_g_deactivate_0_listener","BarVertical2DComponent__svg_g_5_Template__svg_g_dataLabelHeightChanged_0_listener","onDataLabelMaxHeightChanged","BarVerticalNormalizedComponent__svg_g_2_Template","BarVerticalNormalizedComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener","BarVerticalNormalizedComponent__svg_g_3_Template","BarVerticalNormalizedComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener","BarVerticalNormalizedComponent__svg_g_4_Template","BarVerticalNormalizedComponent__svg_g_4_Template__svg_g_select_1_listener","BarVerticalNormalizedComponent__svg_g_4_Template__svg_g_activate_1_listener","BarVerticalNormalizedComponent__svg_g_4_Template__svg_g_deactivate_1_listener","BarVerticalStackedComponent__svg_g_2_Template","BarVerticalStackedComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener","BarVerticalStackedComponent__svg_g_3_Template","BarVerticalStackedComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener","BarVerticalStackedComponent__svg_g_4_Template","BarVerticalStackedComponent__svg_g_4_Template__svg_g_select_1_listener","BarVerticalStackedComponent__svg_g_4_Template__svg_g_activate_1_listener","BarVerticalStackedComponent__svg_g_4_Template__svg_g_deactivate_1_listener","BarVerticalStackedComponent__svg_g_4_Template__svg_g_dataLabelHeightChanged_1_listener","_c27","SeriesHorizontal__svg_g_0_Template","SeriesHorizontal__svg_g_0_Template__svg_g_select_0_listener","click","SeriesHorizontal__svg_g_0_Template__svg_g_activate_0_listener","SeriesHorizontal__svg_g_0_Template__svg_g_deactivate_0_listener","bar_r2","Horizontal","ariaLabel","tooltipPlacement","tooltipType","tooltipText","SeriesHorizontal__svg_g_1__svg_g_1_Template","_r11","SeriesHorizontal__svg_g_1__svg_g_1_Template__svg_g_dimensionsChanged_0_listener","i_r9","dataLabelWidthChanged","size","b_r8","total","SeriesHorizontal__svg_g_1_Template","barsForDataLabels","trackDataLabelBy","_c28","SeriesVerticalComponent__svg_g_0_Template","SeriesVerticalComponent__svg_g_0_Template__svg_g_select_0_listener","SeriesVerticalComponent__svg_g_0_Template__svg_g_activate_0_listener","SeriesVerticalComponent__svg_g_0_Template__svg_g_deactivate_0_listener","SeriesVerticalComponent__svg_g_1__svg_g_1_Template","SeriesVerticalComponent__svg_g_1__svg_g_1_Template__svg_g_dimensionsChanged_0_listener","dataLabelHeightChanged","SeriesVerticalComponent__svg_g_1_Template","_c29","BoxChartComponent__svg_g_5_Template","BoxChartComponent__svg_g_5_Template__svg_g_activate_1_listener","BoxChartComponent__svg_g_5_Template__svg_g_deactivate_1_listener","BoxChartComponent__svg_g_5_Template__svg_g_select_1_listener","result_r1","strokeColor","strokeWidth","_c30","_c31","BoxComponent__svg_g_1_Template","BarOrientation","BoxComponent__svg_line_8_Template","line_r2","i_r3","hideBar","v1","v2","medianLineWidth","whiskerStrokeWidth","maskLine","BubbleChartComponent__svg_g_5_Template","BubbleChartComponent__svg_g_5_Template__svg_g_dimensionsChanged_0_listener","BubbleChartComponent__svg_g_6_Template","BubbleChartComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener","BubbleChartComponent__svg_g_9_Template","BubbleChartComponent__svg_g_9_Template__svg_g_select_1_listener","series_r7","BubbleChartComponent__svg_g_9_Template__svg_g_activate_1_listener","BubbleChartComponent__svg_g_9_Template__svg_g_deactivate_1_listener","rScale","xScaleType","yScaleType","_c32","BubbleSeriesComponent__svg_g_0_Template","BubbleSeriesComponent__svg_g_0_Template__svg_g_select_2_listener","circle_r1","BubbleSeriesComponent__svg_g_0_Template__svg_g_activate_2_listener","BubbleSeriesComponent__svg_g_0_Template__svg_g_deactivate_2_listener","_c33","HeatMapCellComponent__svg_defs_1_Template","_c34","_c35","a2","HeatCellSeriesComponent__svg_g_0_Template","HeatCellSeriesComponent__svg_g_0_Template__svg_g_select_0_listener","c_r1","cell","HeatCellSeriesComponent__svg_g_0_Template__svg_g_activate_0_listener","HeatCellSeriesComponent__svg_g_0_Template__svg_g_deactivate_0_listener","fill","ɵɵpureFunction3","HeatMapComponent__svg_g_2_Template","HeatMapComponent__svg_g_2_Template__svg_g_dimensionsChanged_0_listener","HeatMapComponent__svg_g_3_Template","HeatMapComponent__svg_g_3_Template__svg_g_dimensionsChanged_0_listener","HeatMapComponent__svg_rect_4_Template","rect_r7","rx","_c36","LineChartComponent__svg_g_5_Template","LineChartComponent__svg_g_5_Template__svg_g_dimensionsChanged_0_listener","LineChartComponent__svg_g_6_Template","LineChartComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener","LineChartComponent__svg_g_8_Template","rangeFillOpacity","hasRange","LineChartComponent__svg_g_9__svg_g_2_Template","LineChartComponent__svg_g_9__svg_g_2_Template__svg_g_select_1_listener","LineChartComponent__svg_g_9__svg_g_2_Template__svg_g_activate_1_listener","LineChartComponent__svg_g_9__svg_g_2_Template__svg_g_deactivate_1_listener","LineChartComponent__svg_g_9_Template","LineChartComponent__svg_g_9_Template__svg_g_mouseleave_0_listener","LineChartComponent__svg_g_9_Template__svg_g_hover_1_listener","LineChartComponent__svg_g_10__svg_g_1_Template","LineChartComponent__svg_g_10_Template","LineChartComponent__svg_g_10_Template__svg_g_onDomainChange_0_listener","_c37","LineSeriesComponent__svg_g_2_Template","LineSeriesComponent__svg_g_5_Template","isInactive","outerPath","hasGradient","gradientUrl","getColor","PolarChartComponent__svg_g_4__svg_circle_1_Template","r_r6","PolarChartComponent__svg_g_4_Template","radiusTicks","PolarChartComponent__svg_g_5__svg_g_1_Template","tick_r8","outerRadius","labelTrim","labelTrimSize","PolarChartComponent__svg_g_5_Template","thetaTicks","PolarChartComponent__svg_g_6_Template","PolarChartComponent__svg_g_6_Template__svg_g_dimensionsChanged_0_listener","yAxisScale","yAxisDims","transformYAxis","PolarChartComponent__svg_g_7_Template","PolarChartComponent__svg_g_9_Template","PolarChartComponent__svg_g_9_Template__svg_g_select_1_listener","PolarChartComponent__svg_g_9_Template__svg_g_activate_1_listener","PolarChartComponent__svg_g_9_Template__svg_g_deactivate_1_listener","_c38","PolarSeriesComponent__svg_g_2_Template","seriesColor","PolarSeriesComponent__svg_g_4_Template","PolarSeriesComponent__svg_g_4_Template__svg_g_select_0_listener","circle_r2","PolarSeriesComponent__svg_g_4_Template__svg_g_activate_0_listener","PolarSeriesComponent__svg_g_4_Template__svg_g_deactivate_0_listener","inactive","circleRadius","_c39","_c40","PieArcComponent__svg_defs_1_Template","radialGradientId","startOpacity","_c41","PieGridComponent__svg_g_2__svg_text_2_Template","series_r1","percent","PieGridComponent__svg_g_2__svg_text_3_Template","PieGridComponent__svg_g_2__svg_text_6_Template","PieGridComponent__svg_g_2__svg_text_7_Template","ɵɵtextInterpolate2","_c42","PieGridComponent__svg_g_2_Template","PieGridComponent__svg_g_2_Template__svg_g_select_1_listener","PieGridComponent__svg_g_2_Template__svg_g_activate_1_listener","PieGridComponent__svg_g_2_Template__svg_g_deactivate_1_listener","innerRadius","_c43","PieGridSeriesComponent__svg_g_1_Template","PieGridSeriesComponent__svg_g_1_Template__svg_g_select_0_listener","PieGridSeriesComponent__svg_g_1_Template__svg_g_activate_0_listener","PieGridSeriesComponent__svg_g_1_Template__svg_g_deactivate_0_listener","arc_r1","startAngle","endAngle","pointerEvents","_c44","PieSeriesComponent__svg_g_0__svg_g_1_Template","trimLabels","maxLabelLength","explodeSlices","PieSeriesComponent__svg_g_0_Template","PieSeriesComponent__svg_g_0_Template__svg_g_select_2_listener","PieSeriesComponent__svg_g_0_Template__svg_g_activate_2_listener","PieSeriesComponent__svg_g_0_Template__svg_g_deactivate_2_listener","PieSeriesComponent__svg_g_0_Template__svg_g_dblclick_2_listener","dblclick","labelVisible","getTooltipTitle","_c45","_c46","CardComponent__svg_path_2_Template","bandColor","transformBand","bandPath","_c47","CardSeriesComponent__svg_rect_0_Template","c_r2","emptyColor","CardSeriesComponent__svg_g_1_Template","CardSeriesComponent__svg_g_1_Template__svg_g_select_0_listener","c_r3","textColor","medianSize","labelFormatting","_c48","TreeMapCellComponent__svg_defs_1_Template","TreeMapCellComponent__svg_foreignObject_3__xhtml_span_4_Template","TreeMapCellComponent__svg_foreignObject_3__xhtml_span_5_Template","formattedValue","TreeMapCellComponent__svg_foreignObject_3_Template","getTextColor","_c49","TreeMapCellSeriesComponent__svg_g_0_Template","TreeMapCellSeriesComponent__svg_g_0_Template__svg_g_select_0_listener","_c50","_c51","LinearGaugeComponent__svg_line_4_Template","transformLine","units","LinearGaugeComponent__svg_line_5_Template","_c52","GaugeComponent__svg_g_2_Template","GaugeComponent__svg_g_2_Template__svg_g_select_1_listener","GaugeComponent__svg_g_2_Template__svg_g_activate_1_listener","GaugeComponent__svg_g_2_Template__svg_g_deactivate_1_listener","arc_r3","rotation","backgroundArc","valueArc","cornerRadius","GaugeComponent__svg_g_3_Template","bigSegments","smallSegments","angleSpan","axisTickFormatting","GaugeComponent__svg_text_4_Template","displayValue","_c53","_c54","GaugeAxisComponent__svg_g_1_Template","GaugeAxisComponent__svg_g_2_Template","text","GaugeAxisComponent__svg_g_3_Template","isViewContainerRef","element","InjectionService","applicationRef","componentFactoryResolver","injector","setGlobalRootViewContainer","container","globalRootViewContainer","getRootViewContainer","_container","components","length","Error","setRootViewContainer","getComponentRootNode","nativeElement","hostView","rootNodes","location","getRootViewContainerNode","projectComponentBindings","bindings","inputs","bindingKeys","Object","getOwnPropertyNames","bindingName","instance","outputs","eventKeys","eventName","appendComponent","componentClass","appendLocation","portalHost","portal","componentRef","attach","ɵfac","InjectionService_Factory","t","ɵɵinject","ɵprov","ɵɵdefineInjectable","token","factory","throttle","func","wait","options","args","result","timeout","previous","later","leading","Date","apply","now","remaining","arguments","clearTimeout","trailing","setTimeout","throttleable","duration","innerDecorator","target","key","descriptor","configurable","enumerable","get","getter","defineProperty","PlacementTypes","caretOffset","verticalPosition","elDimensions","popoverDimensions","alignment","top","Center","horizontalPosition","left","PositionHelper","calculateVerticalAlignment","window","innerHeight","calculateVerticalCaret","caretDimensions","popoverPosition","calculateHorizontalAlignment","innerWidth","calculateHorizontalCaret","shouldFlip","placement","spacing","flip","positionCaret","elmDim","hostDim","positionContent","determinePlacement","TooltipContentComponent","renderer","platformId","cssClasses","clz","cssClass","ngAfterViewInit","bind","nativeElm","host","getBoundingClientRect","checkFlip","showCaret","addClass","setStyle","caretElm","onWindowResize","TooltipContentComponent_Factory","ɵɵdirectiveInject","ɵcmp","ɵɵdefineComponent","viewQuery","TooltipContentComponent_Query","ɵɵviewQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","first","hostVars","hostBindings","TooltipContentComponent_HostBindings","TooltipContentComponent_resize_HostBindingHandler","ɵɵresolveWindow","ɵɵclassMap","TooltipContentComponent_Template","ɵɵclassMapInterpolate1","dependencies","NgIf","NgTemplateOutlet","styles","encapsulation","prototype","ngDevMode","InjectionRegisteryService","injectionService","defaults","Map","getByType","create","createByType","assignDefaults","injectComponent","register","destroy","compsByType","componentType","idx","indexOf","splice","destroyAll","destroyByType","comps","i","assign","has","set","types","push","TooltipService","TooltipService_Factory","LegendType","ScaleType","ChartComponent","showLegend","ngOnChanges","changes","update","legendColumns","legendType","getLegendType","ScaleLegend","chartColumns","chartWidth","Math","floor","Linear","Legend","ChartComponent_Factory","features","ɵɵProvidersFeature","ɵɵNgOnChangesFeature","ngContentSelectors","ChartComponent_Template","ɵɵprojectionDef","ɵɵprojection","LegendComponent","ScaleLegendComponent","animation","changeDetection","VisibilityObserver","zone","visible","isVisible","runCheck","onVisibilityChange","run","check","offsetHeight","offsetWidth","runOutsideAngular","VisibilityObserver_Factory","ɵdir","ɵɵdefineDirective","isDate","toString","call","isNumber","BaseChartComponent","chartElement","cd","schemeType","Ordinal","bindWindowResizeEvent","visibilityObserver","ngOnDestroy","unbindEvents","unsubscribe","cloneData","getContainerDims","markForCheck","hostElem","parentNode","formatDates","g","toLocaleDateString","j","d","resizeSubscription","source","subscription","pipe","item","copy","seriesItem","seriesItemCopy","BaseChartComponent_Factory","BaseChartComponent_Template","AxisLabelComponent","textHeight","margin","AxisLabelComponent_Factory","attrs","AxisLabelComponent_Template","trimLabel","s","trim","slice","reduceTicks","maxTicks","reduced","modulus","TextAnchor","XAxisTicksComponent","dimensionsChanged","verticalSpacing","rotateLabels","innerTickSize","outerTickSize","tickPadding","Middle","maxTicksLength","maxAllowedLength","approxHeight","updateDims","parseInt","ticksElement","scale","getTicks","angle","getRotationAngle","adjustedScale","bandwidth","End","tick","tickLength","len","charWidth","wordWidth","baseWidth","maxBaseWidth","cos","PI","abs","sin","getMaxTicks","maxScaleTicks","tickValues","tickWidth","XAxisTicksComponent_Factory","XAxisTicksComponent_Query","XAxisTicksComponent_Template","NgForOf","XAxisComponent","xAxisOffset","xAxisClassName","stroke","padding","xAxisTickCount","newLabelOffset","XAxisComponent_Factory","XAxisComponent_Query","ticksComponent","showLabel","XAxisComponent_Template","roundedRect","w","h","r","tl","tr","bl","br","retval","YAxisTicksComponent","referenceLineLength","getApproximateAxisWidth","sign","tickSpacing","setReferencelines","y2","x2","Start","refMin","map","refMax","tickHeight","maxChars","YAxisTicksComponent_Factory","YAxisTicksComponent_Query","YAxisTicksComponent_Template","YAxisComponent","yAxisOffset","yAxisClassName","yAxisTickCount","YAxisComponent_Factory","YAxisComponent_Query","YAxisComponent_Template","AxesModule","AxesModule_Factory","ɵmod","ɵɵdefineNgModule","ɵinj","ɵɵdefineInjector","ngJitMode","ɵɵsetNgModuleScope","exports","StyleTypes","ShowTypes","TooltipDirective","tooltipService","viewContainerRef","tooltipCssClass","tooltipAppendToBody","tooltipSpacing","tooltipShowCaret","tooltipAlignment","popover","tooltipCloseOnClickOutside","tooltipCloseOnMouseLeave","tooltipHideTimeout","tooltipShowTimeout","tooltipShowEvent","all","tooltipImmediateExit","show","hide","listensForFocus","focus","listensForHover","mouseover","hideTooltip","onFocus","showTooltip","onBlur","onMouseEnter","onMouseLeave","contentDom","contains","onMouseClick","immediate","time","navigator","userAgent","match","createBoundOptions","addHideListeners","mouseEnterContentEvent","listen","mouseLeaveContentEvent","documentClickEvent","destroyFn","tooltipTitle","tooltipContext","TooltipDirective_Factory","TooltipDirective_HostBindings","TooltipDirective_focusin_HostBindingHandler","TooltipDirective_blur_HostBindingHandler","TooltipDirective_mouseenter_HostBindingHandler","TooltipDirective_mouseleave_HostBindingHandler","TooltipDirective_click_HostBindingHandler","TooltipModule","TooltipModule_Factory","providers","formatLabel","escapeLabel","replace","cache","id","newId","random","pow","SeriesType","CircleSeriesComponent","Standard","getActiveCircle","indexActiveDataPoint","findIndex","visibleValue","mapDataPointToCircle","tooltipLabel","Time","Number","d1","getGradientStops","getTooltipMinMaxText","entry","find","CircleSeriesComponent_Factory","CircleSeriesComponent_Template","CircleComponent","SvgLinearGradientComponent","Array","isArray","join","CircleComponent_Factory","CircleComponent_HostBindings","CircleComponent_click_HostBindingHandler","CircleComponent_mouseenter_HostBindingHandler","CircleComponent_mouseleave_HostBindingHandler","circleOpacity","CircleComponent_Template","GridPanelComponent","GridPanelComponent_Factory","GridPanelComponent_Template","ClassEnum","GridPanelSeriesComponent","gridPanels","getGridPanels","className","Odd","positionIndex","step","Even","paddingInner","GridPanelSeriesComponent_Factory","GridPanelSeriesComponent_Template","SvgLinearGradientComponent_Factory","stops","SvgLinearGradientComponent_Template","SvgRadialGradientComponent","endOpacity","stopsInput","stopsDefault","SvgRadialGradientComponent_Factory","SvgRadialGradientComponent_Template","AreaComponent","animationsLoaded","loadAnimation","getGradient","updatePathEl","areaPath","startingPath","node","attr","AreaComponent_Factory","AreaComponent_Template","easeOutExpo","b","c","count","countFrom","countTo","countDecimals","countDuration","callback","startVal","endVal","countDown","decimals","dec","startTime","runCount","timestamp","frameVal","progress","round","finished","requestAnimationFrame","val","decimalChecker","CountUpDirective","countPrefix","countSuffix","countChange","countFinish","_countDecimals","_countTo","_countFrom","parseFloat","start","cancelAnimationFrame","animationReq","CountUpDirective_Factory","CountUpDirective_Template","root","global","MouseEvent","createMouseEvent","bubbles","cancelable","document","createEvent","initEvent","TooltipArea","anchorOpacity","anchorPos","anchorValues","showPercentage","hover","getValues","xVal","group","groupName","d0","toFixed","v","mouseMove","xPos","pageX","closestIndex","findClosestPointIndex","closestPoint","lastAnchorPos","ev","tooltipAnchor","dispatchEvent","minIndex","maxIndex","minDiff","MAX_VALUE","currentIndex","currentElement","curDiff","tooltipItem","TooltipArea_Factory","TooltipArea_Query","TooltipArea_Template","TooltipArea_Template__svg_rect_mousemove_1_listener","TooltipArea_Template__svg_rect_mouseleave_1_listener","ɵɵtemplateRefExtractor","_r0","ɵɵreference","Timeline","onDomainChange","initialized","addBrush","getDims","offsetY","xDomain","getXDomain","getXScale","brush","updateBrush","filterId","filter","values","includes","extent","on","selection","newSelection","newDomain","invert","Timeline_Factory","autoScale","Timeline_Template","horizontal","labelActivate","labelDeactivate","legendEntries","getLegendEntries","items","LegendComponent_Factory","LegendComponent_Template","LegendEntryComponent","toggle","trimmedLabel","LegendEntryComponent_Factory","LegendEntryComponent_HostBindings","LegendEntryComponent_mouseenter_HostBindingHandler","LegendEntryComponent_mouseleave_HostBindingHandler","LegendEntryComponent_Template","LegendEntryComponent_Template_span_click_0_listener","LegendEntryComponent_Template_span_click_1_listener","gradientValues","gradientString","direction","splits","pairs","reverse","forEach","ScaleLegendComponent_Factory","valueRange","ScaleLegendComponent_Template","AdvancedLegendComponent","legendItems","percentageFormatting","getTotal","reduce","sum","getLegendItems","origialLabel","AdvancedLegendComponent_Factory","AdvancedLegendComponent_Template","COMPONENTS","ChartCommonModule","ChartCommonModule_Factory","calculateViewDimensions","margins","showXAxis","showYAxis","xAxisHeight","yAxisWidth","showXLabel","showYLabel","legendPosition","columns","xOffset","chartHeight","colorSets","selectable","ColorHelper","cs","colorDomain","generateColorScheme","colorScale","Quantile","points","found","mapping","toLowerCase","getLinearGradientStops","colorValueScale","endColor","startColor","currentVal","originalOffset","getUniqueXDomainValues","valueSet","Set","add","from","getScaleType","checkDateType","allDates","every","allNumbers","getXDomainArray","xScaleMin","xScaleMax","mappedValues","sort","a","aDate","getTime","bDate","AreaChartComponent","legendTitle","xAxis","yAxis","timeline","roundDomains","timelinePadding","filteredDomain","yDomain","getYDomain","seriesDomain","getSeriesDomain","getYScale","updateTimeline","setColors","getLegendOptions","clipPathId","clipPath","timelineXDomain","yScaleMin","yScaleMax","nice","date","num","deactivateAll","opts","entries","ɵAreaChartComponent_BaseFactory","AreaChartComponent_Factory","ɵɵgetInheritedFactory","contentQueries","AreaChartComponent_ContentQueries","dirIndex","ɵɵcontentQuery","AreaChartComponent_HostBindings","AreaChartComponent_mouseleave_HostBindingHandler","ɵɵInheritDefinitionFeature","AreaChartComponent_Template","AreaChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","AreaChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","AreaChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","AreaSeriesComponent","AreaChartNormalizedComponent","valueOf","ɵAreaChartNormalizedComponent_BaseFactory","AreaChartNormalizedComponent_Factory","AreaChartNormalizedComponent_ContentQueries","AreaChartNormalizedComponent_HostBindings","AreaChartNormalizedComponent_mouseleave_HostBindingHandler","AreaChartNormalizedComponent_Template","AreaChartNormalizedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","AreaChartNormalizedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","AreaChartNormalizedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","AreaChartStackedComponent","ɵAreaChartStackedComponent_BaseFactory","AreaChartStackedComponent_Factory","AreaChartStackedComponent_ContentQueries","AreaChartStackedComponent_HostBindings","AreaChartStackedComponent_mouseleave_HostBindingHandler","AreaChartStackedComponent_Template","AreaChartStackedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","AreaChartStackedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","AreaChartStackedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","sortLinear","property","sortByDomain","aVal","bVal","aIdx","bIdx","sortByTime","stacked","normalized","updateGradient","currentArea","startingArea","xProperty","y0","d0values","d1values","AreaSeriesComponent_Factory","AreaSeriesComponent_Template","AreaChartModule","AreaChartModule_Factory","BarComponent","checkToHideBar","getStartingPath","getPath","getStartOpacity","getRadius","edges","BarComponent_Factory","BarComponent_HostBindings","BarComponent_mouseenter_HostBindingHandler","BarComponent_mouseleave_HostBindingHandler","BarComponent_Template","BarComponent_Template__svg_path_click_1_listener","BarHorizontalComponent","barPadding","positive","rangeRound","fromLegend","ɵBarHorizontalComponent_BaseFactory","BarHorizontalComponent_Factory","BarHorizontalComponent_ContentQueries","BarHorizontalComponent_Template","BarHorizontalComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","BarHorizontalComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","BarHorizontalComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","BarHorizontalComponent_Template__svg_g_select_4_listener","BarHorizontalComponent_Template__svg_g_activate_4_listener","BarHorizontalComponent_Template__svg_g_deactivate_4_listener","BarHorizontalComponent_Template__svg_g_dataLabelWidthChanged_4_listener","SeriesHorizontal","BarHorizontal2DComponent","groupPadding","groupDomain","getGroupDomain","innerDomain","getInnerDomain","valueDomain","getValueDomain","getGroupScale","getInnerScale","getValueScale","paddingOuter","groupIndex","flat","ɵBarHorizontal2DComponent_BaseFactory","BarHorizontal2DComponent_Factory","BarHorizontal2DComponent_ContentQueries","BarHorizontal2DComponent_Template","BarHorizontal2DComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","BarHorizontal2DComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","BarHorizontal2DComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","BarChartType","BarHorizontalNormalizedComponent","ɵBarHorizontalNormalizedComponent_BaseFactory","BarHorizontalNormalizedComponent_Factory","BarHorizontalNormalizedComponent_ContentQueries","BarHorizontalNormalizedComponent_Template","BarHorizontalNormalizedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","BarHorizontalNormalizedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","BarHorizontalNormalizedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","BarHorizontalStackedComponent","smallest","biggest","smallestSum","biggestSum","ɵBarHorizontalStackedComponent_BaseFactory","BarHorizontalStackedComponent_Factory","BarHorizontalStackedComponent_ContentQueries","BarHorizontalStackedComponent_Template","BarHorizontalStackedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","BarHorizontalStackedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","BarHorizontalStackedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","BarVerticalComponent","some","isNaN","ɵBarVerticalComponent_BaseFactory","BarVerticalComponent_Factory","BarVerticalComponent_ContentQueries","BarVerticalComponent_Template","BarVerticalComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","BarVerticalComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","BarVerticalComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","BarVerticalComponent_Template__svg_g_activate_4_listener","BarVerticalComponent_Template__svg_g_deactivate_4_listener","BarVerticalComponent_Template__svg_g_select_4_listener","BarVerticalComponent_Template__svg_g_dataLabelHeightChanged_4_listener","SeriesVerticalComponent","BarVertical2DComponent","ɵBarVertical2DComponent_BaseFactory","BarVertical2DComponent_Factory","BarVertical2DComponent_ContentQueries","BarVertical2DComponent_Template","BarVertical2DComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","BarVertical2DComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","BarVertical2DComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","BarVerticalNormalizedComponent","ɵBarVerticalNormalizedComponent_BaseFactory","BarVerticalNormalizedComponent_Factory","BarVerticalNormalizedComponent_ContentQueries","BarVerticalNormalizedComponent_Template","BarVerticalNormalizedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","BarVerticalNormalizedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","BarVerticalNormalizedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","BarVerticalStackedComponent","ɵBarVerticalStackedComponent_BaseFactory","BarVerticalStackedComponent_Factory","BarVerticalStackedComponent_ContentQueries","BarVerticalStackedComponent_Template","BarVerticalStackedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","BarVerticalStackedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","BarVerticalStackedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","D0Types","updateTooltipSettings","d0Type","bars","getLabel","bar","offset0","offset1","updateDataLabels","section","totalPositive","totalNegative","_a","active","dataItem","barLabel","SeriesHorizontal_Factory","SeriesHorizontal_Template","BarLabelComponent","SeriesVerticalComponent_Factory","SeriesVerticalComponent_Template","horizontalPadding","verticalPadding","getSize","formatedValue","barX","barWidth","barY","barHeight","BarLabelComponent_Factory","BarLabelComponent_Template","BarChartModule","BarChartModule_Factory","BoxChartComponent","setScales","getUniqueBoxChartXDomainValues","legendOpts","ɵBoxChartComponent_BaseFactory","BoxChartComponent_Factory","BoxChartComponent_ContentQueries","legendOptionsConfig","BoxChartComponent_Template","BoxChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","BoxChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","BoxChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","BoxChartComponent_Template__svg_g_dimensionsChanged_2_listener","BoxChartComponent_Template__svg_g_dimensionsChanged_3_listener","BoxSeriesComponent","counts","mappedCounts","serie","whiskers","groupCounts","quartiles","getBoxQuantiles","lineCoordinates","getLinesCoordinates","box","formattedTooltipLabel","inputData","commonX","offsetX","whiskerLineWidth","whiskerZero","whiskerOne","median","topLine","medianLine","bottomLine","verticalLine","BoxSeriesComponent_Factory","BoxSeriesComponent_Template","BoxSeriesComponent_Template__svg_g_select_0_listener","BoxSeriesComponent_Template__svg_g_activate_0_listener","BoxSeriesComponent_Template__svg_g_deactivate_0_listener","BoxComponent","boxStrokeWidth","updateLineEl","maskLineId","boxPath","oldPath","oldLineCoordinates","getStartingLineCoordinates","nodeBar","selectAll","ease","attrTween","pathTween","lineEl","_","lineTween","nodeLineEl","baseVal","precision","path0","path1","cloneNode","setAttribute","n0","getTotalLength","n1","distances","dt","p0","getPointAtLength","p1","p","BoxComponent_Factory","BoxComponent_HostBindings","BoxComponent_mouseenter_HostBindingHandler","BoxComponent_mouseleave_HostBindingHandler","BoxComponent_Template","BoxComponent_Template__svg_path_click_7_listener","BoxChartModule","BoxChartModule_Factory","getDomain","minVal","maxVal","getScale","BubbleChartComponent","maxRadius","minRadius","bubblePadding","rDomain","getRDomain","getRScale","getBubblePadding","yMin","xMin","yMax","xMax","Infinity","ɵBubbleChartComponent_BaseFactory","BubbleChartComponent_Factory","BubbleChartComponent_ContentQueries","BubbleChartComponent_HostBindings","BubbleChartComponent_mouseleave_HostBindingHandler","BubbleChartComponent_Template","BubbleChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","BubbleChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","BubbleChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","BubbleChartComponent_Template__svg_rect_mouseenter_7_listener","BubbleSeriesComponent","circles","getCircles","hasRadius","hasTooltipLabel","hasSeriesName","radiusValue","BubbleSeriesComponent_Factory","BubbleSeriesComponent_Template","BubbleChartModule","BubbleChartModule_Factory","HeatMapCellComponent","animateToCurrentForm","HeatMapCellComponent_Factory","HeatMapCellComponent_HostBindings","HeatMapCellComponent_mouseenter_HostBindingHandler","HeatMapCellComponent_mouseleave_HostBindingHandler","HeatMapCellComponent_Template","HeatMapCellComponent_Template__svg_rect_click_2_listener","HeatCellSeriesComponent","cells","getCells","row","HeatCellSeriesComponent_Factory","HeatCellSeriesComponent_Template","HeatMapComponent","innerPadding","rects","getRects","getDimension","N","L","split","f","yVal","ɵHeatMapComponent_BaseFactory","HeatMapComponent_Factory","HeatMapComponent_ContentQueries","HeatMapComponent_Template","HeatMapComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","HeatMapComponent_Template__svg_g_select_5_listener","HeatMapComponent_Template__svg_g_activate_5_listener","HeatMapComponent_Template__svg_g_deactivate_5_listener","HeatMapModule","HeatMapModule_Factory","LineComponent","initialPath","LineComponent_Factory","LineComponent_Template","strokeDasharray","strokeDashoffset","LineChartComponent","ɵLineChartComponent_BaseFactory","LineChartComponent_Factory","LineChartComponent_ContentQueries","LineChartComponent_HostBindings","LineChartComponent_mouseleave_HostBindingHandler","LineChartComponent_Template","LineChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","LineChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","LineChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","LineSeriesComponent","updateGradients","sortData","lineGen","getLineGenerator","areaGen","getAreaGenerator","getRangeGenerator","areaGradientStops","LineSeriesComponent_Factory","LineSeriesComponent_Template","LineChartModule","LineChartModule_Factory","twoPI","PolarChartComponent","showSeriesOnHover","yAxisMinScale","setDims","setTicks","halfWidth","halfHeight","yOffset","transformPlot","xValues","getXValues","dd","startPos","pos","minDistance","o","getYValues","ɵPolarChartComponent_BaseFactory","PolarChartComponent_Factory","PolarChartComponent_ContentQueries","PolarChartComponent_Template","PolarChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","PolarChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","PolarChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","PieLabelComponent","PolarSeriesComponent","linearScaleType","getAngle","cData","defaultTooltipText","PolarSeriesComponent_Factory","PolarSeriesComponent_Template","AdvancedPieChartComponent","ɵAdvancedPieChartComponent_BaseFactory","AdvancedPieChartComponent_Factory","AdvancedPieChartComponent_ContentQueries","nameFormatting","AdvancedPieChartComponent_Template","AdvancedPieChartComponent_Template__svg_g_select_4_listener","AdvancedPieChartComponent_Template__svg_g_activate_4_listener","AdvancedPieChartComponent_Template__svg_g_deactivate_4_listener","AdvancedPieChartComponent_Template_ngx_charts_advanced_legend_select_6_listener","AdvancedPieChartComponent_Template_ngx_charts_advanced_legend_activate_6_listener","AdvancedPieChartComponent_Template_ngx_charts_advanced_legend_deactivate_6_listener","PieSeriesComponent","setTransforms","styleTransform","textX","textY","attrTransform","textTransition","isIE","test","startRadius","innerArc","innerPos","centroid","outerPos","midAngle","PieLabelComponent_Factory","PieLabelComponent_Template","PieArcComponent","getPointerEvents","calc","calculateArc","updateAnimation","_current","copyOfD","interpolater","_timeout","onDblClick","preventDefault","stopPropagation","nativeEvent","PieArcComponent_Factory","PieArcComponent_Template","PieArcComponent_Template__svg_path_click_2_listener","PieArcComponent_Template__svg_path_dblclick_2_listener","PieArcComponent_Template__svg_path_mouseenter_2_listener","PieArcComponent_Template__svg_path_mouseleave_2_listener","PieChartComponent","labels","doughnut","arcWidth","hasNoOptionalMarginsSet","translation","ɵPieChartComponent_BaseFactory","PieChartComponent_Factory","PieChartComponent_ContentQueries","PieChartComponent_Template","PieChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","PieChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","PieChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","PieChartComponent_Template__svg_g_dblclick_2_listener","PieChartComponent_Template__svg_g_select_2_listener","PieChartComponent_Template__svg_g_activate_2_listener","PieChartComponent_Template__svg_g_deactivate_2_listener","gridSize","minWidth","rows","cols","ceil","gridLayout","designatedTotal","res","cardWidth","cardHeight","extra","PieGridComponent","getSeries","baselineLabelHeight","yPos","other","ɵPieGridComponent_BaseFactory","PieGridComponent_Factory","PieGridComponent_ContentQueries","PieGridComponent_Template","PieGridSeriesComponent","layout","arcs","getArcs","PieGridSeriesComponent_Factory","PieGridSeriesComponent_Template","pieGenerator","arcData","calculateLabelPositions","outerArc","factor","pieData","labelPositions","myArc","showLabels","PieSeriesComponent_Factory","PieSeriesComponent_Template","PieChartModule","PieChartModule_Factory","PolarChartModule","PolarChartModule_Factory","calculateTextWidth","fontFamilyKey","defaultWidth","acc","curr","VERDANA_FONT_WIDTHS_16_PX","A","B","C","D","E","F","G","H","I","J","K","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","k","l","m","n","q","u","z","$","CardComponent","textFontSize","bandHeight","textPadding","labelFontSize","scaleTextSSR","hasValue","card","textWidth","cardData","paddedValue","setPadding","scaleText","startCount","repeat","decs","textEl","availableWidth","availableHeight","resizeScale","CardComponent_Factory","CardComponent_Query","CardComponent_Template","CardComponent_Template__svg_g_click_0_listener","hexToRgb","rgb","invertColor","yiq","depth","shadeRGBColor","CardSeriesComponent","sortedLengths","cards","getCards","emptySlots","yPadding","xPadding","valueColor","cardColor","CardSeriesComponent_Factory","CardSeriesComponent_Template","NumberCardComponent","clickable","observers","ɵNumberCardComponent_BaseFactory","NumberCardComponent_Factory","NumberCardComponent_Template","NumberCardComponent_Template__svg_g_select_2_listener","NumberCardModule","NumberCardModule_Factory","TreeMapCellComponent","cellData","TreeMapCellComponent_Factory","TreeMapCellComponent_Template","TreeMapCellComponent_Template__svg_rect_click_2_listener","TreeMapCellSeriesComponent","children","x0","TreeMapCellSeriesComponent_Factory","TreeMapCellSeriesComponent_Template","TreeMapComponent","rootNode","isRoot","parentId","ɵTreeMapComponent_BaseFactory","TreeMapComponent_Factory","TreeMapComponent_ContentQueries","TreeMapComponent_Template","TreeMapComponent_Template__svg_g_select_2_listener","TreeMapModule","TreeMapModule_Factory","ElementType","LinearGaugeComponent","valueResizeScale","unitsResizeScale","valueTextTransform","valueTranslate","unitsTextTransform","unitsTranslate","Value","Units","hasPreviousValue","previousValue","getDisplayValue","el","valueTextEl","unitsTextEl","oldScale","resizeScaleWidth","resizeScaleHeight","ɵLinearGaugeComponent_BaseFactory","LinearGaugeComponent_Factory","LinearGaugeComponent_Query","LinearGaugeComponent_Template","LinearGaugeComponent_Template_ngx_charts_chart_click_0_listener","ɵɵpureFunction0","GaugeComponent","showAxis","showText","availableRadius","radiusPerArc","textRadius","dataMin","dataMax","textValue","availableSpace","ɵGaugeComponent_BaseFactory","GaugeComponent_Factory","GaugeComponent_ContentQueries","GaugeComponent_Query","GaugeComponent_Template","GaugeComponent_Template_ngx_charts_chart_legendLabelClick_0_listener","GaugeComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener","GaugeComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener","GaugeArcComponent","GaugeAxisComponent","GaugeArcComponent_Factory","GaugeArcComponent_Template","GaugeArcComponent_Template__svg_g_select_1_listener","GaugeArcComponent_Template__svg_g_activate_1_listener","GaugeArcComponent_Template__svg_g_deactivate_1_listener","rotate","rotationAngle","bigTickSegment","smallTickSegment","big","small","startDistance","textDist","angleDeg","getTextAnchor","skip","getTickPath","smallAngleDeg","smallAngle","lineGenerator","GaugeAxisComponent_Factory","GaugeAxisComponent_Template","GaugeModule","GaugeModule_Factory","ngxChartsPolyfills","SVGElement","HTMLDivElement","NgxChartsModule_Factory","fieldType","groupByType","formatter","ɵa","ɵb","clone","require","typeOf","isPlainObject","instanceClone","cloneObjectDeep","cloneArrayDeep","module","NaN","ascending","bisector","number","ascendingBisect","bisectRight","right","bisectLeft","bisectCenter","center","delta","compare","ascendingComparator","lo","hi","mid","valueof","numbers","quickselect","Float64Array","value0","subarray","value1","quantileSorted","array","exp","sd","sqrt","newLeft","newRight","swap","stop","e10","e5","e2","tickIncrement","isFinite","r0","r1","power","LN10","tickStep","step0","step1","dispatch","dragDisable","dragEnable","pointer","interrupt","constant","BrushEvent","noevent","nopropagation","MODE_DRAG","MODE_SPACE","MODE_HANDLE","MODE_CENTER","number1","number2","handles","input","output","xy","XY","cursors","overlay","nw","ne","se","sw","flipX","flipY","signsX","signsY","defaultFilter","ctrlKey","button","defaultExtent","svg","ownerSVGElement","hasAttribute","viewBox","defaultTouchable","maxTouchPoints","local","__brush","empty","brushSelection","state","dim","brushY","touchable","keys","listeners","handleSize","touchending","initialize","enter","append","merge","each","handle","exit","remove","redraw","started","touchmoved","touchended","move","tween","emitter","beforestart","end","that","selection0","selection1","clear","clean","Emitter","starting","mode","datum","sourceEvent","touches","__data__","metaKey","altKey","signX","signY","w0","w1","e0","e1","s0","s1","dx","moving","shifting","shiftKey","lockX","lockY","identifier","point0","pts","moved","ended","keydowned","keyupped","changedTouches","cur","point","keyCode","keyModifiers","defineProperties","stopImmediatePropagation","define","extend","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","channels","displayable","hex","color_formatHex","formatHex","formatHsl","color_formatHsl","formatRgb","color_formatRgb","hslConvert","exec","rgbn","Rgb","rgba","hsla","hasOwnProperty","rgbConvert","rgb_formatHex","rgb_formatRgb","Hsl","hsl","m2","m1","hsl2rgb","parent","definition","noop","Dispatch","parseTypenames","typenames","typename","concat","documentElement","__noselect","MozUserSelect","yesdrag","noclick","cubicIn","cubicOut","cubicInOut","pi","halfPi","sinIn","sinOut","sinInOut","formatLocale","locale","formatPrefix","defaultLocale","thousands","grouping","currency","formatDecimalParts","toExponential","coefficient","substring","numerals","prefixExponent","exponent","re","formatSpecifier","specifier","FormatSpecifier","align","symbol","zero","comma","out","formatDecimal","formatPrefixAuto","formatRounded","toPrecision","toUpperCase","formatGroup","formatNumerals","formatTrim","formatTypes","identity","prefixes","currencyPrefix","currencySuffix","decimal","String","minus","nan","newFormat","prefix","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","charCodeAt","optional","required","constantZero","nodes","eachAfter","pop","node_count","node_each","node_eachBefore","node_eachAfter","node_find","node_sum","node_sort","node_path","node_ancestors","node_descendants","node_leaves","node_links","node_iterator","hierarchy","mapChildren","objectChildren","Node","child","childs","eachBefore","computeHeight","node_copy","copyData","ancestors","descendants","leaves","links","Symbol","iterator","current","ancestor","leastCommonAncestor","aNodes","bNodes","preroot","ambiguous","defaultId","defaultParentId","nodeId","nodeKey","nodeByKey","roundNode","squarify","tile","paddingStack","paddingTop","paddingRight","paddingBottom","paddingLeft","positionNode","treemapDice","treemapSlice","phi","squarifyRatio","ratio","nodeValue","sumValue","minValue","maxValue","newRatio","minRatio","alpha","beta","dice","custom","numberArray","isNumberArray","genericArray","nb","na","basis","t1","v0","v3","t2","t3","linear","exponential","hue","gamma","nogamma","setTime","ArrayBuffer","isView","DataView","colorRgb","basisClosed","rgbGamma","rgbSpline","spline","rgbBasis","rgbBasisClosed","reA","reB","one","bi","lastIndex","am","bm","bs","degrees","translateX","translateY","skewX","scaleX","scaleY","atan2","atan","parseCss","parseSvg","interpolateTransform","pxComma","pxParen","degParen","translate","xa","ya","xb","yb","interpolateTransformCss","interpolateTransformSvg","decompose","svgNode","DOMMatrix","WebKitCSSMatrix","isIdentity","createElementNS","consolidate","matrix","object","string","tau","epsilon","tauEpsilon","Path","_x0","_y0","_x1","_y1","moveTo","closePath","lineTo","quadraticCurveTo","bezierCurveTo","arcTo","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","acos","t01","t21","ccw","cw","da","rect","sequence","initRange","ordinal","band","unknown","ordinalRange","rescale","pointish","constants","bisect","interpolateValue","interpolateNumber","interpolateRound","unit","normalize","clamper","bimap","polymap","clamp","transformer","untransform","piecewise","continuous","initInterpolator","interpolator","linearish","prestep","maxIter","interval","implicit","threshold","thresholds","invertExtent","quantiles","precisionFixed","precisionPrefix","precisionRound","timeYear","timeMonth","timeWeek","timeDay","timeHour","timeMinute","timeSecond","timeTicks","timeTickInterval","calendar","tickInterval","year","month","week","day","hour","minute","second","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","formatYear","namespace","xhtml","creatorInherit","ownerDocument","uri","namespaceURI","createElement","creatorFixed","fullname","space","selector","matches","childMatcher","namespaces","xlink","xml","xmlns","currentTarget","createSVGPoint","clientX","clientY","matrixTransform","getScreenCTM","inverse","clientLeft","clientTop","pageY","Selection","querySelector","creator","appendChild","attrRemove","removeAttribute","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","getAttributeNS","getAttribute","classArray","classList","ClassList","_node","_names","classedAdd","names","list","classedRemove","classedTrue","classedFalse","classedFunction","selection_cloneShallow","insertBefore","nextSibling","selection_cloneDeep","deep","EnterNode","bindIndex","groupLength","dataLength","bindKey","nodeByKeyValue","keyValues","keyValue","delete","parents","_parents","groups","_groups","enterGroup","updateGroup","exitGroup","_next","_enter","_exit","defaultView","params","CustomEvent","detail","dispatchConstant","dispatchFunction","sparse","_parent","querySelectorAll","matcher","subgroups","subgroup","htmlRemove","innerHTML","htmlConstant","htmlFunction","selection_select","selection_selectAll","selection_selectChild","selection_selectChildren","selection_filter","selection_data","selection_enter","selection_exit","selection_join","selection_merge","selection_order","selection_sort","selection_call","selection_nodes","selection_node","selection_size","selection_empty","selection_each","selection_attr","selection_style","selection_property","selection_classed","selection_text","selection_html","selection_raise","selection_lower","selection_append","selection_insert","selection_remove","selection_clone","selection_datum","selection_on","selection_dispatch","selection_iterator","selection_selection","selectChild","selectChildren","order","classed","html","raise","lower","insert","constantNull","before","onenter","onupdate","onexit","previousSibling","firstChild","groups0","groups1","m0","merges","group0","group1","contextListener","listener","onRemove","__on","removeEventListener","onAdd","addEventListener","compareDocumentPosition","propertyRemove","propertyConstant","propertyFunction","removeChild","subnode","selectorAll","arrayAll","childFind","childFirst","firstElementChild","childrenFilter","compareNode","sortgroups","sortgroup","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","textRemove","textContent","textConstant","textFunction","none","asin","arcInnerRadius","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","padAngle","intersect","x3","y3","x10","y10","x32","y32","cornerTangents","rc","ox","oy","x11","y11","x00","y00","d2","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","padRadius","buffer","a01","a11","a00","a10","da0","da1","ap","rp","rc0","rc1","t0","oc","ax","ay","bx","by","kc","lc","pointX","pointY","defined","defined0","x0z","y0z","areaStart","lineStart","lineEnd","areaEnd","arealine","lineX0","lineY0","lineY1","lineX1","_context","_k","_x2","_y2","Cardinal","tension","_line","_point","cardinal","CardinalClosed","_x3","_x4","_x5","_y3","_y4","_y5","curveRadialLinear","curveRadial","Radial","_curve","radial","descending","sortValues","pa","timeParse","utcFormat","utcParse","dateTime","periods","days","shortDays","months","shortMonths","timeSunday","timeMonday","timeThursday","utcDay","utcSunday","utcMonday","utcThursday","utcYear","localDate","setFullYear","utcDate","UTC","setUTCFullYear","newDate","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","pad","pads","charAt","newParse","parseSpecifier","getUTCDay","getUTCFullYear","getUTCMonth","getUTCDate","getDay","getFullYear","getMonth","getDate","getHours","getUTCHours","numberRe","percentRe","requoteRe","requote","getMilliseconds","getMinutes","getSeconds","dISO","getTimezoneOffset","getUTCMilliseconds","getUTCMinutes","getUTCSeconds","dow","UTCdISO","durationDay","durationMinute","setHours","setDate","durationSecond","durationHour","durationWeek","durationMonth","durationYear","hours","newInterval","floori","offseti","field","millisecond","milliseconds","minutes","setMonth","seconds","sunday","utcMinute","utcHour","utcWeek","utcMonth","ticker","tickIntervals","utcTicks","utcTickInterval","setUTCHours","setUTCDate","utcDays","setUTCMinutes","utcHours","setUTCSeconds","utcMinutes","setUTCMonth","utcMonths","utcWeekday","utcTuesday","utcWednesday","utcFriday","utcSaturday","utcSundays","utcMondays","utcTuesdays","utcWednesdays","utcThursdays","utcFridays","utcSaturdays","utcYears","weekday","monday","tuesday","wednesday","thursday","friday","saturday","sundays","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","years","Timer","delay","restart","elapsed","frame","pokeDelay","taskHead","taskTail","clockLast","clockNow","clockSkew","clock","performance","setFrame","clearNow","_call","_time","timer","TypeError","sleep","timerFlush","wake","nap","poke","clearInterval","setInterval","Transition","SCHEDULED","schedules","__transition","schedule","default","STARTING","ENDING","ENDED","selection_interrupt","selection_transition","easeCubicInOut","defaultTiming","inherit","timing","_id","_name","tweenValue","string00","string1","interpolate0","string0","string10","attrInterpolate","attrInterpolateNS","attrTweenNS","init","delayFunction","delayConstant","durationFunction","durationConstant","easeConstant","easeVarying","on0","on1","Promise","resolve","reject","cancel","transition_attr","transition_attrTween","transition_delay","transition_duration","transition_ease","transition_easeVarying","transition_filter","transition_merge","transition_on","transition_remove","transition_select","transition_selectAll","transition_selection","transition_style","transition_styleTween","transition_text","transition_textTween","transition_transition","transition_tween","transition_end","selection_prototype","styleTween","textTween","interpolateRgb","interpolateString","onFunction","sit","removeFunction","emptyOn","emptyTween","CREATED","STARTED","RUNNING","self","styleNull","styleMaybeRemove","listener0","styleInterpolate","textInterpolate","id0","id1","tweenRemove","tween0","tween1","tweenFunction","isObject","isObjectObject","ctor","prot","kindOf","isGeneratorFn","isBuffer","isArguments","isError","isRegexp","ctorName","isGeneratorObj","message","stackTraceLimit","toDateString","flags","ignoreCase","multiline","throw","return","callee","err","cloneBuffer","cloneSymbol","cloneArrayBuffer","cloneTypedArray","cloneRegExp","byteLength","Uint8Array","byteOffset","buf","Buffer","allocUnsafe"],"sourceRoot":"webpack:///"}