tango-app-ui-analyse-traffic 3.0.1-dev → 3.3.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/chart-detail-modal/chart-detail-modal.component.mjs +55 -0
- package/esm2022/lib/components/image-doc/image-doc.component.mjs +105 -0
- package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +80 -0
- package/esm2022/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.mjs +22 -6
- package/esm2022/lib/components/traffic-analysis/traffic-analysis.component.mjs +579 -130
- package/esm2022/lib/components/traffic-card-charts/traffic-card-charts.component.mjs +937 -0
- package/esm2022/lib/components/traffic-charts/traffic-charts.component.mjs +422 -0
- package/esm2022/lib/services/traffic.service.mjs +69 -0
- package/esm2022/lib/tango-analyse-traffic-routing.module.mjs +4 -4
- package/esm2022/lib/tango-analyse-traffic.module.mjs +27 -9
- package/fesm2022/tango-app-ui-analyse-traffic.mjs +2234 -136
- package/fesm2022/tango-app-ui-analyse-traffic.mjs.map +1 -1
- package/lib/components/chart-detail-modal/chart-detail-modal.component.d.ts +16 -0
- package/lib/components/image-doc/image-doc.component.d.ts +31 -0
- package/lib/components/reactive-select/reactive-select.component.d.ts +23 -0
- package/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.d.ts +7 -1
- package/lib/components/traffic-analysis/traffic-analysis.component.d.ts +62 -3
- package/lib/components/traffic-card-charts/traffic-card-charts.component.d.ts +81 -0
- package/lib/components/traffic-charts/traffic-charts.component.d.ts +55 -0
- package/lib/services/traffic.service.d.ts +26 -0
- package/lib/tango-analyse-traffic.module.d.ts +10 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tango-app-ui-analyse-traffic.mjs","sources":["../../../projects/tango-analyse-traffic/src/lib/components/traffic-analysis/traffic-analysis.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/traffic-analysis/traffic-analysis.component.html","../../../projects/tango-analyse-traffic/src/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.html","../../../projects/tango-analyse-traffic/src/lib/tango-analyse-traffic-routing.module.ts","../../../projects/tango-analyse-traffic/src/lib/tango-analyse-traffic.module.ts","../../../projects/tango-analyse-traffic/src/public-api.ts","../../../projects/tango-analyse-traffic/src/tango-app-ui-analyse-traffic.ts"],"sourcesContent":["import { Component, OnInit, OnDestroy, NgZone } from '@angular/core';\r\nimport * as am5 from \"@amcharts/amcharts5\";\r\nimport * as am5xy from \"@amcharts/amcharts5/xy\";\r\nimport am5themes_Animated from \"@amcharts/amcharts5/themes/Animated\";\r\nimport am5themes_Responsive from \"@amcharts/amcharts5/themes/Responsive\";\r\nimport * as am5percent from \"@amcharts/amcharts5/percent\";\r\n\r\n@Component({\r\n selector: 'lib-traffic-analysis',\r\n templateUrl: './traffic-analysis.component.html',\r\n styleUrl: './traffic-analysis.component.scss'\r\n})\r\nexport class TrafficAnalysisComponent implements OnInit,OnDestroy {\r\n\r\n private lineroot: am5.Root;\r\n constructor(private zone: NgZone) {}\r\n\r\n ngOnInit(): void {\r\n this.zone.runOutsideAngular(() => {\r\n this.lineCharts();\r\n this.heatMap();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.zone.runOutsideAngular(() => {\r\n if (this.lineroot) {\r\n this.lineroot.dispose();\r\n }\r\n });\r\n }\r\n lineCharts(){\r\n let root = am5.Root.new(\"chartdiv2\");\r\n root.setThemes([\r\n am5themes_Animated.new(root),\r\n am5themes_Responsive.new(root)\r\n ]);\r\n let chart = root.container.children.push(am5xy.XYChart.new(root, {\r\n panX: true,\r\n panY: true,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n pinchZoomX: true\r\n }));\r\n\r\n // Add data\r\n let data = [{\r\n date: new Date(2012, 6, 27).getTime(),\r\n value: 13\r\n }, {\r\n date: new Date(2012, 6, 28).getTime(),\r\n value: 11\r\n }, {\r\n date: new Date(2012, 6, 29).getTime(),\r\n value: 5\r\n }, {\r\n date: new Date(2012, 7, 1).getTime(),\r\n value: 6\r\n },{\r\n date: new Date(2012, 7, 2).getTime(),\r\n value: 1\r\n }, {\r\n date: new Date(2012, 7, 3).getTime(),\r\n value: 25\r\n }, {\r\n date: new Date(2012, 7, 4).getTime(),\r\n value: 26\r\n },{\r\n date: new Date(2012, 7, 5).getTime(),\r\n value: 21\r\n }, {\r\n date: new Date(2012, 7, 6).getTime(),\r\n value: 25\r\n }, {\r\n date: new Date(2012, 7, 7).getTime(),\r\n value: 26\r\n },{\r\n date: new Date(2012, 7, 8).getTime(),\r\n value: 11\r\n }, {\r\n date: new Date(2012, 7, 9).getTime(),\r\n value: 15\r\n }, {\r\n date: new Date(2012, 7, 10).getTime(),\r\n value: 16\r\n }];\r\n let cursor = chart.set(\"cursor\", am5xy.XYCursor.new(root, {\r\n behavior: \"none\"\r\n }));\r\n cursor.lineY.set(\"visible\", false);\r\n // Create axes\r\n let xAxis = chart.xAxes.push(am5xy.DateAxis.new(root, {\r\n baseInterval: { timeUnit: \"day\", count: 1 },\r\n renderer: am5xy.AxisRendererX.new(root, {})\r\n }));\r\n xAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n xAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n let yAxis = chart.yAxes.push(am5xy.ValueAxis.new(root, {\r\n renderer: am5xy.AxisRendererY.new(root, {})\r\n }));\r\n yAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n yAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n // Create series\r\n let series = chart.series.push(am5xy.LineSeries.new(root, {\r\n name: \"Series\",\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: \"value\",\r\n valueXField: \"date\",\r\n stroke: am5.color(0x00A3FF) // Set the line color here (red in this case)\r\n }));\r\n\r\n series.data.setAll(data);\r\n series.set(\"tooltip\", am5.Tooltip.new(root, {\r\n labelText: \"{valueY}\",\r\n getFillFromSprite: false, // Prevents the tooltip from inheriting color from the sprite\r\n background: am5.Rectangle.new(root, {\r\n fill: am5.color(0xDAF1FF) // Set the tooltip background color here (blue in this case)\r\n }),\r\n }));\r\n this.lineroot = root;\r\n}\r\nheatMap(){\r\n let root = am5.Root.new(\"chartdiv\");\r\n root.setThemes([am5themes_Animated.new(root)]);\r\n \r\n let chart = root.container.children.push(\r\n am5percent.SlicedChart.new(root, {\r\n layout: root.verticalLayout\r\n })\r\n );\r\n \r\n let series = chart.series.push(\r\n am5percent.FunnelSeries.new(root, {\r\n alignLabels: false,\r\n orientation: \"horizontal\",\r\n valueField: \"value\",\r\n categoryField: \"category\",\r\n bottomRatio: 1\r\n })\r\n );\r\n \r\n series.data.setAll([\r\n { value: 10, category: \"One\" },\r\n { value: 9, category: \"Two\" },\r\n { value: 6, category: \"Three\" },\r\n { value: 5, category: \"Four\" },\r\n { value: 4, category: \"Five\" },\r\n { value: 3, category: \"Six\" },\r\n { value: 1, category: \"Seven\" }\r\n ]);\r\n \r\n series.appear();\r\n \r\n\r\n let legend = chart.children.push(\r\n am5.Legend.new(root, {\r\n centerX: am5.p50,\r\n x: am5.p50,\r\n marginTop: 15,\r\n marginBottom: 15\r\n })\r\n );\r\n \r\n legend.data.setAll(series.dataItems);\r\n \r\n chart.appear(1000, 100);\r\n}\r\n\r\n}\r\n","<div class=\"row\">\r\n <div class=\"col-md-7\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <div class=\"card card-border\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">603</span>\r\n <span class=\"sub-header mb-2\">Footfall</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2410_4716)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"#EAF8FF\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\"\r\n stroke=\"#EAF8FF\" />\r\n <path\r\n d=\"M27.5 26.5H18.3333C15.5833 26.5 14.2083 26.5 13.3542 25.6458C12.5 24.7917 12.5 23.4167 12.5 20.6667V11.5M15 19H15.0075M17.4992 19H17.5058M19.9975 19H20.0042M22.4958 19H22.5033M24.9942 19H25.0017M27.4925 19H27.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M15 14.8333C15.5608 13.8983 16.3225 13.1667 17.4942 13.1667C22.4467 13.1667 19.6625 23.1667 24.985 23.1667C26.165 23.1667 26.9217 22.43 27.5 21.5\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2410_4716\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2410_4716\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_2410_4716\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M6 12L10 8L6 4\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">72%</span>\r\n <span class=\"sub-header mb-2\">Conversion Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\"\r\n viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\"\r\n stroke=\"#D92D20\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card card-border\">\r\n <div class=\"card-header ellipse1 border-0 mt-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header mb-2\">22%</span>\r\n <span class=\"sub-header mb-2\">Bounced Rate</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv2\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\"\r\n stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">3%</span><span class=\"ms-2 week-font\">\r\n vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-5\">\r\n <div class=\"card\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"chartdiv\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-tango-analyse-traffic',\r\n templateUrl: './tango-analyse-traffic.component.html',\r\n styleUrl: './tango-analyse-traffic.component.scss'\r\n})\r\nexport class TangoAnalyseTrafficComponent {\r\n\r\n}\r\n","<lib-traffic-analysis></lib-traffic-analysis>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { TangoAnalyseTrafficComponent } from './components/tango-analyse-traffic/tango-analyse-traffic.component';\r\n\r\nconst routes: Routes = [\r\n{\r\n path:'',\r\n component:TangoAnalyseTrafficComponent\r\n}\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class TangoAnalyseTrafficRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { TangoAnalyseTrafficRoutingModule } from './tango-analyse-traffic-routing.module';\r\nimport { TrafficAnalysisComponent } from './components/traffic-analysis/traffic-analysis.component';\r\nimport { TangoAnalyseTrafficComponent } from './components/tango-analyse-traffic/tango-analyse-traffic.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TrafficAnalysisComponent,TangoAnalyseTrafficComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TangoAnalyseTrafficRoutingModule\r\n ]\r\n})\r\nexport class TangoAnalyseTrafficModule { }\r\n","/*\r\n * Public API Surface of tango-analyse-traffic\r\n */\r\n\r\nexport * from './lib/tango-analyse-traffic.module';\r\nexport * from './lib/components/tango-analyse-traffic/tango-analyse-traffic.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TrafficAnalysisComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tango-app-ui-analyse-traffic.mjs","sources":["../../../projects/tango-analyse-traffic/src/lib/services/traffic.service.ts","../../../projects/tango-analyse-traffic/src/lib/components/reactive-select/reactive-select.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/reactive-select/reactive-select.component.html","../../../projects/tango-analyse-traffic/src/lib/components/traffic-charts/traffic-charts.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/traffic-charts/traffic-charts.component.html","../../../projects/tango-analyse-traffic/src/lib/components/traffic-card-charts/traffic-card-charts.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/traffic-card-charts/traffic-card-charts.component.html","../../../projects/tango-analyse-traffic/src/lib/components/image-doc/image-doc.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/image-doc/image-doc.component.html","../../../projects/tango-analyse-traffic/src/lib/components/traffic-analysis/traffic-analysis.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/traffic-analysis/traffic-analysis.component.html","../../../projects/tango-analyse-traffic/src/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/tango-analyse-traffic/tango-analyse-traffic.component.html","../../../projects/tango-analyse-traffic/src/lib/tango-analyse-traffic-routing.module.ts","../../../projects/tango-analyse-traffic/src/lib/components/chart-detail-modal/chart-detail-modal.component.ts","../../../projects/tango-analyse-traffic/src/lib/components/chart-detail-modal/chart-detail-modal.component.html","../../../projects/tango-analyse-traffic/src/lib/tango-analyse-traffic.module.ts","../../../projects/tango-analyse-traffic/src/public-api.ts","../../../projects/tango-analyse-traffic/src/tango-app-ui-analyse-traffic.ts"],"sourcesContent":["import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GlobalStateService } from \"tango-app-ui-global\";\r\nimport { Observable } from \"rxjs\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TrafficService {\r\n trafficApiUrl: any;\r\n\r\n constructor(private http: HttpClient, private gs: GlobalStateService) {\r\n this.gs.environment.subscribe((env) => {\r\n if (env) {\r\n this.trafficApiUrl = env.trafficApiUrl;\r\n }\r\n });\r\n }\r\n\r\n getCardList(params: any): Observable<any> {\r\n return this.http.post<any>(`${this.trafficApiUrl}/cardsFunnel_v1`, params);\r\n }\r\n\r\n getCardGraphList(params: any): Observable<any> {\r\n return this.http.post<any>(`${this.trafficApiUrl}/cardsGraphs_v1`, params);\r\n }\r\n\r\n getSummaryTableList(params: any): Observable<any> {\r\n return this.http.post<any>(`${this.trafficApiUrl}/summaryTable_v1`, params);\r\n }\r\n\r\n getOverallCards(params: any): Observable<any> {\r\n return this.http.post<any>(`${this.trafficApiUrl}/overallCards_v1`, params);\r\n }\r\n\r\n getOverallHourlyChart(params: any): Observable<any> {\r\n return this.http.post<any>(\r\n `${this.trafficApiUrl}/overallHourlyChart_v1`,\r\n params\r\n );\r\n }\r\n\r\n getOverallChart(params: any): Observable<any> {\r\n return this.http.post<any>(`${this.trafficApiUrl}/overallChart_v1`, params);\r\n }\r\n\r\n getSingleStoreChart(params: any): Observable<any> {\r\n return this.http.post<any>(\r\n `${this.trafficApiUrl}/singleStoreChart_v1`,\r\n params\r\n );\r\n }\r\n\r\n getDemoGraphicsChart(params: any): Observable<any> {\r\n return this.http.post<any>(\r\n `${this.trafficApiUrl}/demographicChart_v1`,\r\n params\r\n );\r\n }\r\n\r\n getBuyersChart(params: any): Observable<any> {\r\n return this.http.post<any>(`${this.trafficApiUrl}/buyerChart_v1`, params);\r\n }\r\n\r\n getFootfallDirectoryFolders(params: any): Observable<any> {\r\n return this.http.post<any>(\r\n `${this.trafficApiUrl}/footfallDirectoryFolders_v1`,\r\n params\r\n );\r\n }\r\n\r\n getFootfallDirectory(params: any): Observable<any> {\r\n return this.http.post<any>(\r\n `${this.trafficApiUrl}/footfallDirectory_v1`,\r\n params\r\n );\r\n }\r\n\r\n getfootfallTrend(params: any): Observable<any> {\r\n return this.http.post<any>(`${this.trafficApiUrl}/footfallTrend_v1`, params);\r\n }\r\n\r\n getRecapVideo(params: any): Observable<any> {\r\n return this.http.post<any>(`${this.trafficApiUrl}/recapVideo_v1`, params);\r\n }\r\n\r\n getDensityDwell(params: any): Observable<any> {\r\n return this.http.post<any>(`${this.trafficApiUrl}/densityDwell_v1`, params);\r\n }\r\n}\r\n","import { Component, HostListener, Input, Provider, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst SELECT_CONTROL_VALUE_ACCESSOR: Provider = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ReactiveSelectComponent),\r\n multi: true,\r\n};\r\n\r\n@Component({\r\n selector: 'lib-reactive-select',\r\n templateUrl: './reactive-select.component.html',\r\n styleUrl: './reactive-select.component.scss',\r\n providers: [SELECT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class ReactiveSelectComponent implements ControlValueAccessor {\r\n\r\n private onTouched: Function;\r\n private onChanged: Function;\r\n protected isDisabled: boolean;\r\n @Input() idField: string\r\n @Input() nameField: string\r\n @Input() label: string\r\n @Input() data: any\r\n protected isOpened: boolean = false\r\n protected selected: Record<string, any> | null = null\r\n protected selectedId: string | number\r\n\r\n writeValue(val: string | number): void {\r\n this.selectedId = val\r\n this.selected = this.data.filter((item:Record<string, any>)=> item?.[this.idField] === val)[0] \r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChanged = fn\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled\r\n\r\n }\r\n\r\n onSelect(item: Record<string, any>) {\r\n this.onTouched()\r\n this.selected = item\r\n this.selectedId = item?.[this.idField] \r\n this.isOpened = false\r\n this.onChanged(this.selectedId)\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onClick(event: MouseEvent) {\r\n if (!this.isDisabled) {\r\n const targetElement = event.target as HTMLElement;\r\n if (!this.isComponentClicked(targetElement)) {\r\n this.isOpened = false;\r\n }\r\n }\r\n }\r\n\r\n isComponentClicked(targetElement: HTMLElement): boolean {\r\n const parentElement = targetElement.parentElement;\r\n if (parentElement) {\r\n const clickedOnComponent = parentElement.classList.contains('custom-select');\r\n if (clickedOnComponent) {\r\n return true;\r\n } else {\r\n return this.isComponentClicked(parentElement);\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n}\r\n","<div class=\"custom-select w-200px\">\r\n <div class=\"form-group\">\r\n <label *ngIf=\"label\" class=\"form-label w-100\">{{label}}</label>\r\n <div class=\"position-relative\">\r\n <div (click)=\"isOpened = !isOpened;\" [ngClass]=\"isDisabled ? 'disable' : ''\" class=\"form-select dropselect w-100\">\r\n {{selected?.[nameField]}}</div>\r\n <div *ngIf=\"isOpened\" class=\"card py-2 w-100 position-absolute end-0 z-1 drop-list\">\r\n <ul class=\"list-unstyled mb-2 w-100\">\r\n <li *ngFor=\"let item of data\" (click)=\"onSelect(item)\"\r\n [ngClass]=\"item?.[idField] === selected?.[idField] ? 'active' : ''\"\r\n class=\"text px-5 items cursor-pointer py-4 w-100\">\r\n {{item?.[nameField]}}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { ChangeDetectorRef, Component, ElementRef, HostListener, NgZone, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport * as am5 from '@amcharts/amcharts5';\r\nimport * as am5xy from '@amcharts/amcharts5/xy';\r\nimport am5themes_Animated from '@amcharts/amcharts5/themes/Animated';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ChartDetailModalComponent } from '../chart-detail-modal/chart-detail-modal.component';\r\nimport { NgbTooltip } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormControl } from '@angular/forms';\r\nimport { TrafficService } from '../../services/traffic.service';\r\nimport { Subject, takeUntil } from \"rxjs\";\r\nimport { GlobalStateService } from 'tango-app-ui-global';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'lib-traffic-charts',\r\n templateUrl: './traffic-charts.component.html',\r\n styleUrl: './traffic-charts.component.scss'\r\n})\r\nexport class TrafficChartsComponent implements OnInit,OnDestroy {\r\n chart: any;\r\n root: any;\r\n yAxis: any;\r\n xAxis: any;\r\n legend: any;\r\n @ViewChild('tooltipContainer') tooltipContainer: ElementRef<HTMLDivElement>;\r\n tooltipData: any;\r\n\r\n datasets = [\r\n { value: 'footfall', label: 'Footfall' },\r\n { value: 'bounced footfall', label: 'Bounced Footfall' },\r\n { value: 'engagers', label: 'Engagers' },\r\n { value: 'missed opportunity', label: 'Missed Opportunity' },\r\n { value: 'potential buyer', label: 'Potential Buyer' },\r\n { value: 'conversion', label: 'Conversion' }\r\n ];\r\n\r\n // data = {\r\n // dataset1: [\r\n // { year: 'Store-1', engagers: 10, bounced: 8, billable: 5, missedOpportunity: 3, conversion: 2, expenses: 20 },\r\n // { year: '2013', engagers: 15, bounced: 10, billable: 7, missedOpportunity: 4, conversion: 3, expenses: 25 },\r\n // { year: '2014', engagers: 20, bounced: 12, billable: 9, missedOpportunity: 5, conversion: 4, expenses: 10 },\r\n // { year: '2015', engagers: 25, bounced: 15, billable: 10, missedOpportunity: 6, conversion: 5, expenses: 35 },\r\n // { year: '2016', engagers: 10, bounced: 8, billable: 5, missedOpportunity: 3, conversion: 2, expenses: 20 },\r\n // { year: '2017', engagers: 15, bounced: 10, billable: 7, missedOpportunity: 4, conversion: 3, expenses: 25 },\r\n // { year: '2018', engagers: 20, bounced: 12, billable: 9, missedOpportunity: 5, conversion: 4, expenses: 10 },\r\n // { year: '2019', engagers: 25, bounced: 15, billable: 10, missedOpportunity: 6, conversion: 5, expenses: 35 },\r\n // { year: '2020', engagers: 30, bounced: 18, billable: 12, missedOpportunity: 7, conversion: 6, expenses: 10 },\r\n // { year: '2021', engagers: 2, bounced: 12, billable: 19, missedOpportunity: 4, conversion: 14, expenses: 10 },\r\n // { year: '2022', engagers: 5, bounced: 25, billable: 3, missedOpportunity: 6, conversion: 5, expenses: 5,columnSettings: {\r\n // fillOpacity: 0.5,\r\n // strokeWidth: 2,\r\n // strokeDasharray: [5, 5]\r\n // },\r\n // strokeSettings: {\r\n // stroke: am5.color(0xff0000),\r\n // strokeWidth: 2,\r\n // strokeDasharray: [5, 5]\r\n // } },\r\n // { year: '2023', engagers: 13, bounced: 8, billable: 12, missedOpportunity: 7, conversion: 6, expenses: 10, columnSettings: {\r\n // fillOpacity: 0.3,\r\n // strokeWidth: 1,\r\n // strokeDasharray: [3, 3]\r\n // }, },\r\n // { year: '2024', engagers: 17, bounced: 18, billable: 12, missedOpportunity: 7, conversion: 16, expenses: 30, columnSettings: {\r\n // fillOpacity: 0.3,\r\n // strokeWidth: 1,\r\n // strokeDasharray: [3, 3]\r\n // }, }\r\n // ],\r\n // dataset2: [\r\n // { year: '2016', engagers: 5, bounced: 4, billable: 3, missedOpportunity: 2, conversion: 1, expenses: 10, },\r\n // { year: '2017', engagers: 8, bounced: 6, billable: 5, missedOpportunity: 3, conversion: 2, expenses: 15 },\r\n // { year: '2018', engagers: 10, bounced: 8, billable: 6, missedOpportunity: 4, conversion: 3, expenses: 20 },\r\n // { year: '2019', engagers: 12, bounced: 10, billable: 8, missedOpportunity: 5, conversion: 4, expenses: 25 },\r\n // { year: '2020', engagers: 15, bounced: 12, billable: 10, missedOpportunity: 6, conversion: 5, expenses: 30 }\r\n // ],\r\n // dataset3: [\r\n // { year: '2016', engagers: 12, bounced: 11, billable: 8, missedOpportunity: 7, conversion: 6, expenses: 18 },\r\n // { year: '2017', engagers: 14, bounced: 13, billable: 10, missedOpportunity: 9, conversion: 8, expenses: 22 },\r\n // { year: '2018', engagers: 18, bounced: 15, billable: 12, missedOpportunity: 11, conversion: 10, expenses: 27 },\r\n // { year: '2019', engagers: 20, bounced: 18, billable: 15, missedOpportunity: 12, conversion: 11, expenses: 32 },\r\n // { year: '2020', engagers: 22, bounced: 20, billable: 17, missedOpportunity: 14, conversion: 12, expenses: 37 }\r\n // ]\r\n // };\r\n type: any = \"daily\";\r\n // currentData = this.data.dataset1;\r\n private sharedTooltip: am5.Tooltip;\r\n selectValue= new FormControl(\"dataset1\");\r\n private clickListener: () => void;\r\n objData: any;\r\n private readonly destroy$ = new Subject();\r\n getFootfallTrendData: any;\r\n processType=\"footfall\"\r\n typeValue: any;\r\n headerData: any;\r\n constructor(private zone: NgZone,private modalService: NgbModal,private service: TrafficService, public gs: GlobalStateService,\r\n private cd: ChangeDetectorRef) {}\r\n offset: number = 1;\r\n limit: number = 10;\r\n ngOnInit(): void {\r\n this.gs.dataRangeValue\r\n .pipe(takeUntil(this.destroy$), debounceTime(300))\r\n .subscribe((data: any) => {\r\n this.headerData = data;\r\n this.objData = {\r\n fromDate: this.headerData.date.startDate,\r\n toDate: this.headerData.date.endDate,\r\n storeId: data.stores.filter((store:any) => store.checked).map((store:any) => store.storeId),\r\n clientId:data.client,\r\n processType: this.processType,\r\n filterBy:this.processType,\r\n limit:this.limit,\r\n offset:this.offset\r\n };\r\n this.footfallTrend();\r\n this.selectValue.valueChanges.subscribe((value: any) => {\r\n this.onDatasetChange(value);\r\n });\r\n // this.onDatasetChange(this.selectValue.value);\r\n \r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.root) {\r\n this.root.dispose();\r\n }\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n\r\n footfallTrend(){ \r\n this.service\r\n .getfootfallTrend(this.objData)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.getFootfallTrendData = res?.data.footfallTrendData;\r\n this.cd.detectChanges(); \r\n setTimeout(() => this.createChart(), 0); // Call with a delay to ensure the element is in the DOM\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n \r\n }\r\n selectPlan(type: any) {\r\n this.type = type;\r\n // this.currentData = this.data.dataset2;\r\n this.updateChartData();\r\n }\r\n\r\n createChart() {\r\n setTimeout(() => {\r\n const chartDiv = document.getElementById(\"Footfalltrend\");\r\n if (!chartDiv) {\r\n console.error(\"Could not find HTML element with id `Footfalltrend`\");\r\n return;\r\n }\r\n if (this.root) {\r\n this.root.dispose();\r\n }\r\n this.root = am5.Root.new('Footfalltrend');\r\n this.root.setThemes([am5themes_Animated.new(this.root)]);\r\n\r\n this.chart = this.root.container.children.push(\r\n am5xy.XYChart.new(this.root, {\r\n panX: false,\r\n panY: false,\r\n wheelX: 'panX',\r\n wheelY: 'zoomX',\r\n layout: this.root.verticalLayout\r\n })\r\n );\r\n\r\n this.chart.set(\"scrollbarX\", am5.Scrollbar.new(this.root, {\r\n orientation: \"horizontal\"\r\n }));\r\n\r\n const xAxis = this.chart.xAxes.push(\r\n am5xy.CategoryAxis.new(this.root, {\r\n categoryField: 'storeName',\r\n renderer: am5xy.AxisRendererX.new(this.root, {\r\n minGridDistance: 30\r\n }),\r\n tooltip: am5.Tooltip.new(this.root, {})\r\n })\r\n );\r\n this.getFootfallTrendData = this.getFootfallTrendData?.map(\r\n (item: any) => ({\r\n storeName: item.storeName,\r\n footfall: Number(item.footfallRate),\r\n conversion: Number(item.conversionRate),\r\n bounced: Number(item.bouncedRate),\r\n engagers: Number(item.engagersRate),\r\n missedopportunities: Number(item.missedopportunitiesRate),\r\n avgDownTime: Number(item.avgDownTime),\r\n })\r\n );\r\n xAxis.data.setAll(this.getFootfallTrendData);\r\n\r\n const yAxis = this.chart.yAxes.push(\r\n am5xy.ValueAxis.new(this.root, {\r\n renderer: am5xy.AxisRendererY.new(this.root, {})\r\n })\r\n );\r\n\r\n // Set the title of the y-axis\r\n yAxis.children.unshift(am5.Label.new(this.root, {\r\n rotation: -90,\r\n text: 'Footfall',\r\n y: am5.p50,\r\n centerX: am5.p50\r\n }));\r\n\r\n this.createColumnSeries('Engagers', 'engagers', xAxis, yAxis, false, am5.color(0xB3E3FF));\r\n this.createColumnSeries('Bounced', 'bounced', xAxis, yAxis, true, am5.color(0x80D1FF));\r\n this.createColumnSeries('Billable', 'footfall', xAxis, yAxis, true, am5.color(0x66C8FF));\r\n this.createColumnSeries('Missed Opportunity', 'missedopportunities', xAxis, yAxis, true, am5.color(0x4DBFFF));\r\n this.createColumnSeries('Conversion', 'conversion', xAxis, yAxis, true, am5.color(0x33B5FF));\r\n this.createLineSeries('Expenses', 'avgDownTime', xAxis, yAxis, am5.color(0x33B5FF));\r\n\r\n const legend = this.chart.children.push(\r\n am5.Legend.new(this.root, {\r\n centerX: am5.p50,\r\n x: am5.p50\r\n })\r\n );\r\n\r\n legend.data.setAll(this.chart.series.values);\r\n\r\n this.chart.set('cursor', am5xy.XYCursor.new(this.root, {\r\n behavior: 'none'\r\n }));\r\n\r\n this.chart.series.each((series: any) => {\r\n if (series.columns) {\r\n series.columns.template.set(\"interactive\", true);\r\n series.columns.template.events.on(\"click\", (ev: any) => {\r\n const data = ev.target.dataItem.dataContext;\r\n const { clientX, clientY } = ev.originalEvent;\r\n this.showTooltip(data, clientX, clientY);\r\n });\r\n }\r\n });\r\n this.chart.appear(1000, 100);\r\n },0)\r\n }\r\n\r\n tooltipVisible = false;\r\n showTooltip(data: any, x: number, y: number): void {\r\n this.tooltipVisible = false;\r\n this.tooltipData = data;\r\n const tooltipElement = this.tooltipContainer.nativeElement;\r\n \r\n // Set tooltip content and make it visible to calculate dimensions\r\n tooltipElement.style.display = 'block';\r\n tooltipElement.style.visibility = 'hidden'; // Make it invisible but still present in the DOM\r\n \r\n // Force a reflow to ensure dimensions are up-to-date\r\n tooltipElement.style.position = 'absolute';\r\n \r\n // Wait for the next event loop to get accurate dimensions\r\n setTimeout(() => {\r\n const tooltipWidth = tooltipElement.offsetWidth;\r\n const tooltipHeight = tooltipElement.offsetHeight;\r\n const screenWidth = window.innerWidth;\r\n const screenHeight = window.innerHeight;\r\n \r\n // Calculate if there is enough space on the right side, otherwise place it on the left\r\n if (x + tooltipWidth > screenWidth) {\r\n tooltipElement.style.left = `${x - tooltipWidth}px`;\r\n } else {\r\n tooltipElement.style.left = `${x}px`;\r\n }\r\n \r\n // Calculate if there is enough space at the bottom, otherwise place it at the top\r\n if (y + tooltipHeight > screenHeight) {\r\n tooltipElement.style.top = `${y - tooltipHeight}px`;\r\n } else {\r\n tooltipElement.style.top = `${y}px`;\r\n }\r\n \r\n tooltipElement.style.visibility = 'visible'; // Make it visible again\r\n this.tooltipVisible = true;\r\n }, 0);\r\n }\r\n\r\n hideTooltip(): void {\r\n this.tooltipVisible = false;\r\n const tooltipElement = this.tooltipContainer.nativeElement;\r\n tooltipElement.style.display = 'none';\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n const tooltipElement = this.tooltipContainer.nativeElement;\r\n\r\n // Check if the click was outside the tooltip\r\n if (tooltipElement && !tooltipElement.contains(event.target as Node) && this.tooltipVisible) {\r\n this.hideTooltip();\r\n }\r\n }\r\n \r\n \r\n \r\n // openModal(data: any,clientX: number, clientY: number) {\r\n // const modalRef = this.modalService.open(ChartDetailModalComponent,{\r\n // centered: true,\r\n // windowClass: 'custom-modal',\r\n // size: \"sm\",\r\n // });\r\n // modalRef.componentInstance.data = data;\r\n // modalRef.componentInstance.clientX = clientX;\r\n // modalRef.componentInstance.clientY = clientY;\r\n // }\r\n \r\n\r\n onDatasetChange(selectedValue: string): void {\r\n // const selectedDataset = selectedValue as keyof Dataset;\r\n // this.currentData = this.data[selectedDataset];\r\n this.updateChartData();\r\n // this.updateYAxisLabel(selectedValue);\r\n }\r\n // updateYAxisLabel(selectedValue: string) {\r\n // const newLabelText = `Footfall - ${selectedValue}`; // Customize your label text as needed\r\n // console.log('Updating Y-axis label to:', newLabelText);\r\n // const label = this.yAxis.children.getIndex(0) as am5.Label;\r\n // label.set(\"text\", newLabelText);\r\n // }\r\n updateChartData(): void {\r\n const xAxis = this.chart.xAxes.getIndex(0) as am5xy.CategoryAxis<am5xy.AxisRenderer>;\r\n xAxis.data.setAll(this.getFootfallTrendData);\r\n\r\n this.chart.series.each((series: any) => {\r\n series.data.setAll(this.getFootfallTrendData);\r\n });\r\n }\r\n\r\n createColumnSeries(name: string, fieldName: string, xAxis: am5xy.CategoryAxis<am5xy.AxisRenderer>, yAxis: am5xy.ValueAxis<am5xy.AxisRenderer>, stacked: boolean,color: am5.Color): void {\r\n const series = this.chart.series.push(\r\n am5xy.ColumnSeries.new(this.root, {\r\n name: name,\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: fieldName,\r\n categoryXField: 'storeName',\r\n stacked: stacked,\r\n })\r\n );\r\n\r\n series.data.setAll(this.getFootfallTrendData);\r\n\r\n // Adapter to apply custom column settings\r\n series.columns.template.adapters.add(\"fillOpacity\", (fillOpacity:any, target:any) => {\r\n const dataItem = target.dataItem.dataContext as any;\r\n return dataItem.columnSettings ? dataItem.columnSettings.fillOpacity : fillOpacity;\r\n });\r\n\r\n series.columns.template.adapters.add(\"strokeDasharray\", (strokeDasharray:any, target:any) => {\r\n const dataItem = target.dataItem.dataContext as any;\r\n return dataItem.columnSettings ? dataItem.columnSettings.strokeDasharray : strokeDasharray;\r\n });\r\n\r\n series.columns.template.adapters.add(\"strokeWidth\", (strokeWidth:any, target:any) => {\r\n const dataItem = target.dataItem.dataContext as any;\r\n return dataItem.columnSettings ? dataItem.columnSettings.strokeWidth : strokeWidth;\r\n });\r\n series.columns.template.setAll({\r\n // tooltipText: \"{name}: {valueY.formatNumber('#.#')}%\", // Ensure proper formatting for single value display\r\n // tooltipY: am5.percent(10),\r\n fill: color, // Set custom fill color for the bars\r\n stroke: color // Set custom stroke color for the bars\r\n });\r\n\r\n series.bullets.push(() => {\r\n return am5.Bullet.new(this.root, {\r\n sprite: am5.Label.new(this.root, {\r\n text: \"{valueY.formatNumber('#.#')}%\",\r\n fill: this.root.interfaceColors.get(\"alternativeText\"),\r\n centerY: am5.p50,\r\n centerX: am5.p50,\r\n populateText: true,\r\n fontSize: 12 // Reduce font size\r\n })\r\n });\r\n });\r\n\r\n series.appear();\r\n }\r\n\r\n\r\n\r\n createLineSeries(name: string, fieldName: string, xAxis: am5xy.CategoryAxis<am5xy.AxisRenderer>, yAxis: am5xy.ValueAxis<am5xy.AxisRenderer>,color: am5.Color): void {\r\n const series = this.chart.series.push(\r\n am5xy.LineSeries.new(this.root, {\r\n name: name,\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: fieldName,\r\n categoryXField: 'storeName',\r\n tooltip: am5.Tooltip.new(this.root, {\r\n pointerOrientation: \"horizontal\",\r\n labelText: \"{name}: {valueY.formatNumber('#.#')}%\",\r\n background: am5.Rectangle.new(this.root, {\r\n fill: am5.color(0xffcc00) // Set the desired tooltip background color\r\n })\r\n })\r\n })\r\n );\r\n\r\n series.strokes.template.setAll({\r\n strokeWidth: 2,\r\n stroke: color,\r\n templateField: \"strokeSettings\",\r\n fontSize: 12 // Reduce font size\r\n });\r\n\r\n series.data.setAll(this.getFootfallTrendData);\r\n\r\n // Adapter to apply custom stroke settings\r\n series.strokes.template.adapters.add(\"stroke\", (stroke:any, target:any) => {\r\n const dataItem = target.dataItem;\r\n if (dataItem && dataItem.dataContext && dataItem.dataContext.strokeSettings) {\r\n return dataItem.dataContext.strokeSettings.stroke ?? stroke;\r\n }\r\n return stroke;\r\n });\r\n\r\n series.strokes.template.adapters.add(\"strokeWidth\", (strokeWidth:any, target:any) => {\r\n const dataItem = target.dataItem;\r\n if (dataItem && dataItem.dataContext && dataItem.dataContext.strokeSettings) {\r\n return dataItem.dataContext.strokeSettings.strokeWidth ?? strokeWidth;\r\n }\r\n return strokeWidth;\r\n });\r\n\r\n series.strokes.template.adapters.add(\"strokeDasharray\", (strokeDasharray:any, target:any) => {\r\n const dataItem = target.dataItem;\r\n if (dataItem && dataItem.dataContext && dataItem.dataContext.strokeSettings) {\r\n return dataItem.dataContext.strokeSettings.strokeDasharray ?? strokeDasharray;\r\n }\r\n return strokeDasharray;\r\n });\r\n\r\n series.bullets.push(() => {\r\n return am5.Bullet.new(this.root, {\r\n sprite: am5.Circle.new(this.root, {\r\n strokeWidth: 1,\r\n stroke: series.get(\"stroke\"),\r\n radius: 1,\r\n fill: this.root.interfaceColors.get(\"background\")\r\n }),\r\n \r\n });\r\n });\r\n\r\n series.appear();\r\n }\r\n\r\n\r\n changeStatus(type:any){\r\nthis.typeValue = type;\r\n }\r\n}\r\n\r\n\r\n","<div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Footfall Trend</span>\r\n <span class=\"text-sub mb-2\">Based on 31 May, 2024– 06 Jun, 2024</span>\r\n </h3>\r\n <div class=\"card-toolbar text-nowrap\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <!--begin::Nav group-->\r\n <div class=\"nav-group nav-group-outline border-1 btn-group p-0\">\r\n <button class=\"btn btn-outline\" [ngClass]=\"type === 'daily'? 'activePlanBtn':'inactivePlanBtn'\"\r\n (click)=\"selectPlan('daily')\">\r\n Daily\r\n </button>\r\n\r\n <button class=\"btn btn-outline px-6 py-3\"\r\n [ngClass]=\"type === 'week'? 'activePlanBtn':'inactivePlanBtn'\" (click)=\"selectPlan('week')\">\r\n Week\r\n </button>\r\n <button class=\"btn btn-outline px-6 py-3\"\r\n [ngClass]=\"type === 'month'? 'activePlanBtn':'inactivePlanBtn'\"\r\n (click)=\"selectPlan('month')\">\r\n Month\r\n </button>\r\n </div>\r\n <!--end::Nav group-->\r\n <div class=\"d-flex\">\r\n <span class=\"mx-2 mt-3\">Trend</span>\r\n\r\n <lib-reactive-select [formControl]=\"selectValue\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"datasets\" class=\"w-100\"></lib-reactive-select>\r\n <!-- <select class=\"form-select form-select-sm\" (change)=\"onDatasetChange($event)\">\r\n <option *ngFor=\"let dataset of datasets\" [value]=\"dataset.value\">{{ dataset.label }}\r\n </option>\r\n </select> -->\r\n </div>\r\n <div class=\"d-flex mt-1\">\r\n <span class=\"d-flex ms-3 cursor-pointer text-nowrap\">Forecast\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_2645_27459)\">\r\n <path\r\n d=\"M3.33398 1.33331L3.46065 1.95998C3.55142 2.40998 3.75683 2.82893 4.05699 3.17628C4.35715 3.52362 4.74189 3.78759 5.17398 3.94265L5.33398 3.99998L5.17398 4.05731C4.74189 4.21237 4.35715 4.47634 4.05699 4.82368C3.75683 5.17103 3.55142 5.58998 3.46065 6.03998L3.33398 6.66665L3.20732 6.03998C3.11654 5.58998 2.91114 5.17103 2.61098 4.82368C2.31082 4.47634 1.92607 4.21237 1.49398 4.05731L1.33398 3.99998L1.49398 3.94265C1.92607 3.78759 2.31082 3.52362 2.61098 3.17628C2.91114 2.82893 3.11654 2.40998 3.20732 1.95998L3.33398 1.33331ZM5.33398 10.6666L5.48732 11.5173C5.52713 11.7392 5.62256 11.9474 5.76468 12.1224C5.9068 12.2974 6.09098 12.4335 6.29998 12.518L6.66732 12.6666L6.29998 12.8153C6.09094 12.8997 5.90668 13.0356 5.76445 13.2105C5.62221 13.3854 5.52663 13.5935 5.48665 13.8153L5.33398 14.6666L5.18065 13.816C5.14084 13.5941 5.04541 13.3859 4.90329 13.2109C4.76117 13.0359 4.57699 12.8998 4.36798 12.8153L4.00065 12.6666L4.36798 12.518C4.57703 12.4336 4.76129 12.2977 4.90352 12.1228C5.04576 11.9479 5.14133 11.7398 5.18132 11.518L5.33398 10.6666ZM10.6673 1.99998L11.038 3.76931C11.2269 4.67137 11.6463 5.50908 12.2554 6.20076C12.8645 6.89244 13.6424 7.41448 14.5133 7.71598L15.334 7.99998L14.5133 8.28398C13.6424 8.58548 12.8645 9.10752 12.2554 9.7992C11.6463 10.4909 11.2269 11.3286 11.038 12.2306L10.6673 14L10.2967 12.2306C10.1077 11.3286 9.6883 10.4909 9.07922 9.7992C8.47015 9.10752 7.69223 8.58548 6.82132 8.28398L6.00065 7.99998L6.82132 7.71598C7.69223 7.41448 8.47015 6.89244 9.07922 6.20076C9.6883 5.50908 10.1077 4.67137 10.2967 3.76931L10.6673 1.99998Z\"\r\n stroke=\"#344054\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2645_27459\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n\r\n <span class=\"form-check form-switch mx-6\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\">\r\n </span>\r\n\r\n </span>\r\n <span class=\"cursor-pointer dropdown1\">\r\n <span \r\n data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n \r\n <ul class=\"dropdown-menu p-0\">\r\n <li><button class=\"dropdown-item\" [ngClass]=\"typeValue ==='normailze' ? 'bg-forcast':''\" type=\"button\"\r\n (click)=\"changeStatus('normailze')\">Normailze\r\n <svg class=\"text-end\" *ngIf=\"typeValue ==='normailze' ? 'bg-forcast':''\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M13.3327 4L5.99935 11.3333L2.66602 8\" stroke=\"#344054\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button></li>\r\n <li><button class=\"dropdown-item\" [ngClass]=\"typeValue ==='average' ? 'bg-forcast':''\" type=\"button\"\r\n (click)=\"changeStatus('average')\">Average\r\n <svg class=\"text-end\" *ngIf=\"typeValue ==='average' ? 'bg-forcast':''\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M13.3327 4L5.99935 11.3333L2.66602 8\" stroke=\"#344054\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button></li>\r\n <li><button class=\"dropdown-item\" [ngClass]=\"typeValue ==='target' ? 'bg-forcast':''\" type=\"button\"\r\n (click)=\"changeStatus('target')\">Target\r\n <svg class=\"text-end\" *ngIf=\"typeValue ==='target' ? 'bg-forcast':''\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M13.3327 4L5.99935 11.3333L2.66602 8\" stroke=\"#344054\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></button></li>\r\n \r\n <li><button class=\"dropdown-item\" [ngClass]=\"typeValue ==='weekend' ? 'bg-forcast':''\" type=\"button\"\r\n (click)=\"changeStatus('weekend')\">Weekends\r\n <svg class=\"text-end\" *ngIf=\"typeValue ==='weekend' ? 'bg-forcast':''\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M13.3327 4L5.99935 11.3333L2.66602 8\" stroke=\"#344054\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></button></li>\r\n \r\n <li><button class=\"dropdown-item\" [ngClass]=\"typeValue ==='weekdays' ? 'bg-forcast':''\" type=\"button\"\r\n (click)=\"changeStatus('weekdays')\">Weekdays\r\n <svg class=\"text-end\" *ngIf=\"typeValue ==='weekdays' ? 'bg-forcast':''\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M13.3327 4L5.99935 11.3333L2.66602 8\" stroke=\"#344054\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button></li>\r\n </ul>\r\n </span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"Footfalltrend\"></div>\r\n <div #tooltipContainer class=\"tooltip-container\" >\r\n <div class=\"tooltip-content\" *ngIf=\"tooltipData\">\r\n <div class=\"content p-5\">\r\n <div class=\"container\">\r\n <div class=\"title text-start\">{{tooltipData.storeName}}</div>\r\n </div>\r\n <div class=\"grid-container\">\r\n <div class=\"grid-item label\">Total Footfall</div>\r\n <div class=\"grid-item value\">100</div>\r\n <div class=\"grid-item label\">Bounced Footfall</div>\r\n <div class=\"grid-item value\">{{tooltipData.bounced}}</div>\r\n <div class=\"grid-item label\">Engagers</div>\r\n <div class=\"grid-item value\">{{tooltipData.engagers}}</div>\r\n <div class=\"grid-item label\">Avg Dwell Time</div>\r\n <div class=\"grid-item value\">34 Mins</div>\r\n <div class=\"grid-item label\">Conversion Rate</div>\r\n <div class=\"grid-item value\">{{tooltipData.conversion}}%</div>\r\n <div class=\"grid-item label\">Missed Opportunities</div>\r\n <div class=\"grid-item value\">{{tooltipData.missedopportunities}}</div>\r\n <div class=\"grid-item label\">Down Time</div>\r\n <div class=\"grid-item value\">23%</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mx-3 my-2\">\r\n <span class=\"mx-3\"><svg width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\"/>\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\" stroke-width=\"4\"/>\r\n <path d=\"M18.6667 11.3334L12 19.3334H18L17.3333 24.6667L24 16.6667H18L18.6667 11.3334Z\" stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <span class=\"mx-2 my-2\"><span class=\"text-week\">Weekend staffing lower than weekdays</span> <span class=\"text-cause ms-2\">cause potentially 20% fewer weekend conversions.</span></span>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit, OnDestroy, NgZone, ChangeDetectorRef } from '@angular/core';\r\nimport * as am5 from \"@amcharts/amcharts5\";\r\nimport * as am5xy from \"@amcharts/amcharts5/xy\";\r\nimport am5themes_Animated from \"@amcharts/amcharts5/themes/Animated\";\r\nimport am5themes_Responsive from \"@amcharts/amcharts5/themes/Responsive\";\r\nimport { Router } from '@angular/router';\r\nimport { TrafficService } from '../../services/traffic.service';\r\nimport { Subject, takeUntil } from \"rxjs\";\r\nimport { GlobalStateService } from 'tango-app-ui-global';\r\nimport { debounceTime } from 'rxjs/operators';\r\n@Component({\r\n selector: \"lib-traffic-card-charts\",\r\n templateUrl: \"./traffic-card-charts.component.html\",\r\n styleUrl: \"./traffic-card-charts.component.scss\",\r\n})\r\nexport class TrafficCardChartsComponent implements OnInit, OnDestroy {\r\n private root!: am5.Root;\r\n private chart: am5xy.XYChart;\r\n private series: am5xy.ColumnSeries;\r\n private root2: am5.Root;\r\n private chart2: am5xy.XYChart;\r\n private series2: am5xy.ColumnSeries;\r\n detailedRoot: am5.Root;\r\n detailedChart: am5xy.XYChart;\r\n detailedSeries: am5xy.ColumnSeries;\r\n\r\n heatMapRoot: am5.Root;\r\n heatMapChart: am5xy.XYChart;\r\n heatMapSeries: am5xy.ColumnSeries;\r\n dwellRoot: am5.Root;\r\n dwellChart: am5xy.XYChart;\r\n dwellSeries: am5xy.ColumnSeries;\r\n demoGraphicsData: any;\r\n demoGraphicsroot: any;\r\n buyersroot:any;\r\n datasets: any = [];\r\n data: any;\r\n currentData: any;\r\n currentData2: any;\r\n detailedCharts: boolean = false;\r\n date: any;\r\n value: any;\r\n footfallValue: string = \"dataset1\";\r\n demoGraphicsChartInstance: any;\r\n buyersChartInstance:any;\r\n selectedTab: any = \"footfall\";\r\n getOverallCardData: any = [];\r\n objData: any;\r\n getOverallHourlyData: any;\r\n getOverallChartData: any;\r\n getSingleChartData: any;\r\n buyersData: any;\r\n getDensityDwellData: any;\r\n trafficData:any= [];\r\n footfallDate: string;\r\n headerData: any;\r\n constructor(\r\n private zone: NgZone,\r\n private router: Router,\r\n private service: TrafficService,public gs: GlobalStateService,\r\n private cd: ChangeDetectorRef\r\n ) {}\r\n ngOnInit(): void {\r\n this.datasets = [\r\n { value: \"dataset1\", label: \"Footfall Analysis\" },\r\n { value: \"dataset2\", label: \"Demographic Analysis\" },\r\n { value: \"dataset3\", label: \"Buyer Analysis\" },\r\n ];\r\n this.trafficData = [\r\n { value: \"Last7Days\", label: \"Last 7 Days\" },\r\n // { value: \"dataset2\", label: \"Demographic Analysis\" },\r\n // { value: \"dataset3\", label: \"Buyer Analysis\" },\r\n ];\r\n this.selectedTab = \"footfall\";\r\n this.gs.dataRangeValue\r\n .pipe(takeUntil(this.destroy$), debounceTime(300))\r\n .subscribe((data: any) => {\r\n this.headerData = data;\r\n this.objData = {\r\n fromDate: data.date.startDate,\r\n toDate: data.date.endDate,\r\n storeId: data.stores.filter((store:any) => store.checked).map((store:any) => store.storeId),\r\n clientId:data.client,\r\n processType: this.selectedTab,\r\n normalizedData: false,\r\n };\r\n this.overallCard();\r\n this.overallHourlyChart();\r\n this.overallChart();\r\n // this.getDwell();\r\n \r\n})\r\n }\r\n\r\n selectedTabs(type: any) {\r\n this.selectedTab = type;\r\n this.objData.processType = type;\r\n if(this.selectedTab === \"footfall\"){\r\n this.overallCard();\r\n this.overallHourlyChart();\r\n this.overallChart();\r\n } else {\r\n this.getDwell();\r\n }\r\n }\r\n\r\n overallCard() {\r\n this.objData.revenue=10;\r\n delete this.objData.normalizedData;\r\n this.service\r\n .getOverallCards(this.objData)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.getOverallCardData = res?.data;\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n\r\n overallHourlyChart() {\r\n delete this.objData.revenue;\r\n this.objData.hourFormat =10;\r\n this.service\r\n .getOverallHourlyChart(this.objData)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.getOverallHourlyData = res?.data?.hourlyData;\r\n this.initHeatChart();\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n offset: number = 1;\r\n limit: number = 10;\r\n overallChart() {\r\n (this.objData.limit = this.limit), (this.objData.offset = this.offset);\r\n delete this.objData.normalizedData;\r\n delete this.objData.revenue;\r\n delete this.objData.hourFormat;\r\n this.service\r\n .getOverallChart(this.objData)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.getOverallChartData = res?.data;\r\n this.initChart();\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n\r\n getDwell(){\r\n this.service\r\n .getDensityDwell(this.objData)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.getDensityDwellData = res?.data;\r\n this.trafficHeatChart();\r\n this.getDwellChart();\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n initChart(): void {\r\n setTimeout(() => {\r\n const chartDiv = document.getElementById(\"testGraphics\");\r\n if (!chartDiv) {\r\n console.error(\"Could not find HTML element with id `testGraphics`\");\r\n return;\r\n }\r\n if (this.root) {\r\n this.root.dispose();\r\n }\r\n this.root = am5.Root.new(\"testGraphics\");\r\n\r\n // Set themes\r\n this.root.setThemes([am5themes_Animated.new(this.root)]);\r\n\r\n // Create chart\r\n this.chart = this.root.container.children.push(\r\n am5xy.XYChart.new(this.root, {\r\n panX: true,\r\n panY: true,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n pinchZoomX: true,\r\n paddingLeft: 0,\r\n paddingRight: 1,\r\n })\r\n );\r\n\r\n // Add cursor\r\n let cursor = this.chart.set(\"cursor\", am5xy.XYCursor.new(this.root, {}));\r\n cursor.lineY.set(\"visible\", false);\r\n\r\n // Create axes\r\n let xRenderer = am5xy.AxisRendererX.new(this.root, {\r\n minGridDistance: 30,\r\n minorGridEnabled: true,\r\n });\r\n\r\n xRenderer.labels.template.setAll({\r\n rotation: -45,\r\n centerY: am5.p50,\r\n centerX: am5.p100,\r\n paddingRight: 15,\r\n });\r\n\r\n xRenderer.grid.template.setAll({\r\n location: 1,\r\n });\r\n // Add scrollbar\r\n this.chart.set(\r\n \"scrollbarX\",\r\n am5.Scrollbar.new(this.root, {\r\n orientation: \"horizontal\",\r\n })\r\n );\r\n let xAxis = this.chart.xAxes.push(\r\n am5xy.CategoryAxis.new(this.root, {\r\n maxDeviation: 0.3,\r\n categoryField: \"storeName\",\r\n renderer: xRenderer,\r\n tooltip: am5.Tooltip.new(this.root, {}),\r\n })\r\n );\r\n\r\n let yRenderer = am5xy.AxisRendererY.new(this.root, {\r\n strokeOpacity: 0.1,\r\n });\r\n\r\n let yAxis = this.chart.yAxes.push(\r\n am5xy.ValueAxis.new(this.root, {\r\n maxDeviation: 0.3,\r\n renderer: yRenderer,\r\n })\r\n );\r\n this.getOverallChartData = this.getOverallChartData?.storeData?.map(\r\n (item: any) => ({\r\n storeName: item.storeName,\r\n value: Number(item.count),\r\n })\r\n );\r\n // Create series\r\n this.series = this.chart.series.push(\r\n am5xy.ColumnSeries.new(this.root, {\r\n name: \"Series 1\",\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: \"value\",\r\n sequencedInterpolation: true,\r\n categoryXField: \"storeName\",\r\n tooltip: am5.Tooltip.new(this.root, {\r\n labelText: \"{valueY}\",\r\n }),\r\n })\r\n );\r\n this.series.columns.template.setAll({ strokeOpacity: 0 });\r\n this.series.columns.template.events.on(\"click\", (ev: any) => {\r\n const dataItem = ev.target.dataItem.dataContext;\r\n this.handleBarClick(dataItem);\r\n });\r\n\r\n this.series.columns.template.setAll({ strokeOpacity: 0 });\r\n\r\n xAxis.data.setAll(this.getOverallChartData);\r\n this.series.data.setAll(this.getOverallChartData);\r\n\r\n // Make stuff animate on load\r\n this.series.appear(1000);\r\n this.chart.appear(1000, 100);\r\n }, 0);\r\n }\r\n\r\n initHeatChart() {\r\n setTimeout(() => {\r\n const chartDiv = document.getElementById(\"heatmapchart\");\r\n if (!chartDiv) {\r\n console.error(\"Could not find HTML element with id `heatmapchart`\");\r\n return;\r\n }\r\n if (this.root2) {\r\n this.root2.dispose();\r\n }\r\n // Create root element\r\n this.root2 = am5.Root.new(\"heatmapchart\");\r\n\r\n this.root2.container.setAll({\r\n width: am5.percent(100),\r\n });\r\n\r\n // Set themes\r\n this.root2.setThemes([\r\n am5themes_Animated.new(this.root2),\r\n am5themes_Responsive.new(this.root2),\r\n ]);\r\n\r\n // Create chart\r\n this.chart2 = this.root2.container.children.push(\r\n am5xy.XYChart.new(this.root2, {\r\n panX: false,\r\n panY: false,\r\n wheelX: \"none\",\r\n wheelY: \"none\",\r\n paddingLeft: 0,\r\n layout: this.root2.verticalLayout,\r\n })\r\n );\r\n\r\n // Create axes and their renderers\r\n const yRenderer = am5xy.AxisRendererY.new(this.root2, {\r\n minGridDistance: 20,\r\n inversed: true,\r\n opposite: true,\r\n minorGridEnabled: true,\r\n });\r\n\r\n yRenderer.grid.template.set(\"visible\", false);\r\n\r\n const yAxis = this.chart2.yAxes.push(\r\n am5xy.CategoryAxis.new(this.root2, {\r\n renderer: yRenderer,\r\n categoryField: \"time\",\r\n })\r\n );\r\n\r\n const xRenderer = am5xy.AxisRendererX.new(this.root2, {\r\n minGridDistance: 30,\r\n opposite: true,\r\n minorGridEnabled: true,\r\n });\r\n\r\n xRenderer.grid.template.set(\"visible\", false);\r\n\r\n const xAxis = this.chart2.xAxes.push(\r\n am5xy.CategoryAxis.new(this.root2, {\r\n renderer: xRenderer,\r\n categoryField: \"weekday\",\r\n })\r\n );\r\n\r\n // Create series\r\n this.series2 = this.chart2.series.push(\r\n am5xy.ColumnSeries.new(this.root2, {\r\n calculateAggregates: true,\r\n stroke: am5.color(0xffffff),\r\n clustered: false,\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n categoryXField: \"weekday\",\r\n categoryYField: \"time\",\r\n valueField: \"rate\",\r\n })\r\n );\r\n\r\n this.series2.columns.template.setAll({\r\n tooltipText: \"{rate}\",\r\n strokeOpacity: 1,\r\n strokeWidth: 2,\r\n width: am5.percent(100),\r\n height: am5.percent(100),\r\n });\r\n\r\n // Set up heat rules\r\n this.series2.set(\"heatRules\", [\r\n {\r\n target: this.series2.columns.template,\r\n min: am5.color(0x80d1ff),\r\n max: am5.color(0x33b5ff),\r\n dataField: \"rate\",\r\n key: \"fill\",\r\n },\r\n ]);\r\n\r\n this.series2.bullets.push(() => {\r\n return am5.Bullet.new(this.root2, {\r\n sprite: am5.Label.new(this.root2, {\r\n text: \"{rate.formatNumber('#.#')}%\",\r\n fill: am5.color(0x000000),\r\n centerY: am5.p50,\r\n centerX: am5.p50,\r\n populateText: true,\r\n fontSize: 12, // Reduce font size\r\n }),\r\n });\r\n });\r\n\r\n // Set data\r\n const data = this.getOverallHourlyData.map((item: any) => ({\r\n ...item,\r\n weekday: \"Hourly Data\",\r\n }));\r\n this.series2.data.setAll(data);\r\n\r\n // Auto-populate X and Y axis category data\r\n const times: string[] = [];\r\n am5.array.each(data, function (row: any) {\r\n if (times.indexOf(row.time) === -1) {\r\n times.push(row.time);\r\n }\r\n });\r\n\r\n xAxis.data.setAll([{ weekday: \"Hourly Data\" }]); // Set single category for x-axis\r\n yAxis.data.setAll(\r\n times.map(function (item) {\r\n return { time: item };\r\n })\r\n );\r\n\r\n this.chart2.appear(1000, 100);\r\n }, 0);\r\n }\r\n\r\n onDatasetChange(event: Event): void {\r\n this.detailedCharts = false;\r\n const target = event.target as HTMLSelectElement;\r\n this.footfallValue = target.value;\r\n // const selectedDataset = target.value as keyof typeof this.data;\r\n // this.currentData = this.data[selectedDataset];\r\n if (this.footfallValue === \"dataset1\") {\r\n if (this.root) {\r\n this.root.dispose();\r\n }\r\n this.initHeatChart();\r\n this.overallChart();\r\n } else if (this.footfallValue === \"dataset2\") {\r\n // Dispose of any previous charts to avoid duplicates\r\n if (this.demoGraphicsroot) {\r\n this.demoGraphicsroot.dispose();\r\n }\r\n this.getDemoGraphics();\r\n } \r\n else if (this.footfallValue === \"dataset3\") {\r\n // Dispose of any previous charts to avoid duplicates\r\n if (this.buyersroot) {\r\n this.buyersroot.dispose();\r\n }\r\n this.getBuyers();\r\n } \r\n this.cd.detectChanges();\r\n }\r\n\r\n backToFootfall() {\r\n this.detailedCharts = false;\r\n this.initHeatChart();\r\n this.overallChart();\r\n }\r\n\r\n getDemoGraphics(){\r\n this.service\r\n .getDemoGraphicsChart(this.objData)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.demoGraphicsData = res?.data.demographicData;\r\n this.cd.detectChanges(); \r\n setTimeout(() => this.demoGraphicsChart(), 0); // Call with a delay to ensure the element is in the DOM\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n \r\n }\r\n demoGraphicsChart(): void {\r\n const demoGraphicsDiv = document.getElementById(\"demoGraphics\");\r\n if (!demoGraphicsDiv) {\r\n console.error(\"Could not find HTML element with id `demoGraphics`\")\r\n return;\r\n }\r\n\r\n // Dispose of previous chart if it exists\r\n if (this.demoGraphicsroot) {\r\n this.demoGraphicsroot.dispose();\r\n }\r\n\r\n // Create a new chart\r\n this.demoGraphicsroot = am5.Root.new(demoGraphicsDiv);\r\n this.demoGraphicsroot.setThemes([\r\n am5themes_Animated.new(this.demoGraphicsroot),\r\n ]);\r\n\r\n this.demoGraphicsChartInstance =\r\n this.demoGraphicsroot.container.children.push(\r\n am5xy.XYChart.new(this.demoGraphicsroot, {\r\n panX: false,\r\n panY: false,\r\n paddingLeft: 0,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n layout: this.demoGraphicsroot.verticalLayout,\r\n })\r\n );\r\n\r\n let xRenderer = am5xy.AxisRendererX.new(this.demoGraphicsroot, {\r\n cellStartLocation: 0.1,\r\n cellEndLocation: 0.9,\r\n minorGridEnabled: true,\r\n });\r\n\r\n let xAxis = this.demoGraphicsChartInstance.xAxes.push(\r\n am5xy.CategoryAxis.new(this.demoGraphicsroot, {\r\n categoryField: \"age\",\r\n renderer: xRenderer,\r\n tooltip: am5.Tooltip.new(this.demoGraphicsroot, {}),\r\n })\r\n );\r\n this.demoGraphicsData = this.demoGraphicsData?.map(\r\n (item: any) => ({\r\n age: item.age,\r\n count: Number(item.count),\r\n maleCount: Number(item.femaleCount),\r\n femaleCount: Number(item.femaleCount),\r\n })\r\n );\r\n xRenderer.grid.template.setAll({ location: 1 });\r\n xAxis.data.setAll(this.demoGraphicsData);\r\n\r\n let yAxis = this.demoGraphicsChartInstance.yAxes.push(\r\n am5xy.ValueAxis.new(this.demoGraphicsroot, {\r\n renderer: am5xy.AxisRendererY.new(this.demoGraphicsroot, {\r\n strokeOpacity: 0.1,\r\n }),\r\n })\r\n );\r\n\r\n this.makeSeries(\"Male\", \"maleCount\", xAxis, yAxis);\r\n this.makeSeries(\"Female\", \"femaleCount\", xAxis, yAxis);\r\n this.demoGraphicsChartInstance.appear(1000, 100);\r\n\r\n }\r\n makeSeries(\r\n name: any,\r\n fieldName: any,\r\n xAxis: am5xy.CategoryAxis<am5xy.AxisRenderer>,\r\n yAxis: am5xy.ValueAxis<am5xy.AxisRenderer>\r\n ) {\r\n console.log(this.demoGraphicsData)\r\n let series = this.demoGraphicsChartInstance.series.push(\r\n am5xy.ColumnSeries.new(this.demoGraphicsroot, {\r\n name: name,\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: fieldName,\r\n categoryXField: \"age\",\r\n })\r\n );\r\n\r\n series.columns.template.setAll({\r\n tooltipText: \"{name}, {categoryX}:{valueY}\",\r\n width: am5.percent(90),\r\n tooltipY: 0,\r\n strokeOpacity: 0,\r\n });\r\n\r\n series.data.setAll(this.demoGraphicsData);\r\n\r\n series.appear();\r\n }\r\n getBuyers(){\r\n this.service\r\n .getBuyersChart(this.objData)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.buyersData = res?.data.buyerData;\r\n this.cd.detectChanges(); \r\n setTimeout(() => this.getBuyersChart(), 0); // Call with a delay to ensure the element is in the DOM\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n getBuyersChart(): void {\r\n const buyersDiv = document.getElementById(\"buyersCharts\");\r\n if (!buyersDiv) {\r\n console.error(\"Could not find HTML element with id `buyersCharts`\");\r\n return;\r\n }\r\n\r\n // Dispose of previous chart if it exists\r\n if (this.buyersroot) {\r\n this.buyersroot.dispose();\r\n }\r\n\r\n // Create a new chart\r\n this.buyersroot = am5.Root.new(buyersDiv);\r\n this.buyersroot.setThemes([\r\n am5themes_Animated.new(this.buyersroot),\r\n ]);\r\n\r\n this.buyersChartInstance =\r\n this.buyersroot.container.children.push(\r\n am5xy.XYChart.new(this.buyersroot, {\r\n panX: false,\r\n panY: false,\r\n paddingLeft: 0,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n layout: this.buyersroot.verticalLayout,\r\n })\r\n );\r\n\r\n let xRenderer = am5xy.AxisRendererX.new(this.buyersroot, {\r\n cellStartLocation: 0.1,\r\n cellEndLocation: 0.9,\r\n minorGridEnabled: true,\r\n });\r\n\r\n let xAxis = this.buyersChartInstance.xAxes.push(\r\n am5xy.CategoryAxis.new(this.buyersroot, {\r\n categoryField: \"age\",\r\n renderer: xRenderer,\r\n tooltip: am5.Tooltip.new(this.buyersroot, {}),\r\n })\r\n );\r\n this.buyersData = this.buyersData?.map(\r\n (item: any) => ({\r\n age: item.age,\r\n singleCount: Number(item.singleCount),\r\n groupCount: Number(item.groupCount),\r\n })\r\n );\r\n xRenderer.grid.template.setAll({ location: 1 });\r\n xAxis.data.setAll(this.buyersData);\r\n\r\n let yAxis = this.buyersChartInstance.yAxes.push(\r\n am5xy.ValueAxis.new(this.buyersroot, {\r\n renderer: am5xy.AxisRendererY.new(this.buyersroot, {\r\n strokeOpacity: 0.1,\r\n }),\r\n })\r\n );\r\n\r\n this.getBuyerSeries(\"Single\", \"singleCount\", xAxis, yAxis);\r\n this.getBuyerSeries(\"Group\", \"groupCount\", xAxis, yAxis);\r\n this.buyersChartInstance.appear(1000, 100);\r\n\r\n}\r\ngetBuyerSeries(\r\n name: any,\r\n fieldName: any,\r\n xAxis: am5xy.CategoryAxis<am5xy.AxisRenderer>,\r\n yAxis: am5xy.ValueAxis<am5xy.AxisRenderer>\r\n) {\r\n let series = this.buyersChartInstance.series.push(\r\n am5xy.ColumnSeries.new(this.buyersroot, {\r\n name: name,\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: fieldName,\r\n categoryXField: \"age\",\r\n })\r\n );\r\n\r\n series.columns.template.setAll({\r\n tooltipText: \"{name}, {categoryX}:{valueY}\",\r\n width: am5.percent(90),\r\n tooltipY: 0,\r\n strokeOpacity: 0,\r\n });\r\n\r\n series.data.setAll(this.buyersData);\r\n\r\n series.appear();\r\n\r\n}\r\n handleBarClick(dataItem: any): void {\r\n this.service\r\n .getSingleStoreChart(this.objData)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.getSingleChartData = res?.data.storeData;\r\n this.detailedCharts = true;\r\n this.cd.detectChanges(); \r\n setTimeout(() => this.getSingleStore(), 0); // Call with a delay to ensure the element is in the DOM\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n \r\n }\r\n\r\ngetSingleStore(){\r\n const chartDiv = document.getElementById(\"detailedChartDiv\");\r\n if (!chartDiv) {\r\n console.error(\r\n \"Could not find HTML element with id `detailedChartDiv`\"\r\n );\r\n return;\r\n }\r\n\r\n if (this.detailedRoot) {\r\n this.detailedRoot.dispose();\r\n }\r\n \r\n this.detailedRoot = am5.Root.new(\"detailedChartDiv\");\r\n this.detailedRoot.setThemes([\r\n am5themes_Animated.new(this.detailedRoot),\r\n ]);\r\n\r\n this.detailedChart = this.detailedRoot.container.children.push(\r\n am5xy.XYChart.new(this.detailedRoot, {\r\n panX: false,\r\n panY: false,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n paddingLeft: 0,\r\n })\r\n );\r\n\r\n // Add cursor\r\n let cursor = this.detailedChart.set(\r\n \"cursor\",\r\n am5xy.XYCursor.new(this.detailedRoot, {})\r\n );\r\n cursor.lineY.set(\"visible\", false);\r\n\r\n // Create axes\r\n let xRenderer = am5xy.AxisRendererX.new(this.detailedRoot, {\r\n minGridDistance: 30,\r\n minorGridEnabled: true,\r\n });\r\n\r\n xRenderer.labels.template.setAll({\r\n rotation: -90,\r\n centerY: am5.p50,\r\n centerX: am5.p100,\r\n paddingRight: 15,\r\n });\r\n\r\n xRenderer.grid.template.setAll({\r\n location: 1,\r\n });\r\n // Add scrollbar\r\n this.detailedChart.set(\r\n \"scrollbarX\",\r\n am5.Scrollbar.new(this.detailedRoot, {\r\n orientation: \"horizontal\",\r\n })\r\n );\r\n let xAxis = this.detailedChart.xAxes.push(\r\n am5xy.CategoryAxis.new(this.detailedRoot, {\r\n maxDeviation: 0.3,\r\n categoryField: \"date\",\r\n renderer: xRenderer,\r\n tooltip: am5.Tooltip.new(this.detailedRoot, {}),\r\n })\r\n );\r\n\r\n let yRenderer = am5xy.AxisRendererY.new(this.detailedRoot, {\r\n strokeOpacity: 0.1,\r\n });\r\n\r\n let yAxis = this.detailedChart.yAxes.push(\r\n am5xy.ValueAxis.new(this.detailedRoot, {\r\n maxDeviation: 0.3,\r\n renderer: yRenderer,\r\n })\r\n );\r\n \r\n let data = this.getSingleChartData.map((item: any) => ({\r\n date: item.date, // Convert date string to timestamp\r\n value: Number(item.count), // Use `count` as `value`\r\n }));\r\n\r\n // Create series\r\n this.detailedSeries = this.detailedChart.series.push(\r\n am5xy.ColumnSeries.new(this.detailedRoot, {\r\n name: \"Series 2\",\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: \"value\",\r\n sequencedInterpolation: true,\r\n categoryXField: \"date\",\r\n tooltip: am5.Tooltip.new(this.detailedRoot, {\r\n labelText: \"{valueY}\",\r\n }),\r\n })\r\n );\r\n this.detailedSeries.columns.template.setAll({ strokeOpacity: 0 });\r\n xAxis.data.setAll(data);\r\n this.detailedSeries.data.setAll(data);\r\n this.detailedSeries.appear(1000);\r\n this.detailedChart.appear(1000, 100);\r\n}\r\ntrafficHeatChart() {\r\n setTimeout(() => {\r\n const chartDiv = document.getElementById(\"trafficHeatmapChart\");\r\n if (!chartDiv) {\r\n console.error(\"Could not find HTML element with id `trafficHeatmapChart`\");\r\n return;\r\n }\r\n if (this.heatMapRoot) {\r\n this.heatMapRoot.dispose();\r\n }\r\n\r\n this.heatMapRoot = am5.Root.new(\"trafficHeatmapChart\");\r\n\r\n this.heatMapRoot.container.setAll({\r\n width: am5.percent(100),\r\n });\r\n\r\n this.heatMapRoot.setThemes([\r\n am5themes_Animated.new(this.heatMapRoot),\r\n am5themes_Responsive.new(this.heatMapRoot),\r\n ]);\r\n\r\n this.heatMapChart = this.heatMapRoot.container.children.push(\r\n am5xy.XYChart.new(this.heatMapRoot, {\r\n panX: false,\r\n panY: false,\r\n wheelX: \"none\",\r\n wheelY: \"none\",\r\n paddingLeft: 0,\r\n layout: this.heatMapRoot.verticalLayout,\r\n })\r\n );\r\n\r\n const yRenderer = am5xy.AxisRendererY.new(this.heatMapRoot, {\r\n visible: false,\r\n minGridDistance: 30,\r\n inversed: true,\r\n minorGridEnabled: true,\r\n opposite: false,\r\n });\r\n yRenderer.grid.template.set(\"visible\", false);\r\n\r\n const yAxis = this.heatMapChart.yAxes.push(\r\n am5xy.CategoryAxis.new(this.heatMapRoot, {\r\n maxDeviation: 0,\r\n renderer: yRenderer,\r\n categoryField: \"hour\",\r\n })\r\n );\r\n\r\n const xRenderer = am5xy.AxisRendererX.new(this.heatMapRoot, {\r\n visible: false,\r\n minGridDistance: 30,\r\n opposite: false,\r\n minorGridEnabled: true,\r\n });\r\n xRenderer.grid.template.set(\"visible\", false);\r\n\r\n const xAxis = this.heatMapChart.xAxes.push(\r\n am5xy.CategoryAxis.new(this.heatMapRoot, {\r\n renderer: xRenderer,\r\n categoryField: \"weekday\",\r\n })\r\n );\r\n\r\n yAxis.children.unshift(\r\n am5.Label.new(this.heatMapRoot, {\r\n rotation: -90,\r\n text: \"Hours\",\r\n y: am5.p50,\r\n centerX: am5.p50,\r\n })\r\n );\r\n\r\n this.heatMapSeries = this.heatMapChart.series.push(\r\n am5xy.ColumnSeries.new(this.heatMapRoot, {\r\n calculateAggregates: true,\r\n stroke: am5.color(0xffffff),\r\n clustered: false,\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n categoryXField: \"weekday\",\r\n categoryYField: \"hour\",\r\n valueField: \"value\",\r\n })\r\n );\r\n\r\n this.heatMapSeries.columns.template.setAll({\r\n tooltipText: \"{value}\",\r\n strokeOpacity: 1,\r\n strokeWidth: 2,\r\n width: am5.percent(100),\r\n height: am5.percent(100),\r\n });\r\n\r\n this.heatMapSeries.set(\"heatRules\", [\r\n {\r\n target: this.heatMapSeries.columns.template,\r\n min: am5.color(0x80d1ff),\r\n max: am5.color(0x33b5ff),\r\n dataField: \"value\",\r\n key: \"fill\",\r\n },\r\n ]);\r\n\r\n this.heatMapSeries.bullets.push(() => {\r\n return am5.Bullet.new(this.heatMapRoot, {\r\n sprite: am5.Label.new(this.heatMapRoot, {\r\n text: \"{value}\",\r\n fill: am5.color(0x000000),\r\n centerY: am5.p50,\r\n centerX: am5.p50,\r\n populateText: true,\r\n fontSize: 12,\r\n }),\r\n });\r\n });\r\n\r\n const heatMapData: any[] = [];\r\n\r\n Object.keys(this.getDensityDwellData.trafficDencity).forEach(hour => {\r\n this.getDensityDwellData.trafficDencity[hour].forEach((dayData:any) => {\r\n heatMapData.push({\r\n hour: dayData.time,\r\n weekday: dayData.day,\r\n value: parseInt(dayData.footfallCount),\r\n });\r\n });\r\n });\r\n\r\n this.heatMapSeries.data.setAll(heatMapData);\r\n\r\n const weekdays: string[] = [];\r\n const hours: string[] = [];\r\n am5.array.each(heatMapData, function (row: any) {\r\n if (weekdays.indexOf(row.weekday) === -1) {\r\n weekdays.push(row.weekday);\r\n }\r\n if (hours.indexOf(row.hour) === -1) {\r\n hours.push(row.hour);\r\n }\r\n });\r\n\r\n xAxis.data.setAll(\r\n weekdays.map(function (item) {\r\n return { weekday: item };\r\n })\r\n );\r\n\r\n yAxis.data.setAll(\r\n hours.map(function (item) {\r\n return { hour: item };\r\n })\r\n );\r\n\r\n this.heatMapChart.appear(1000, 100);\r\n this.heatMapRoot = this.heatMapRoot;\r\n }, 0);\r\n}\r\n\r\n\r\n getDwellChart() {\r\n setTimeout(() => {\r\n const chartDiv = document.getElementById(\"dwellBarChart\");\r\n if (!chartDiv) {\r\n console.error(\"Could not find HTML element with id `dwellBarChart`\");\r\n return;\r\n }\r\n if (this.dwellRoot) {\r\n this.dwellRoot.dispose();\r\n }\r\n // Create root element\r\n this.dwellRoot = am5.Root.new(\"dwellBarChart\");\r\n\r\n // Set themes\r\n this.dwellRoot.setThemes([am5themes_Animated.new(this.dwellRoot)]);\r\n\r\n // Create chart\r\n this.dwellChart = this.dwellRoot.container.children.push(\r\n am5xy.XYChart.new(this.dwellRoot, {\r\n panX: false,\r\n panY: false,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n paddingLeft: 0,\r\n layout: this.root.verticalLayout,\r\n })\r\n );\r\n\r\n let data = this.getDensityDwellData.dwellTimeSplit?.map(\r\n (item: any) => ({\r\n year: item.dwell_time,\r\n maleCount: Number(item.maleCount),\r\n femaleCount: Number(item.femaleCount),\r\n })\r\n );\r\n \r\n // [\r\n // {\r\n // year: \"2021\",\r\n // europe: 2.5,\r\n // namerica: 2.5,\r\n // },\r\n // {\r\n // year: \"2022\",\r\n // europe: 2.6,\r\n // namerica: 2.7,\r\n // },\r\n // {\r\n // year: \"2023\",\r\n // europe: 2.8,\r\n // namerica: 2.9,\r\n // },\r\n // ];\r\n\r\n // Create axes\r\n let xRenderer = am5xy.AxisRendererX.new(this.dwellRoot, {\r\n minorGridEnabled: true,\r\n });\r\n let xAxis = this.dwellChart.xAxes.push(\r\n am5xy.CategoryAxis.new(this.dwellRoot, {\r\n categoryField: \"year\",\r\n renderer: xRenderer,\r\n tooltip: am5.Tooltip.new(this.dwellRoot, {}),\r\n })\r\n );\r\n\r\n xRenderer.grid.template.setAll({\r\n location: 1,\r\n });\r\n\r\n xAxis.data.setAll(data);\r\n\r\n let yAxis = this.dwellChart.yAxes.push(\r\n am5xy.ValueAxis.new(this.dwellRoot, {\r\n min: 0,\r\n renderer: am5xy.AxisRendererY.new(this.dwellRoot, {\r\n strokeOpacity: 0.1,\r\n }),\r\n })\r\n );\r\n\r\n // Add legend\r\n let legend = this.dwellChart.children.push(\r\n am5.Legend.new(this.dwellRoot, {\r\n centerX: am5.p50,\r\n x: am5.p50,\r\n })\r\n );\r\n\r\n // Add series\r\n const makeSeries = (name: string, fieldName: string) => {\r\n this.dwellSeries = this.dwellChart.series.push(\r\n am5xy.ColumnSeries.new(this.dwellRoot, {\r\n name: name,\r\n stacked: true,\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: fieldName,\r\n categoryXField: \"year\",\r\n })\r\n );\r\n\r\n this.dwellSeries.columns.template.setAll({\r\n tooltipText: \"{name}, {categoryX}: {valueY}\",\r\n tooltipY: am5.percent(10),\r\n });\r\n this.dwellSeries.data.setAll(data);\r\n\r\n // Make stuff animate on load\r\n this.dwellSeries.appear();\r\n\r\n this.dwellSeries.bullets.push(() => {\r\n return am5.Bullet.new(this.dwellRoot, {\r\n sprite: am5.Label.new(this.dwellRoot, {\r\n text: \"{valueY}\",\r\n fill: this.dwellRoot.interfaceColors.get(\"alternativeText\"),\r\n centerY: am5.p50,\r\n centerX: am5.p50,\r\n populateText: true,\r\n }),\r\n });\r\n });\r\n\r\n legend.data.push(this.dwellSeries);\r\n };\r\n\r\n makeSeries(\"Male\", \"maleCount\");\r\n makeSeries(\"Female\", \"femaleCount\");\r\n // Make stuff animate on load\r\n this.dwellChart.appear(1000, 100);\r\n }, 0);\r\n }\r\n private readonly destroy$ = new Subject();\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n if (this.root) {\r\n this.root.dispose();\r\n }\r\n if (this.detailedRoot) {\r\n this.detailedRoot.dispose();\r\n }\r\n }\r\n\r\n onDateChange(event:any){\r\n this.detailedCharts = false;\r\n const target = event.target as HTMLSelectElement;\r\n this.footfallDate = target.value;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n\r\n","<div class=\"card mt-3\">\r\n <div class=\"card-header my-3 mx-2\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('traffic')\"><a\r\n [ngClass]=\"selectedTab ==='traffic' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer no-border me-6 \">Traffic & Dwell</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('footfall')\">\r\n <a [ngClass]=\"selectedTab ==='footfall' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer me-6\">Footfall</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('conversion')\"><a\r\n [ngClass]=\"selectedTab ==='conversion' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer no-border me-6 \">Conversion</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('engagers')\">\r\n <a [ngClass]=\"selectedTab ==='engagers' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer me-6\">Engagers</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('bounced')\"><a\r\n [ngClass]=\"selectedTab ==='bounced' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer no-border me-6 \">Bounced Footfall</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('potential')\">\r\n <a [ngClass]=\"selectedTab ==='potential' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer me-6\">Potential Buyer</a>\r\n </li>\r\n <li class=\"nav-item nav-item1\" (click)=\"selectedTabs('missed')\">\r\n <a [ngClass]=\"selectedTab ==='missed' ? 'active' :''\"\r\n class=\"nav-link nav-link1 cursor-pointer me-6\">Missed Opportunity</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-md-2 h-100\">\r\n <div *ngIf=\"selectedTab !=='footfall'\" class=\"left-bar\">\r\n <div class=\"top-header text-center\">\r\n <div class=\"left-bar-count\">{{getOverallCardData?.footfallCard?.footfallCount ?\r\n getOverallCardData?.footfallCard?.footfallCount :'--'}}</div>\r\n <div class=\"left-bar-title\">Footfall Count</div>\r\n\r\n </div>\r\n <span class=\"w-100\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"174\" height=\"2\"\r\n viewBox=\"0 0 194 2\" fill=\"none\">\r\n <path opacity=\"0.4\" d=\"M1 1L193 1\" stroke=\"#99DAFF\" stroke-linecap=\"round\" />\r\n </svg></span>\r\n <div class=\"my-5\">\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <path\r\n d=\"M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21M16 7C16 9.20914 14.2091 11 12 11C9.79086 11 8 9.20914 8 7C8 4.79086 9.79086 3 12 3C14.2091 3 16 4.79086 16 7Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.singleCount ?\r\n getOverallCardData?.footfallCard?.singleCount :'--'}}</div>\r\n <div class=\"left-card-count-header\">Single</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\" />\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\"\r\n stroke-dasharray=\"10 5\" />\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" />\r\n </mask>\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\"\r\n fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\" />\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" />\r\n </mask>\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.groupCount ?\r\n getOverallCardData?.footfallCard?.groupCount :'--'}}</div>\r\n <div class=\"left-card-count-header\">Group Footfall</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\" />\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\"\r\n stroke-dasharray=\"10 5\" />\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" />\r\n </mask>\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\"\r\n fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\" />\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" />\r\n </mask>\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.ageGroup ?\r\n getOverallCardData?.footfallCard?.ageGroup :'--'}}</div>\r\n <div class=\"left-card-count-header\">Most Common Age</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\" />\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\"\r\n stroke-dasharray=\"10 5\" />\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" />\r\n </mask>\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\"\r\n fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\" />\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" />\r\n </mask>\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.maleRate ?\r\n getOverallCardData?.footfallCard?.maleRate :'--'}} %</div>\r\n <div class=\"left-card-count-header\">Male</div>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.femaleRate ?\r\n getOverallCardData?.footfallCard?.femaleRate :'--'}} %</div>\r\n <div class=\"left-card-count-header\">Female</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedTab ==='footfall'\" class=\"left-bar\">\r\n <div class=\"top-header text-center\">\r\n <div class=\"left-bar-count\">{{getOverallCardData?.footfallCard?.footfallCount ?\r\n getOverallCardData?.footfallCard?.footfallCount :'--'}}</div>\r\n <div class=\"left-bar-title\">Footfall Count</div>\r\n\r\n </div>\r\n <span class=\"w-100\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"174\" height=\"2\"\r\n viewBox=\"0 0 194 2\" fill=\"none\">\r\n <path opacity=\"0.4\" d=\"M1 1L193 1\" stroke=\"#99DAFF\" stroke-linecap=\"round\" />\r\n </svg></span>\r\n <div class=\"my-5\">\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <path\r\n d=\"M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21M16 7C16 9.20914 14.2091 11 12 11C9.79086 11 8 9.20914 8 7C8 4.79086 9.79086 3 12 3C14.2091 3 16 4.79086 16 7Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.singleCount ?\r\n getOverallCardData?.footfallCard?.singleCount :'--'}}</div>\r\n <div class=\"left-card-count-header\">Single</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\" />\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\"\r\n stroke-dasharray=\"10 5\" />\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" />\r\n </mask>\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\"\r\n fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\" />\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" />\r\n </mask>\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.groupCount ?\r\n getOverallCardData?.footfallCard?.groupCount :'--'}}</div>\r\n <div class=\"left-card-count-header\">Group Footfall</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\" />\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\"\r\n stroke-dasharray=\"10 5\" />\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" />\r\n </mask>\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\"\r\n fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\" />\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" />\r\n </mask>\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.ageGroup ?\r\n getOverallCardData?.footfallCard?.ageGroup :'--'}}</div>\r\n <div class=\"left-card-count-header\">Most Common Age</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\" />\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\"\r\n stroke-dasharray=\"10 5\" />\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" />\r\n </mask>\r\n <path\r\n d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\"\r\n fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\" />\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" />\r\n </mask>\r\n <path\r\n d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\" />\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.maleRate ?\r\n getOverallCardData?.footfallCard?.maleRate :'--'}} %</div>\r\n <div class=\"left-card-count-header\">Male</div>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">\r\n {{getOverallCardData?.footfallCard?.femaleRate ?\r\n getOverallCardData?.footfallCard?.femaleRate :'--'}} %</div>\r\n <div class=\"left-card-count-header\">Female</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedTab !=='footfall'\" class=\"col-md-10 h-100 \">\r\n <div class=\"row px-0\">\r\n \r\n <div class=\"col-md-6 mt-3 px-0\">\r\n \r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label\">Traffic Density <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3352_688)\">\r\n <path d=\"M7.9987 10.6667V8.00004M7.9987 5.33337H8.00536M14.6654 8.00004C14.6654 11.6819 11.6806 14.6667 7.9987 14.6667C4.3168 14.6667 1.33203 11.6819 1.33203 8.00004C1.33203 4.31814 4.3168 1.33337 7.9987 1.33337C11.6806 1.33337 14.6654 4.31814 14.6654 8.00004Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3352_688\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"text-sub mb-2\">Based on 06 Jan, 2022– 13 Jan, 2022 </span>\r\n \r\n </h3>\r\n <div class=\"card-toolbar text-nowrap\">\r\n <select class=\"form-select form-select-sm w-auto\" id=\"dateSelect\"\r\n (change)=\"onDateChange($event)\">\r\n <option *ngFor=\"let dataset of trafficData\" [value]=\"dataset.value\">{{ dataset.label }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div id=\"trafficHeatmapChart\"></div>\r\n </div>\r\n <div class=\"col-md-6 mt-3 px-0\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label\">Dwell Time Split <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3352_688)\">\r\n <path d=\"M7.9987 10.6667V8.00004M7.9987 5.33337H8.00536M14.6654 8.00004C14.6654 11.6819 11.6806 14.6667 7.9987 14.6667C4.3168 14.6667 1.33203 11.6819 1.33203 8.00004C1.33203 4.31814 4.3168 1.33337 7.9987 1.33337C11.6806 1.33337 14.6654 4.31814 14.6654 8.00004Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3352_688\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"text-sub mb-2\">Based on 06 Jan, 2022– 13 Jan, 2022 </span>\r\n \r\n </h3>\r\n </div>\r\n <div id=\"dwellBarChart\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"selectedTab ==='footfall'\" class=\"col-md-10 h-100 right-bar border-1\">\r\n \r\n\r\n <div *ngIf=\"(footfallValue ==='dataset1' || footfallValue ==='dataset2'|| footfallValue ==='dataset3') && !detailedCharts\"\r\n class=\"row\">\r\n <div><select class=\"form-select form-select-sm w-auto m-3\" id=\"datasetSelect\"\r\n (change)=\"onDatasetChange($event)\">\r\n <option *ngFor=\"let dataset of datasets\" [value]=\"dataset.value\">{{ dataset.label }}</option>\r\n </select> \r\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3352_688)\">\r\n <path d=\"M7.9987 10.6667V8.00004M7.9987 5.33337H8.00536M14.6654 8.00004C14.6654 11.6819 11.6806 14.6667 7.9987 14.6667C4.3168 14.6667 1.33203 11.6819 1.33203 8.00004C1.33203 4.31814 4.3168 1.33337 7.9987 1.33337C11.6806 1.33337 14.6654 4.31814 14.6654 8.00004Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3352_688\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg> -->\r\n </div> \r\n <span class=\"ms-3\">Based on 06 Jan, 2022– 13 Jan, 2022 </span>\r\n <div *ngIf=\"footfallValue ==='dataset2' && !detailedCharts\" class=\"col-md-12\">\r\n <div class=\"text-center\" id=\"demoGraphics\"></div>\r\n </div>\r\n <div *ngIf=\"footfallValue ==='dataset3' && !detailedCharts\" class=\"col-md-12\">\r\n <div class=\"text-center\" id=\"buyersCharts\"></div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"footfallValue ==='dataset1' && !detailedCharts\" class=\"col-md-9 chart-container mt-3\">\r\n <div class=\"text-center\" id=\"testGraphics\"></div>\r\n </div>\r\n <div *ngIf=\"footfallValue ==='dataset1' && !detailedCharts\" class=\"col-md-3 mt-3 me-0 pe-0\">\r\n <div id=\"heatmapchart\"></div>\r\n </div>\r\n\r\n </div>\r\n <div *ngIf=\"footfallValue ==='dataset1' && detailedCharts\" class=\"row\">\r\n <div class=\"d-flex align-items-center my-5 me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <span (click)=\"backToFootfall()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label left-card-count\">Udaipur Footfall Trend</div>\r\n <div class=\"left-card-count-header\">Based on 31 May, 2024</div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 mx-5\">\r\n <div class=\"text-center\" id=\"detailedChartDiv\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n\r\n \r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n<!-- <div *ngFor=\"let location of locations; let i = index\"> -->\r\n \r\n <!-- </div> -->\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { TrafficService } from '../../services/traffic.service';\r\nimport { Subject, takeUntil } from \"rxjs\";\r\nimport { GlobalStateService } from 'tango-app-ui-global';\r\nimport { debounceTime } from 'rxjs/operators';\r\n@Component({\r\n selector: 'lib-image-doc',\r\n templateUrl: './image-doc.component.html',\r\n styleUrl: './image-doc.component.scss'\r\n})\r\nexport class ImageDocComponent implements OnInit,OnDestroy {\r\n\r\n\r\n imageArray = [\r\n { id: 1, time: '11 PM - 12 PM', value: '2' },\r\n { id: 2, time: '12 PM - 01 PM', value: '2' },\r\n { id: 3, time: '01 PM - 02 PM', value: '3' },\r\n { id: 4, time: '02 PM - 03 PM', value: '4' },\r\n { id: 5, time: '03 PM - 04 PM', value: '5' },\r\n { id: 6, time: '04 PM - 05 PM', value: '6' },\r\n { id: 3, time: '05 PM - 06 PM', value: '3' },\r\n { id: 4, time: '06 PM - 07 PM', value: '4' },\r\n { id: 5, time: '07 PM - 08 PM', value: '5' },\r\n { id: 6, time: '08 PM - 09 PM', value: '6' }\r\n ];\r\n selectIndex:any=0;\r\n selectedTime:any;\r\n objData: any;\r\n objectsArray: any;\r\n imagesArrayData: any;\r\n processType ='footfall'\r\n headerData: any;\r\n constructor(private service: TrafficService,public gs: GlobalStateService,\r\n private cd: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.selectedTime = this.imageArray[0].time;\r\n this.gs.dataRangeValue\r\n .pipe(takeUntil(this.destroy$), debounceTime(300))\r\n .subscribe((data: any) => {\r\n this.headerData = data;\r\n this.objData = {\r\n storeId: data.stores.filter((store:any) => store.checked).map((store:any) => store.storeId),\r\n clientId:data.client,\r\n processType: this.processType,\r\n footfallDate:this.headerData.date.endDate,\r\n };\r\n this.getImageFolder();\r\n this.getImageView();\r\n \r\n})\r\n }\r\n private readonly destroy$ = new Subject();\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n getImageFolder(){\r\n this.service\r\n .getFootfallDirectoryFolders(this.objData)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.objectsArray = res?.data.folderData;\r\n this.cd.detectChanges(); \r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n getImageView(){\r\n this.objData.folderName ='3';\r\n this.service\r\n .getFootfallDirectory(this.objData)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.imagesArrayData = res?.data.footfallData;\r\n this.cd.detectChanges(); \r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n\r\n getimages(index: any) {\r\n this.selectIndex = index\r\n }\r\n\r\n selectedTimes(val:any){\r\nthis.selectedTime = val;\r\n }\r\n}\r\n","<div class=\"card mt-3\">\r\n <div class=\"card-header my-3 px-0\">\r\n <div class=\"col-md-12\">\r\n <div class=\"switch-form-card\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#DAF1FF\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#EAF8FF\" stroke-width=\"6\" />\r\n <path d=\"M23.8333 14.6666L15.5 24.6666H23L22.1667 31.3333L30.5 21.3333H23L23.8333 14.6666Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"txt-one ms-2\">\r\n <ng-container>Lorem ipsum dolor sit amet consectetur. Ac amet dui sit nibh suspendisse massa\r\n nulla dapibus.</ng-container>\r\n <!-- <ng-container *ngIf=\"isMultiple\">Upload multiple stores for configuration</ng-container> -->\r\n </div>\r\n </div>\r\n <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M18.295 7.115C18.6844 6.72564 18.6844 6.09436 18.295 5.705C17.9056 5.31564 17.2744 5.31564 16.885 5.705L12 10.59L7.115 5.705C6.72564 5.31564 6.09436 5.31564 5.705 5.705C5.31564 6.09436 5.31564 6.72564 5.705 7.115L10.59 12L5.705 16.885C5.31564 17.2744 5.31564 17.9056 5.705 18.295C6.09436 18.6844 6.72564 18.6844 7.115 18.295L12 13.41L16.885 18.295C17.2744 18.6844 17.9056 18.6844 18.295 18.295C18.6844 17.9056 18.6844 17.2744 18.295 16.885L13.41 12L18.295 7.115Z\"\r\n fill=\"black\" />\r\n </svg>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-md-1 mt-5 text-center\" *ngFor=\"let obj of objectsArray;let i = index\">\r\n <div (click)=\"getimages(i)\">\r\n <div *ngIf=\"i === selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.154297\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#33B5FF\" />\r\n <path\r\n d=\"M39.8216 36.1667C39.8216 36.7855 39.5758 37.379 39.1382 37.8166C38.7006 38.2542 38.1071 38.5 37.4883 38.5H18.8216C18.2028 38.5 17.6093 38.2542 17.1717 37.8166C16.7341 37.379 16.4883 36.7855 16.4883 36.1667V19.8333C16.4883 19.2145 16.7341 18.621 17.1717 18.1834C17.6093 17.7458 18.2028 17.5 18.8216 17.5H24.6549L26.9883 21H37.4883C38.1071 21 38.7006 21.2458 39.1382 21.6834C39.5758 22.121 39.8216 22.7145 39.8216 23.3333V36.1667Z\"\r\n stroke=\"white\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj.folderName}}</div>\r\n </div>\r\n <div *ngIf=\"i !== selectIndex;\">\r\n <span class=\"cursor-pointer\"><svg width=\"57\" height=\"56\" viewBox=\"0 0 57 56\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"0.462891\" width=\"56\" height=\"56\" rx=\"12\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M40.1302 36.1667C40.1302 36.7855 39.8844 37.379 39.4468 37.8166C39.0092 38.2542 38.4157 38.5 37.7969 38.5H19.1302C18.5114 38.5 17.9179 38.2542 17.4803 37.8166C17.0427 37.379 16.7969 36.7855 16.7969 36.1667V19.8333C16.7969 19.2145 17.0427 18.621 17.4803 18.1834C17.9179 17.7458 18.5114 17.5 19.1302 17.5H24.9635L27.2969 21H37.7969C38.4157 21 39.0092 21.2458 39.4468 21.6834C39.8844 22.121 40.1302 22.7145 40.1302 23.3333V36.1667Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"2.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></span>\r\n <div class=\"text-center mt-2\">{{obj.folderName}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 mb-2 w-100 overflow-x\">\r\n <div class=\"col text-nowrap\" *ngFor=\"let obj of imageArray\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\">\r\n <a (click)=\"selectedTimes(obj.time)\"\r\n [ngClass]=\"selectedTime === obj?.time ? 'active' : ''\" class=\"nav-link cursor-pointer no-border mx-3 mb-2\">\r\n {{obj?.time}}<span class=\"mx-2 \" [ngClass]=\"selectedTime === obj?.time ? 'badge-num-primary' :'badge-num-muted'\">{{obj?.value?obj?.value:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"row img-traffic\">\r\n <div class=\"col-md-3 border-gray mx-2 px-2 mt-5\" *ngFor=\"let obj of imagesArrayData\">\r\n <img class=\"img-src\" src=\"assets/tango/Images/zone_imag.svg\" alt=\"\">\r\n <div class=\"row px-3 mb-2\">\r\n <div class=\"col-md-8\">\r\n <div class=\"py-2 img-doc-directory\">{{obj.tempId}} <span class=\"badge badge-light-success ms-2\">Conversion</span></div>\r\n <div class=\"py-2 img-doc-time\">Entry Time</div>\r\n <div class=\"py-2 img-doc-time\">Exit Time</div>\r\n <div class=\"py-2 img-doc-time\">Total Time Spent</div>\r\n </div>\r\n <div class=\"col-md-4 text-end\" >\r\n <div class=\"py-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1841_143300)\">\r\n <path d=\"M14.1986 5.33333V14H2.19857V5.33333M6.86523 8H9.5319M0.865234 2H15.5319V5.33333H0.865234V2Z\" stroke=\"#101828\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1841_143300\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" transform=\"translate(0.199219)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.entryTime}} </div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.exitTime}}</div>\r\n <div class=\"py-2 img-doc-value\">{{obj.timeSpent.totalTimeSpent}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n NgZone,\r\n ElementRef,\r\n Renderer2,\r\n ViewChild,\r\n ChangeDetectorRef,\r\n HostListener\r\n} from \"@angular/core\";\r\nimport * as am5 from \"@amcharts/amcharts5\";\r\nimport * as am5xy from \"@amcharts/amcharts5/xy\";\r\nimport am5themes_Animated from \"@amcharts/amcharts5/themes/Animated\";\r\nimport am5themes_Responsive from \"@amcharts/amcharts5/themes/Responsive\";\r\nimport * as am5percent from \"@amcharts/amcharts5/percent\";\r\nimport { TrafficService } from \"../../services/traffic.service\";\r\nimport { Subject, takeUntil } from \"rxjs\";\r\nimport { NgbTooltip } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { GlobalStateService } from \"tango-app-ui-global\";\r\nimport { debounceTime } from 'rxjs/operators';\r\n@Component({\r\n selector: \"lib-traffic-analysis\",\r\n templateUrl: \"./traffic-analysis.component.html\",\r\n styleUrl: \"./traffic-analysis.component.scss\",\r\n})\r\nexport class TrafficAnalysisComponent implements OnInit, OnDestroy {\r\n private lineroot: am5.Root;\r\n private bouncedlineroot: am5.Root;\r\n private potentialBuyerslineroot: am5.Root;\r\n private engagerslineroot: am5.Root;\r\n sortedColumn: any;\r\n sortDirection: any;\r\n private chart: any;\r\n private tooltipElement: HTMLElement;\r\n private readonly destroy$ = new Subject();\r\n getCardData: any = [];\r\n heatMapData: any = [];\r\n getCardGraphData: any;\r\n getSummaryTableData: any;\r\n itemsPerPage = 10;\r\n currentPage = 1;\r\n totalItems = 1;\r\n paginationSizes = [10, 20, 30];\r\n pageSize = 10;\r\n offset: number = 1;\r\n limit: number = 10;\r\n getRecapVideoData: any;\r\n tableobj: any;\r\n heatMaproot: am5.Root;\r\n valueType=\"actual\"\r\n dateType=\"daily\";\r\n points = [\r\n { name: 'LKST1234', top: '40%', left: '45%', avgFootfall: 25, openTime: '10:30 AM', closeTime: '09:00 PM' },\r\n { name: 'LKST3456', top: '53%', left: '60%', avgFootfall: 30, openTime: '09:00 AM', closeTime: '10:00 PM' },\r\n { name: 'LKST5678', top: '30%', left: '35%', avgFootfall: 20, openTime: '11:00 AM', closeTime: '08:00 PM' },\r\n { name: 'LKST7890', top: '55%', left: '65%', avgFootfall: 18, openTime: '09:30 AM', closeTime: '07:00 PM' },\r\n { name: 'LKST0987', top: '65%', left: '50%', avgFootfall: 40, openTime: '08:00 AM', closeTime: '06:00 PM' },\r\n { name: 'LKST8765', top: '25%', left: '55%', avgFootfall: 35, openTime: '10:00 AM', closeTime: '08:30 PM' },\r\n { name: 'LKST6543', top: '70%', left: '40%', avgFootfall: 28, openTime: '09:00 AM', closeTime: '09:30 PM' },\r\n { name: 'LKST4321', top: '45%', left: '30%', avgFootfall: 22, openTime: '09:15 AM', closeTime: '08:45 PM' },\r\n { name: 'LKST3210', top: '35%', left: '53%', avgFootfall: 26, openTime: '10:00 AM', closeTime: '07:30 PM' },\r\n { name: 'LKST2109', top: '71%', left: '65%', avgFootfall: 32, openTime: '09:45 AM', closeTime: '09:00 PM' }\r\n ];\r\n headerData: any;\r\n \r\n @HostListener('document:click', ['$event'])\r\n handleClickOutside(event: MouseEvent) {\r\n const clickedInside = (event.target as HTMLElement).closest('.tooltip-popup, .label');\r\n if (!clickedInside) {\r\n this.activeTooltip = null;\r\n }\r\n }\r\n activeTooltip: string | null = null;\r\n constructor(\r\n private zone: NgZone,\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n private service: TrafficService,public gs: GlobalStateService,\r\n private cd: ChangeDetectorRef\r\n ) {}\r\n @ViewChild(\"t\", { static: false }) tooltip: NgbTooltip;\r\n tooltipValue: string;\r\n\r\n ngOnInit(): void {\r\n this.gs.dataRangeValue\r\n .pipe(takeUntil(this.destroy$), debounceTime(300))\r\n .subscribe((data: any) => {\r\n // Only process the latest data after debounce time\r\n this.headerData = data;\r\n this.tableobj = {\r\n fromDate: data.date.startDate,\r\n toDate: data.date.endDate,\r\n storeId: data.stores.filter((store:any) => store.checked).map((store:any) => store.storeId),\r\n clientId:data.client,\r\n valueType: this.valueType,\r\n dateType: this.dateType,\r\n };\r\n \r\n // Call methods to update the view\r\n this.getCard();\r\n this.getCardGraph();\r\n this.getTable();\r\n this.getRecap();\r\n // this.initMap();\r\n this.tooltipValue = \"Default Tooltip Text\";\r\n });\r\n }\r\n\r\n// Toggle the tooltip display\r\ntoggleTooltip(pointName: string) {\r\n this.activeTooltip = this.activeTooltip === pointName ? null : pointName;\r\n}\r\n\r\n getTooltipText(): string {\r\n // Logic to determine the tooltip text\r\n return \"Dynamic Tooltip Text \" + new Date().toLocaleTimeString();\r\n }\r\n getCard() {\r\n delete this.tableobj.dateType\r\n this.service\r\n .getCardList(this.tableobj)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.getCardData = res?.data?.card;\r\n this.heatMapData = res?.data?.funnelChart;\r\n this.heatMap();\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n getRecap() {\r\n delete this.tableobj.processType; delete this.tableobj.normalizedData;\r\n delete this.tableobj.dateType; delete this.tableobj.fromDate;\r\n delete this.tableobj.toDate; delete this.tableobj.valueType; delete this.tableobj.processType;\r\n delete this.tableobj.search; delete this.tableobj.offset;\r\n delete this.tableobj.limit; delete this.tableobj.sortBy; delete this.tableobj.sort;\r\n this.tableobj.recapVideoDate = this.headerData.date.endDate;\r\n this.service\r\n .getRecapVideo(this.tableobj)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.getRecapVideoData = res?.data;\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n\r\n getCardGraph() {\r\n delete this.tableobj.normalizedData;\r\n delete this.tableobj.processType;\r\n this.tableobj.dateType = this.dateType;\r\n this.service\r\n .getCardGraphList(this.tableobj)\r\n .pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.getCardGraphData = res?.data;\r\n this.footfalllineCharts();\r\n this.bouncedlineCharts();\r\n this.potentiallineCharts();\r\n this.engagerslineCharts();\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n\r\n getTable() {\r\n delete this.tableobj.processType;\r\n delete this.tableobj.normalizedData;\r\n delete this.tableobj.dateType;\r\n (this.tableobj.limit = 10), (this.tableobj.offset = 0);\r\n (this.tableobj.search = \"11-10\"), (this.tableobj.sortBy = 1);\r\n (this.tableobj.sort = \"footfall\"), (this.tableobj.valueType = \"sum\");\r\n this.service\r\n .getSummaryTableList(this.tableobj)\r\n ?.pipe(takeUntil(this.destroy$))\r\n ?.subscribe({\r\n next: (res: any) => {\r\n if (res && res.code === 200) {\r\n this.getSummaryTableData = res?.data.summaryData;\r\n }\r\n },\r\n error: (err: any) => {\r\n this.cd.detectChanges();\r\n },\r\n complete: () => {},\r\n });\r\n }\r\n\r\n onPageChange(pageOffset: number) {\r\n this.currentPage = Number(pageOffset);\r\n this.offset = Number(pageOffset);\r\n this.getTable();\r\n }\r\n\r\n onPageSizeChange(pageSize: number) {\r\n this.pageSize = Number(pageSize);\r\n this.limit = Number(pageSize);\r\n this.currentPage = 1;\r\n this.offset = 1;\r\n this.getTable();\r\n }\r\n ngOnDestroy(): void {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n this.zone.runOutsideAngular(() => {\r\n if (this.lineroot) {\r\n this.lineroot.dispose();\r\n }\r\n if (this.bouncedlineroot) {\r\n this.bouncedlineroot.dispose();\r\n }\r\n if (this.potentialBuyerslineroot) {\r\n this.potentialBuyerslineroot.dispose();\r\n }\r\n if (this.engagerslineroot) {\r\n this.engagerslineroot.dispose();\r\n }\r\n if (this.heatMaproot) {\r\n this.heatMaproot.dispose();\r\n }\r\n });\r\n }\r\n // card line Charts Start\r\n\r\n footfalllineCharts() {\r\n setTimeout(() => {\r\n const chartDiv = document.getElementById(\"Footfall\");\r\n if (!chartDiv) {\r\n console.error(\"Could not find HTML element with id `Footfall`\");\r\n return;\r\n }\r\n if (this.lineroot) {\r\n this.lineroot.dispose();\r\n }\r\n let root: any;\r\n root = am5.Root.new(\"Footfall\");\r\n root.setThemes([\r\n am5themes_Animated.new(root),\r\n am5themes_Responsive.new(root),\r\n ]);\r\n let chart = root.container.children.push(\r\n am5xy.XYChart.new(root, {\r\n panX: true,\r\n panY: true,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n pinchZoomX: true,\r\n })\r\n );\r\n\r\n // Add data\r\n let data = this.getCardGraphData?.footfall?.data.map((item: any) => ({\r\n date: new Date(item.date).getTime(), // Convert date string to timestamp\r\n value: Number(item.value),\r\n }));\r\n let cursor = chart.set(\r\n \"cursor\",\r\n am5xy.XYCursor.new(root, {\r\n behavior: \"none\",\r\n })\r\n );\r\n cursor.lineY.set(\"visible\", false);\r\n // Create axes\r\n let xAxis = chart.xAxes.push(\r\n am5xy.DateAxis.new(root, {\r\n maxDeviation: 0.2,\r\n baseInterval: { timeUnit: \"day\", count: 1 },\r\n renderer: am5xy.AxisRendererX.new(root, { minorGridEnabled: true }),\r\n })\r\n );\r\n xAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n xAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n let yAxis = chart.yAxes.push(\r\n am5xy.ValueAxis.new(root, {\r\n renderer: am5xy.AxisRendererY.new(root, { pan: \"zoom\" }),\r\n })\r\n );\r\n yAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n yAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n // Create series\r\n let series = chart.series.push(\r\n am5xy.LineSeries.new(root, {\r\n name: \"Series\",\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: \"value\",\r\n valueXField: \"date\",\r\n stroke: am5.color(0x00a3ff), // Set the line color here (red in this case)\r\n })\r\n );\r\n\r\n series.data.setAll(data);\r\n series.set(\r\n \"tooltip\",\r\n am5.Tooltip.new(root, {\r\n labelText: \"{valueY}\",\r\n getFillFromSprite: false, // Prevents the tooltip from inheriting color from the sprite\r\n background: am5.Rectangle.new(root, {\r\n fill: am5.color(0xdaf1ff), // Set the tooltip background color here (blue in this case)\r\n }),\r\n })\r\n );\r\n this.lineroot = root;\r\n },0)\r\n }\r\n bouncedlineCharts() {\r\n setTimeout(() => {\r\n const chartDiv = document.getElementById(\"BouncedRate\");\r\n if (!chartDiv) {\r\n console.error(\"Could not find HTML element with id `BouncedRate`\");\r\n return;\r\n }\r\n if (this.bouncedlineroot) {\r\n this.bouncedlineroot.dispose();\r\n }\r\n let root: any;\r\n root = am5.Root.new(\"BouncedRate\");\r\n root.setThemes([\r\n am5themes_Animated.new(root),\r\n am5themes_Responsive.new(root),\r\n ]);\r\n let chart = root.container.children.push(\r\n am5xy.XYChart.new(root, {\r\n panX: true,\r\n panY: true,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n pinchZoomX: true,\r\n })\r\n );\r\n\r\n // Add data\r\n let data = this.getCardGraphData?.bounced?.data.map((item: any) => ({\r\n date: new Date(item.date).getTime(), // Convert date string to timestamp\r\n value: Number(item.value),\r\n }));\r\n let cursor = chart.set(\r\n \"cursor\",\r\n am5xy.XYCursor.new(root, {\r\n behavior: \"none\",\r\n })\r\n );\r\n cursor.lineY.set(\"visible\", false);\r\n // Create axes\r\n let xAxis = chart.xAxes.push(\r\n am5xy.DateAxis.new(root, {\r\n maxDeviation: 0.2,\r\n baseInterval: { timeUnit: \"day\", count: 1 },\r\n renderer: am5xy.AxisRendererX.new(root, { minorGridEnabled: true }),\r\n })\r\n );\r\n xAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n xAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n let yAxis = chart.yAxes.push(\r\n am5xy.ValueAxis.new(root, {\r\n renderer: am5xy.AxisRendererY.new(root, { pan: \"zoom\" }),\r\n })\r\n );\r\n yAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n yAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n // Create series\r\n let series = chart.series.push(\r\n am5xy.LineSeries.new(root, {\r\n name: \"Series\",\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: \"value\",\r\n valueXField: \"date\",\r\n stroke: am5.color(0x00a3ff), // Set the line color here (red in this case)\r\n })\r\n );\r\n\r\n series.data.setAll(data);\r\n series.set(\r\n \"tooltip\",\r\n am5.Tooltip.new(root, {\r\n labelText: \"{valueY}\",\r\n getFillFromSprite: false, // Prevents the tooltip from inheriting color from the sprite\r\n background: am5.Rectangle.new(root, {\r\n fill: am5.color(0xdaf1ff), // Set the tooltip background color here (blue in this case)\r\n }),\r\n })\r\n );\r\n this.bouncedlineroot = root;\r\n },0)\r\n }\r\n\r\n potentiallineCharts() {\r\n setTimeout(() => {\r\n const chartDiv = document.getElementById(\"PotentialBuyers\");\r\n if (!chartDiv) {\r\n console.error(\"Could not find HTML element with id `PotentialBuyers`\");\r\n return;\r\n }\r\n if (this.potentialBuyerslineroot) {\r\n this.potentialBuyerslineroot.dispose();\r\n }\r\n let root: any;\r\n root = am5.Root.new(\"PotentialBuyers\");\r\n root.setThemes([\r\n am5themes_Animated.new(root),\r\n am5themes_Responsive.new(root),\r\n ]);\r\n let chart = root.container.children.push(\r\n am5xy.XYChart.new(root, {\r\n panX: true,\r\n panY: true,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n pinchZoomX: true,\r\n })\r\n );\r\n\r\n // Add data\r\n let data = this.getCardGraphData?.potentialBuyers?.data.map(\r\n (item: any) => ({\r\n date: new Date(item.date).getTime(), // Convert date string to timestamp\r\n value: Number(item.value),\r\n })\r\n );\r\n let cursor = chart.set(\r\n \"cursor\",\r\n am5xy.XYCursor.new(root, {\r\n behavior: \"none\",\r\n })\r\n );\r\n cursor.lineY.set(\"visible\", false);\r\n // Create axes\r\n let xAxis = chart.xAxes.push(\r\n am5xy.DateAxis.new(root, {\r\n maxDeviation: 0.2,\r\n baseInterval: { timeUnit: \"day\", count: 1 },\r\n renderer: am5xy.AxisRendererX.new(root, { minorGridEnabled: true }),\r\n })\r\n );\r\n xAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n xAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n let yAxis = chart.yAxes.push(\r\n am5xy.ValueAxis.new(root, {\r\n renderer: am5xy.AxisRendererY.new(root, { pan: \"zoom\" }),\r\n })\r\n );\r\n yAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n yAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n // Create series\r\n let series = chart.series.push(\r\n am5xy.LineSeries.new(root, {\r\n name: \"Series\",\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: \"value\",\r\n valueXField: \"date\",\r\n stroke: am5.color(0x00a3ff), // Set the line color here (red in this case)\r\n })\r\n );\r\n\r\n series.data.setAll(data);\r\n series.set(\r\n \"tooltip\",\r\n am5.Tooltip.new(root, {\r\n labelText: \"{valueY}\",\r\n getFillFromSprite: false, // Prevents the tooltip from inheriting color from the sprite\r\n background: am5.Rectangle.new(root, {\r\n fill: am5.color(0xdaf1ff), // Set the tooltip background color here (blue in this case)\r\n }),\r\n })\r\n );\r\n this.potentialBuyerslineroot = root;\r\n },0)\r\n }\r\n\r\n engagerslineCharts() {\r\n setTimeout(() => {\r\n const chartDiv = document.getElementById(\"engagers\");\r\n if (!chartDiv) {\r\n console.error(\"Could not find HTML element with id `engagers`\");\r\n return;\r\n }\r\n if (this.engagerslineroot) {\r\n this.engagerslineroot.dispose();\r\n }\r\n let root: any;\r\n root = am5.Root.new(\"engagers\");\r\n root.setThemes([\r\n am5themes_Animated.new(root),\r\n am5themes_Responsive.new(root),\r\n ]);\r\n let chart = root.container.children.push(\r\n am5xy.XYChart.new(root, {\r\n panX: true,\r\n panY: true,\r\n wheelX: \"panX\",\r\n wheelY: \"zoomX\",\r\n pinchZoomX: true,\r\n })\r\n );\r\n\r\n // Add data\r\n let data = this.getCardGraphData?.engagers?.data.map((item: any) => ({\r\n date: new Date(item.date).getTime(), // Convert date string to timestamp\r\n value: Number(item.value),\r\n }));\r\n let cursor = chart.set(\r\n \"cursor\",\r\n am5xy.XYCursor.new(root, {\r\n behavior: \"none\",\r\n })\r\n );\r\n cursor.lineY.set(\"visible\", false);\r\n // Create axes\r\n let xAxis = chart.xAxes.push(\r\n am5xy.DateAxis.new(root, {\r\n maxDeviation: 0.2,\r\n baseInterval: { timeUnit: \"day\", count: 1 },\r\n renderer: am5xy.AxisRendererX.new(root, { minorGridEnabled: true }),\r\n })\r\n );\r\n xAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n xAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n let yAxis = chart.yAxes.push(\r\n am5xy.ValueAxis.new(root, {\r\n renderer: am5xy.AxisRendererY.new(root, { pan: \"zoom\" }),\r\n })\r\n );\r\n yAxis.get(\"renderer\").grid.template.set(\"forceHidden\", true);\r\n yAxis.get(\"renderer\").labels.template.set(\"forceHidden\", true);\r\n\r\n // Create series\r\n let series = chart.series.push(\r\n am5xy.LineSeries.new(root, {\r\n name: \"Series\",\r\n xAxis: xAxis,\r\n yAxis: yAxis,\r\n valueYField: \"value\",\r\n valueXField: \"date\",\r\n stroke: am5.color(0x00a3ff), // Set the line color here (red in this case)\r\n })\r\n );\r\n\r\n series.data.setAll(data);\r\n series.set(\r\n \"tooltip\",\r\n am5.Tooltip.new(root, {\r\n labelText: \"{valueY}\",\r\n getFillFromSprite: false, // Prevents the tooltip from inheriting color from the sprite\r\n background: am5.Rectangle.new(root, {\r\n fill: am5.color(0xdaf1ff), // Set the tooltip background color here (blue in this case)\r\n }),\r\n })\r\n );\r\n this.engagerslineroot = root;\r\n },0)\r\n }\r\n // card line Charts End\r\n\r\n heatMap() {\r\n setTimeout(() => {\r\n const chartDiv = document.getElementById(\"chartdiv\");\r\n if (!chartDiv) {\r\n console.error(\"Could not find HTML element with id `chartdiv`\");\r\n return;\r\n }\r\n if (this.heatMaproot) {\r\n this.heatMaproot.dispose();\r\n }\r\n let root = am5.Root.new(\"chartdiv\");\r\n root.setThemes([am5themes_Animated.new(root)]);\r\n\r\n let chart = root.container.children.push(\r\n am5percent.SlicedChart.new(root, {\r\n layout: root.verticalLayout,\r\n })\r\n );\r\n\r\n let data = this.heatMapData;\r\n // Calculate total sum of values\r\n let total = data.reduce((sum: any, item: any) => sum + item.value, 0);\r\n\r\n // Calculate percentages and add to data items\r\n data.forEach((item: any) => {\r\n item.percent = (item.value / total) * 100;\r\n item.labelText = `${item.category}: ${item.value} (${item.percent.toFixed(\r\n 1\r\n )}%)`;\r\n });\r\n\r\n let series = chart.series.push(\r\n am5percent.FunnelSeries.new(root, {\r\n alignLabels: false,\r\n orientation: \"horizontal\",\r\n valueField: \"value\",\r\n categoryField: \"category\",\r\n bottomRatio: 1,\r\n })\r\n );\r\n\r\n series.data.setAll(data);\r\n series.appear();\r\n\r\n const totalValue = data.reduce(\r\n (sum: any, item: any) => sum + item.value,\r\n 0\r\n );\r\n data.forEach((item: any) => {\r\n item.percentage = item.value / totalValue;\r\n });\r\n // Update the label template to include the percentage\r\n series.labels.template.setAll({\r\n populateText: true,\r\n text: \"{category} ({percentage.formatNumber('#.##%')} ) : {count}\",\r\n });\r\n\r\n // let legend = chart.children.push(\r\n // am5.Legend.new(root, {\r\n // centerX: am5.p50,\r\n // x: am5.p50,\r\n // marginTop: 15,\r\n // marginBottom: 15\r\n // })\r\n // );\r\n\r\n // legend.data.setAll(series.dataItems);\r\n this.heatMaproot = root;\r\n chart.appear(1000, 100);\r\n },0);\r\n\r\n }\r\n// locations = [\r\n// { lat: 40.73061, lng: -73.935242, label: 'New York' },\r\n// { lat: 34.052235, lng: -118.243683, label: 'Los Angeles' },\r\n// { lat: 51.507351, lng: -0.127758, label: 'London' },\r\n// { lat: 48.856613, lng: 2.352222, label: 'Paris' }\r\n// ];\r\n// // ViewChildren to query all map containers\r\n// @ViewChild('mapContainer', { static: false }) mapContainer!: ElementRef;\r\n\r\n// maps: google.maps.Map[] = []; // Array to store multiple map instances\r\n// initMap() {\r\n// const bounds = new google.maps.LatLngBounds();\r\n\r\n// const mapOptions: google.maps.MapOptions = {\r\n// center: { lat: this.locations[0].lat, lng: this.locations[0].lng },\r\n// zoom: 2 // Starting zoom level\r\n// };\r\n\r\n// const map = new google.maps.Map(this.mapContainer.nativeElement, mapOptions);\r\n\r\n// this.locations.forEach((location) => {\r\n// const marker = new google.maps.Marker({\r\n// position: { lat: location.lat, lng: location.lng },\r\n// map: map,\r\n// title: location.label\r\n// });\r\n\r\n// // Extend the bounds for each location\r\n// bounds.extend(new google.maps.LatLng(location.lat, location.lng));\r\n\r\n// const infoWindow = new google.maps.InfoWindow({\r\n// content: `<h6 class=\"text-nowrap\">${location.label}</h6>`\r\n// });\r\n\r\n// marker.addListener('click', () => {\r\n// infoWindow.open(map, marker);\r\n// });\r\n// });\r\n\r\n// // Adjust the map to fit all markers\r\n// map.fitBounds(bounds);\r\n// }\r\n\r\n \r\n\r\n type: any = \"daily\";\r\n selectPlan(type: any) {\r\n this.type = type;\r\n }\r\n\r\n}\r\ninterface DataContext {\r\n category: string;\r\n value: number;\r\n count: number;\r\n}\r\n","<div class=\"row\">\r\n <div class=\"col-md-7\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8 \">\r\n <div class=\"card card-border h-100\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 px-3\" >\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header\">{{getCardData?.footfall?.count ? getCardData?.footfall?.count :'--'}}</span>\r\n <span class=\"sub-header\">Footfall</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <!-- <div class=\"form-check form-switch text-end\">\r\n <input class=\"form-check-input text-end\" type=\"checkbox\" id=\"flexSwitchCheckDefault\">\r\n <label class=\"form-check-label fs-7 mt-7\" for=\"flexSwitchCheckDefault\">Average</label>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"Footfall\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg *ngIf=\"!getCardGraphData?.footfall?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\"\r\n height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"getCardGraphData?.footfall?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3216_118)\">\r\n <path d=\"M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6\" stroke=\"#039855\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3216_118\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">{{getCardGraphData?.footfall?.PreviousData ? getCardGraphData?.footfall?.PreviousData:'--'}}%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M6 12L10 8L6 4\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"col-md-6\">\r\n\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 px-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header\">{{getCardGraphData?.conversion?.footfall.rate ? getCardGraphData?.conversion?.footfall.rate :'--'}}%</span>\r\n <span class=\"sub-header\">Conversion Rate</span>\r\n </h3>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"h-100px pt-10 px-3\">\r\n <span class=\"h-75px mx-4\">\r\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M4 18H9.5V19.25C9.5 19.9793 9.21027 20.6788 8.69454 21.1945C8.17882 21.7103 7.47935 22 6.75 22C6.02065 22 5.32118 21.7103 4.80546 21.1945C4.28973 20.6788 4 19.9793 4 19.25V18ZM8 6.11999C10 6.11999 11 8.99999 11 11C11 12 10.5 13 10 14.5L9.5 16H4C4 15 3.5 13.5 3.5 11C3.5 8.49999 5.498 6.11999 8 6.11999ZM20.054 14.098L19.837 15.329C19.7023 16.0396 19.2931 16.6686 18.698 17.0796C18.1029 17.4907 17.3698 17.6508 16.6576 17.5252C15.9453 17.3996 15.3111 16.9984 14.8925 16.4086C14.4739 15.8188 14.3045 15.0878 14.421 14.374L14.637 13.144L20.054 14.098ZM18.178 1.70499C20.642 2.13899 22.196 4.82999 21.762 7.29199C21.328 9.75399 20.575 11.144 20.402 12.129L14.985 11.174L14.753 9.60999C14.521 8.04599 14.203 6.97399 14.376 5.98999C14.723 4.01999 16.208 1.35799 18.178 1.70499Z\"\r\n fill=\"#98A2B3\" />\r\n </svg> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M4 18H9.5V19.25C9.5 19.9793 9.21027 20.6788 8.69454 21.1945C8.17882 21.7103 7.47935 22 6.75 22C6.02065 22 5.32118 21.7103 4.80546 21.1945C4.28973 20.6788 4 19.9793 4 19.25V18ZM8 6.11999C10 6.11999 11 8.99999 11 11C11 12 10.5 13 10 14.5L9.5 16H4C4 15 3.5 13.5 3.5 11C3.5 8.49999 5.498 6.11999 8 6.11999ZM20.054 14.098L19.837 15.329C19.7023 16.0396 19.2931 16.6686 18.698 17.0796C18.1029 17.4907 17.3698 17.6508 16.6576 17.5252C15.9453 17.3996 15.3111 16.9984 14.8925 16.4086C14.4739 15.8188 14.3045 15.0878 14.421 14.374L14.637 13.144L20.054 14.098ZM18.178 1.70499C20.642 2.13899 22.196 4.82999 21.762 7.29199C21.328 9.75399 20.575 11.144 20.402 12.129L14.985 11.174L14.753 9.60999C14.521 8.04599 14.203 6.97399 14.376 5.98999C14.723 4.01999 16.208 1.35799 18.178 1.70499Z\" fill=\"#00A3FF\"/>\r\n </svg>\r\n </span>\r\n <span class=\"h-75px mx-4\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M17 21V19C17 17.9391 16.5786 16.9217 15.8284 16.1716C15.0783 15.4214 14.0609 15 13 15H5C3.93913 15 2.92172 15.4214 2.17157 16.1716C1.42143 16.9217 1 17.9391 1 19V21M23 21V19C22.9993 18.1137 22.7044 17.2528 22.1614 16.5523C21.6184 15.8519 20.8581 15.3516 20 15.13M16 3.13C16.8604 3.3503 17.623 3.8507 18.1676 4.55231C18.7122 5.25392 19.0078 6.11683 19.0078 7.005C19.0078 7.89317 18.7122 8.75608 18.1676 9.45769C17.623 10.1593 16.8604 10.6597 16 10.88M13 7C13 9.20914 11.2091 11 9 11C6.79086 11 5 9.20914 5 7C5 4.79086 6.79086 3 9 3C11.2091 3 13 4.79086 13 7Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M17 21V19C17 17.9391 16.5786 16.9217 15.8284 16.1716C15.0783 15.4214 14.0609 15 13 15H5C3.93913 15 2.92172 15.4214 2.17157 16.1716C1.42143 16.9217 1 17.9391 1 19V21M23 21V19C22.9993 18.1137 22.7044 17.2528 22.1614 16.5523C21.6184 15.8519 20.8581 15.3516 20 15.13M16 3.13C16.8604 3.3503 17.623 3.8507 18.1676 4.55231C18.7122 5.25392 19.0078 6.11683 19.0078 7.005C19.0078 7.89317 18.7122 8.75608 18.1676 9.45769C17.623 10.1593 16.8604 10.6597 16 10.88M13 7C13 9.20914 11.2091 11 9 11C6.79086 11 5 9.20914 5 7C5 4.79086 6.79086 3 9 3C11.2091 3 13 4.79086 13 7Z\" stroke=\"#00A3FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> -->\r\n </span>\r\n <span class=\"h-75px mx-4\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path opacity=\"0.3\"\r\n d=\"M20.0039 18.002H4.00391C3.40391 18.002 3.00391 17.602 3.00391 17.002V7.00195C3.00391 6.40195 3.40391 6.00195 4.00391 6.00195H20.0039C20.6039 6.00195 21.0039 6.40195 21.0039 7.00195V17.002C21.0039 17.602 20.6039 18.002 20.0039 18.002ZM12.0039 8.00195C10.3039 8.00195 9.00391 9.80195 9.00391 12.002C9.00391 14.202 10.3039 16.002 12.0039 16.002C13.7039 16.002 15.0039 14.202 15.0039 12.002C15.0039 9.80195 13.7039 8.00195 12.0039 8.00195Z\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n d=\"M18.0039 6.00195H20.0039C20.6039 6.00195 21.0039 6.40195 21.0039 7.00195V9.00195C19.3039 9.00195 18.0039 7.70195 18.0039 6.00195ZM6.00391 6.00195H4.00391C3.40391 6.00195 3.00391 6.40195 3.00391 7.00195V9.00195C4.70391 9.00195 6.00391 7.70195 6.00391 6.00195ZM21.0039 17.002V15.002C19.3039 15.002 18.0039 16.302 18.0039 18.002H20.0039C20.6039 18.002 21.0039 17.602 21.0039 17.002ZM3.00391 15.002V17.002C3.00391 17.602 3.40391 18.002 4.00391 18.002H6.00391C6.00391 16.302 4.70391 15.002 3.00391 15.002Z\"\r\n fill=\"#98A2B3\" />\r\n </svg>\r\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path opacity=\"0.3\" d=\"M20.0039 18.002H4.00391C3.40391 18.002 3.00391 17.602 3.00391 17.002V7.00195C3.00391 6.40195 3.40391 6.00195 4.00391 6.00195H20.0039C20.6039 6.00195 21.0039 6.40195 21.0039 7.00195V17.002C21.0039 17.602 20.6039 18.002 20.0039 18.002ZM12.0039 8.00195C10.3039 8.00195 9.00391 9.80195 9.00391 12.002C9.00391 14.202 10.3039 16.002 12.0039 16.002C13.7039 16.002 15.0039 14.202 15.0039 12.002C15.0039 9.80195 13.7039 8.00195 12.0039 8.00195Z\" fill=\"#00A3FF\"/>\r\n <path d=\"M18.0039 6.00195H20.0039C20.6039 6.00195 21.0039 6.40195 21.0039 7.00195V9.00195C19.3039 9.00195 18.0039 7.70195 18.0039 6.00195ZM6.00391 6.00195H4.00391C3.40391 6.00195 3.00391 6.40195 3.00391 7.00195V9.00195C4.70391 9.00195 6.00391 7.70195 6.00391 6.00195ZM21.0039 17.002V15.002C19.3039 15.002 18.0039 16.302 18.0039 18.002H20.0039C20.6039 18.002 21.0039 17.602 21.0039 17.002ZM3.00391 15.002V17.002C3.00391 17.602 3.40391 18.002 4.00391 18.002H6.00391C6.00391 16.302 4.70391 15.002 3.00391 15.002Z\" fill=\"#00A3FF\"/>\r\n </svg> -->\r\n </span>\r\n <span class=\"h-75px mx-4\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path opacity=\"0.3\"\r\n d=\"M18.0039 21.6005C16.3039 21.6005 15.0039 20.3005 15.0039 18.6005V2.5005C15.0039 2.2005 14.6039 2.00045 14.3039 2.20045L13.0039 3.60048L11.7039 2.30049C11.3039 1.90049 10.7039 1.90049 10.3039 2.30049L9.00391 3.60048L7.70392 2.30049C7.30392 1.90049 6.7039 1.90049 6.3039 2.30049L5.00391 3.60048L3.70392 2.30049C3.50392 2.10049 3.00391 2.2005 3.00391 3.5005V18.6005C3.00391 20.3005 4.30391 21.6005 6.00391 21.6005H18.0039Z\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n d=\"M12.0059 12.5972H11.0059C10.4059 12.5972 10.0059 12.1972 10.0059 11.5972C10.0059 10.9972 10.4059 10.5972 11.0059 10.5972H12.0059C12.6059 10.5972 13.0059 10.9972 13.0059 11.5972C13.0059 12.1972 12.6059 12.5972 12.0059 12.5972ZM9.00586 11.5972C9.00586 10.9972 8.60586 10.5972 8.00586 10.5972H6.00586C5.40586 10.5972 5.00586 10.9972 5.00586 11.5972C5.00586 12.1972 5.40586 12.5972 6.00586 12.5972H8.00586C8.60586 12.5972 9.00586 12.1972 9.00586 11.5972ZM9.00586 7.59717C9.00586 6.99717 8.60586 6.59717 8.00586 6.59717H6.00586C5.40586 6.59717 5.00586 6.99717 5.00586 7.59717C5.00586 8.19717 5.40586 8.59717 6.00586 8.59717H8.00586C8.60586 8.59717 9.00586 8.19717 9.00586 7.59717ZM13.0059 7.59717C13.0059 6.99717 12.6059 6.59717 12.0059 6.59717H11.0059C10.4059 6.59717 10.0059 6.99717 10.0059 7.59717C10.0059 8.19717 10.4059 8.59717 11.0059 8.59717H12.0059C12.6059 8.59717 13.0059 8.19717 13.0059 7.59717ZM13.0059 15.5972C13.0059 14.9972 12.6059 14.5972 12.0059 14.5972H10.0059C9.40586 14.5972 9.00586 14.9972 9.00586 15.5972C9.00586 16.1972 9.40586 16.5972 10.0059 16.5972H12.0059C12.6059 16.5972 13.0059 16.1972 13.0059 15.5972Z\"\r\n fill=\"#98A2B3\" />\r\n <path\r\n d=\"M15.002 18.5971C15.002 20.2971 16.302 21.5971 18.002 21.5971C19.702 21.5971 21.002 20.2971 21.002 18.5971V12.4971C21.002 12.1971 20.602 11.9971 20.302 12.1971L19.002 13.5971L17.702 12.2971C17.302 11.8971 16.702 11.8971 16.302 12.2971L15.002 13.5971V18.5971Z\"\r\n fill=\"#98A2B3\" />\r\n </svg>\r\n <!-- <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path opacity=\"0.3\"\r\n d=\"M18.0039 21.6005C16.3039 21.6005 15.0039 20.3005 15.0039 18.6005V2.5005C15.0039 2.2005 14.6039 2.00045 14.3039 2.20045L13.0039 3.60048L11.7039 2.30049C11.3039 1.90049 10.7039 1.90049 10.3039 2.30049L9.00391 3.60048L7.70392 2.30049C7.30392 1.90049 6.7039 1.90049 6.3039 2.30049L5.00391 3.60048L3.70392 2.30049C3.50392 2.10049 3.00391 2.2005 3.00391 3.5005V18.6005C3.00391 20.3005 4.30391 21.6005 6.00391 21.6005H18.0039Z\"\r\n fill=\"#00A3FF\" />\r\n <path\r\n d=\"M12.0059 12.5972H11.0059C10.4059 12.5972 10.0059 12.1972 10.0059 11.5972C10.0059 10.9972 10.4059 10.5972 11.0059 10.5972H12.0059C12.6059 10.5972 13.0059 10.9972 13.0059 11.5972C13.0059 12.1972 12.6059 12.5972 12.0059 12.5972ZM9.00586 11.5972C9.00586 10.9972 8.60586 10.5972 8.00586 10.5972H6.00586C5.40586 10.5972 5.00586 10.9972 5.00586 11.5972C5.00586 12.1972 5.40586 12.5972 6.00586 12.5972H8.00586C8.60586 12.5972 9.00586 12.1972 9.00586 11.5972ZM9.00586 7.59717C9.00586 6.99717 8.60586 6.59717 8.00586 6.59717H6.00586C5.40586 6.59717 5.00586 6.99717 5.00586 7.59717C5.00586 8.19717 5.40586 8.59717 6.00586 8.59717H8.00586C8.60586 8.59717 9.00586 8.19717 9.00586 7.59717ZM13.0059 7.59717C13.0059 6.99717 12.6059 6.59717 12.0059 6.59717H11.0059C10.4059 6.59717 10.0059 6.99717 10.0059 7.59717C10.0059 8.19717 10.4059 8.59717 11.0059 8.59717H12.0059C12.6059 8.59717 13.0059 8.19717 13.0059 7.59717ZM13.0059 15.5972C13.0059 14.9972 12.6059 14.5972 12.0059 14.5972H10.0059C9.40586 14.5972 9.00586 14.9972 9.00586 15.5972C9.00586 16.1972 9.40586 16.5972 10.0059 16.5972H12.0059C12.6059 16.5972 13.0059 16.1972 13.0059 15.5972Z\"\r\n fill=\"#00A3FF\" />\r\n <path\r\n d=\"M15.002 18.5971C15.002 20.2971 16.302 21.5971 18.002 21.5971C19.702 21.5971 21.002 20.2971 21.002 18.5971V12.4971C21.002 12.1971 20.602 11.9971 20.302 12.1971L19.002 13.5971L17.702 12.2971C17.302 11.8971 16.702 11.8971 16.302 12.2971L15.002 13.5971V18.5971Z\"\r\n fill=\"#00A3FF\" />\r\n </svg> -->\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"card-footer text-start ms-3 p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg *ngIf=\"!getCardGraphData?.conversion?.footfall.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\"\r\n height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"getCardGraphData?.conversion?.footfall.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3216_118)\">\r\n <path d=\"M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6\" stroke=\"#039855\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3216_118\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">{{getCardGraphData?.conversion?.footfall.PreviousData ? getCardGraphData?.conversion?.footfall.PreviousData:'--'}}%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card card-border h-100\">\r\n <div class=\"card-header ellipse1 border-0 px-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header\">{{getCardData?.bounced?.rate ? getCardData?.bounced?.rate :'--'}}%</span>\r\n <span class=\"sub-header\">Bounced Rate</span>\r\n </h3>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"BouncedRate\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg *ngIf=\"!getCardGraphData?.bounced?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\"\r\n height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"getCardGraphData?.bounced?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3216_118)\">\r\n <path d=\"M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6\" stroke=\"#039855\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3216_118\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">{{getCardGraphData?.bounced?.PreviousData ? getCardGraphData?.bounced?.PreviousData:'--'}}%</span><span class=\"ms-2 week-font\">\r\n vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-3\">\r\n <div class=\"card card-border h-100\">\r\n <div class=\"card-header ellipse1 border-0 px-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header\">{{getCardData?.potentialBuyers?.rate ? getCardData?.potentialBuyers?.rate :'--'}}%</span>\r\n <span class=\"sub-header \">Potential Buyers</span>\r\n </h3>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"PotentialBuyers\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg *ngIf=\"!getCardGraphData?.potentialBuyers?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\"\r\n height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"getCardGraphData?.potentialBuyers?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3216_118)\">\r\n <path d=\"M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6\" stroke=\"#039855\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3216_118\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">{{getCardGraphData?.potentialBuyers?.PreviousData ? getCardGraphData?.potentialBuyers?.PreviousData:'--'}}%</span><span class=\"ms-2 week-font\">\r\n vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-8 mt-3\">\r\n <div class=\"card card-border h-100\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div class=\"px-2\">\r\n <div class=\"card-header ellipse1 border-0 px-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header\">Potential Buyer Distribution</span>\r\n <span class=\"sub-header\">Category-wise</span>\r\n </h3> \r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center mt-7 mb-3\"><span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\">\r\n <path d=\"M20.25 21V19C20.25 17.9391 19.8286 16.9217 19.0784 16.1716C18.3283 15.4214 17.3109 15 16.25 15H8.25C7.18913 15 6.17172 15.4214 5.42157 16.1716C4.67143 16.9217 4.25 17.9391 4.25 19V21M16.25 7C16.25 9.20914 14.4591 11 12.25 11C10.0409 11 8.25 9.20914 8.25 7C8.25 4.79086 10.0409 3 12.25 3C14.4591 3 16.25 4.79086 16.25 7Z\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span><span class=\"left-card-count mt-2 ms-1\">{{getCardData?.potentialBuyers?.potentialBuyersSingle?.rate ? getCardData?.potentialBuyers?.potentialBuyersSingle?.rate:'--'}}%</span> <span class=\"left-card-count-header ms-1\">Single</span></div>\r\n <div class=\"text-center mb-3\"><span class=\"badge badge-light-default week-font\">{{getCardData?.potentialBuyers?.potentialBuyersSingle?.ageGroup ? getCardData?.potentialBuyers?.potentialBuyersSingle?.ageGroup:'--'}} age</span></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg *ngIf=\"!getCardGraphData?.potentialBuyers?.potentialBuyersSingle?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\"\r\n height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"getCardGraphData?.potentialBuyers?.potentialBuyersSingle?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3216_118)\">\r\n <path d=\"M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6\" stroke=\"#039855\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3216_118\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">{{getCardGraphData?.potentialBuyers?.potentialBuyersSingle?.PreviousData ? getCardGraphData?.potentialBuyers?.potentialBuyersSingle?.PreviousData:'--'}}%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center mt-7 mb-3\"><span> <svg width=\"26\" height=\"24\" viewBox=\"0 0 26 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect width=\"26\" height=\"24\" fill=\"#DCDCDC\"/>\r\n <rect x=\"-460.5\" y=\"-340.5\" width=\"783\" height=\"1947\" rx=\"4.5\" stroke=\"#9747FF\" stroke-dasharray=\"10 5\"/>\r\n <mask id=\"path-2-inside-1_707_13106\" fill=\"white\">\r\n <path d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\"/>\r\n </mask>\r\n <path d=\"M-189 -89C-189 -95.6274 -183.627 -101 -177 -101H295C301.627 -101 307 -95.6274 307 -89V85C307 91.6274 301.627 97 295 97H-177C-183.627 97 -189 91.6274 -189 85V-89Z\" fill=\"white\"/>\r\n <path d=\"M-190 -89C-190 -96.1797 -184.18 -102 -177 -102H294C301.18 -102 307 -96.1797 307 -89C307 -95.0751 301.627 -100 295 -100H-177C-183.075 -100 -188 -95.0751 -188 -89H-190ZM307 85C307 92.1797 301.18 98 294 98H-177C-184.18 98 -190 92.1797 -190 85H-188C-188 91.0751 -183.075 96 -177 96H295C301.627 96 307 91.0751 307 85ZM-177 98C-184.18 98 -190 92.1797 -190 85V-89C-190 -96.1797 -184.18 -102 -177 -102V-100C-183.075 -100 -188 -95.0751 -188 -89V85C-188 91.0751 -183.075 96 -177 96V98ZM307 -101V97V-101Z\" fill=\"#D0D5DD\" mask=\"url(#path-2-inside-1_707_13106)\"/>\r\n <mask id=\"path-6-inside-2_707_13106\" fill=\"white\">\r\n <path d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\"/>\r\n </mask>\r\n <path d=\"M7.71064 7.38462C8.19552 7.38462 8.67565 7.28911 9.12362 7.10356C9.57159 6.918 9.97863 6.64603 10.3215 6.30316C10.6644 5.9603 10.9363 5.55326 11.1219 5.10529C11.3074 4.65732 11.4029 4.17719 11.4029 3.69231C11.4029 3.20743 11.3074 2.72729 11.1219 2.27932C10.9363 1.83135 10.6644 1.42431 10.3215 1.08145C9.97863 0.73859 9.57159 0.466616 9.12362 0.28106C8.67565 0.0955043 8.19552 -7.22529e-09 7.71064 0C6.73138 1.45921e-08 5.79222 0.38901 5.09978 1.08145C4.40734 1.77389 4.01833 2.71305 4.01833 3.69231C4.01833 4.67157 4.40734 5.61072 5.09978 6.30316C5.79222 6.99561 6.73138 7.38462 7.71064 7.38462ZM18.7876 7.38462C19.2724 7.38462 19.7526 7.28911 20.2005 7.10356C20.6485 6.918 21.0556 6.64603 21.3984 6.30316C21.7413 5.9603 22.0133 5.55326 22.1988 5.10529C22.3844 4.65732 22.4799 4.17719 22.4799 3.69231C22.4799 3.20743 22.3844 2.72729 22.1988 2.27932C22.0133 1.83135 21.7413 1.42431 21.3984 1.08145C21.0556 0.73859 20.6485 0.466616 20.2005 0.28106C19.7526 0.0955043 19.2724 -7.22529e-09 18.7876 0C17.8083 1.45921e-08 16.8691 0.38901 16.1767 1.08145C15.4843 1.77389 15.0953 2.71305 15.0953 3.69231C15.0953 4.67157 15.4843 5.61072 16.1767 6.30316C16.8691 6.99561 17.8083 7.38462 18.7876 7.38462ZM0.941406 10.736C0.941406 10.4575 0.996258 10.1818 1.10283 9.92448C1.2094 9.66719 1.3656 9.43342 1.56252 9.2365C1.75944 9.03958 1.99321 8.88338 2.2505 8.77681C2.50778 8.67024 2.78354 8.61539 3.06202 8.61539H8.98448C8.55169 9.36345 8.32452 10.2127 8.32602 11.0769C8.32519 11.7755 8.47341 12.4662 8.76079 13.1029C9.04816 13.7396 9.46807 14.3077 9.99248 14.7692H8.60048C8.01418 14.7687 7.43803 14.9222 6.92969 15.2144C6.42134 15.5065 5.99864 15.927 5.70387 16.4338C3.7211 16.0449 2.51618 15.0782 1.81464 13.992C0.941406 12.64 0.941406 11.2431 0.941406 11.0012V10.736ZM17.8977 14.7692C18.484 14.7687 19.0602 14.9222 19.5685 15.2144C20.0769 15.5065 20.4996 15.927 20.7943 16.4338C22.7771 16.0449 23.982 15.0782 24.6836 13.992C25.5568 12.64 25.5568 11.2431 25.5568 11.0012V10.7366C25.5569 10.4581 25.5021 10.1823 25.3955 9.9249C25.289 9.66755 25.1328 9.4337 24.9359 9.23672C24.739 9.03973 24.5052 8.88348 24.2478 8.77687C23.9905 8.67026 23.7147 8.61539 23.4362 8.61539H17.5137C17.9465 9.36345 18.1737 10.2127 18.1722 11.0769C18.173 11.7755 18.0248 12.4662 17.7374 13.1029C17.45 13.7396 17.0301 14.3077 16.5057 14.7692H17.8977ZM16.9414 11.0769C16.9414 12.0562 16.5524 12.9953 15.86 13.6878C15.1675 14.3802 14.2284 14.7692 13.2491 14.7692C12.2698 14.7692 11.3307 14.3802 10.6382 13.6878C9.9458 12.9953 9.55679 12.0562 9.55679 11.0769C9.55679 10.0977 9.9458 9.15851 10.6382 8.46607C11.3307 7.77363 12.2698 7.38462 13.2491 7.38462C14.2284 7.38462 15.1675 7.77363 15.86 8.46607C16.5524 9.15851 16.9414 10.0977 16.9414 11.0769ZM6.47987 18.1206C6.47987 17.5582 6.70329 17.0188 7.10098 16.6211C7.49867 16.2234 8.03806 16 8.60048 16H17.8977C18.4601 16 18.9995 16.2234 19.3972 16.6211C19.7949 17.0188 20.0183 17.5582 20.0183 18.1206V18.3858C20.0183 18.6283 20.0183 20.0246 19.1451 21.3766C18.2325 22.7895 16.4694 24 13.2491 24C10.0288 24 8.26571 22.7895 7.3531 21.3766C6.47987 20.0246 6.47987 18.6277 6.47987 18.3858V18.1206Z\" stroke=\"#98A2B3\" stroke-width=\"3\" mask=\"url(#path-6-inside-2_707_13106)\"/>\r\n </svg></span><span class=\"left-card-count ms-1 mt-2\">{{getCardData?.potentialBuyers?.potentialBuyersGroup?.rate ? getCardData?.potentialBuyers?.potentialBuyersGroup?.rate:'--'}}%</span> <span class=\"left-card-count-header ms-1\">Group</span></div>\r\n <div class=\"text-center mb-3\"><span class=\"badge badge-light-default week-font\">{{getCardData?.potentialBuyers?.potentialBuyersGroup?.ageGroup ? getCardData?.potentialBuyers?.potentialBuyersGroup?.ageGroup:'--'}} age</span></div>\r\n \r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg *ngIf=\"!getCardGraphData?.potentialBuyers?.potentialBuyersGroup?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\"\r\n height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"getCardGraphData?.potentialBuyers?.potentialBuyersGroup?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3216_118)\">\r\n <path d=\"M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6\" stroke=\"#039855\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3216_118\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">{{getCardGraphData?.potentialBuyers?.potentialBuyersGroup?.PreviousData ? getCardGraphData?.potentialBuyers?.potentialBuyersGroup?.PreviousData:'--'}}%</span><span\r\n class=\"ms-2 week-font\"> vs previous week</span>\r\n \r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center mt-7 mb-3\"><span class=\"left-card-count mt-2\">{{getCardData?.potentialBuyers?.potentialBuyersPersons?.count ? getCardData?.potentialBuyers?.potentialBuyersPersons?.count:'--'}}</span> <span class=\"left-card-count-header ms-1\">Persons</span></div>\r\n <div class=\"text-center mb-3\"><span class=\"badge badge-light-default week-font\">{{getCardData?.potentialBuyers?.potentialBuyersSingle?.ageGroup ? getCardData.potentialBuyers?.potentialBuyersSingle?.ageGroup:'--'}} age</span>\r\n </div>\r\n \r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\"></span><span\r\n class=\"ms-2 week-font\"> Avg. Group size</span>\r\n \r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M6 12L10 8L6 4\" stroke=\"#98A2B3\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-3\">\r\n <div class=\"card card-border h-100\">\r\n <div class=\"card-header ellipse1 border-0 px-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header\">{{getCardData?.engagers?.rate ? getCardData?.engagers?.rate :'--'}}%</span>\r\n <span class=\"sub-header\">Engagers Rate</span>\r\n </h3>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center\" id=\"engagers\"></div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg *ngIf=\"!getCardGraphData?.engagers?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\"\r\n height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"getCardGraphData?.engagers?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3216_118)\">\r\n <path d=\"M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6\" stroke=\"#039855\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3216_118\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">{{getCardGraphData?.engagers?.PreviousData ? getCardGraphData?.engagers?.PreviousData:'--'}}%</span><span class=\"ms-2 week-font\">\r\n vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-3\">\r\n <div class=\"card card-border h-100\">\r\n <div class=\"card-header ellipse1 border-0 px-3\">\r\n <h3 class=\"card-title align-items-start flex-column \">\r\n <span class=\"card-label header\">{{getCardData?.missedopportunities?.rate ? getCardData?.missedopportunities?.rate :'--'}}%</span>\r\n <span class=\"sub-header\">Missed Opportunities</span>\r\n </h3>\r\n </div>\r\n <div class=\"card-body p-0 h-90px mt-3 mx-3\">\r\n <div class=\"row\">\r\n <div class=\"col-md-9\">\r\n <div class=\"my-2\" *ngIf=\"getCardData?.revenue?.currency !=='INR'\"> <span class=\"card-label header\">$ {{getCardData?.revenue?.value}}</span></div>\r\n <div class=\"my-2\" *ngIf=\"getCardData?.revenue?.currency ==='INR'\"> <span class=\"card-label header\">₹ {{getCardData?.revenue?.value}}</span></div>\r\n <div class=\"\"><span class=\"sub-header\">Avg. Revenue Loss</span></div>\r\n </div>\r\n <div class=\"col-md-3 mt-5\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\">\r\n <g filter=\"url(#filter0_d_3885_2531)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"#EAF8FF\"/>\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#EAF8FF\"/>\r\n <g clip-path=\"url(#clip0_3885_2531)\">\r\n <path d=\"M27.4585 17.2251C27.8133 18.8556 27.6707 20.5614 27.0505 22.1027L25.8593 21.3838L26.017 26.097L30 23.8834L28.717 23.1086C30.7171 18.4823 29.0726 12.9333 24.7799 10.3407C23.3328 9.46633 21.6918 9.00406 20.0206 9.00003C18.3494 8.99599 16.7064 9.45033 15.2555 10.3177L16.2049 12.0544C17.5933 11.2249 19.1953 10.8712 20.7858 11.043C22.3764 11.2149 23.8754 11.9036 25.0723 13.0125C26.2692 14.1214 27.1037 15.5946 27.4585 17.2251Z\" fill=\"#00A3FF\"/>\r\n <path d=\"M12.5402 20.7759C12.1854 19.1452 12.3282 17.4392 12.9485 15.8978L14.1398 16.6167L13.982 11.9035L10 14.1181L11.283 14.8909C9.28199 19.5182 10.9264 25.0662 15.2192 27.6588C16.6661 28.5333 18.3071 28.9958 19.9783 29C21.6495 29.0042 23.2926 28.55 24.7435 27.6828L23.7951 25.9461C22.4067 26.776 20.8045 27.13 19.2138 26.9583C17.623 26.7867 16.1237 26.0979 14.9267 24.989C13.7296 23.88 12.895 22.4066 12.5402 20.7759Z\" fill=\"#00A3FF\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M21.0372 13.003C21.0372 12.5514 20.6871 12.1852 20.2552 12.1852C19.8234 12.1852 19.4733 12.5514 19.4733 13.003V14.3659H18.952C18.2607 14.3659 17.5978 14.653 17.109 15.1642C16.6201 15.6754 16.3455 16.3687 16.3455 17.0916C16.3455 17.8146 16.6201 18.5079 17.109 19.0191C17.5978 19.5302 18.2607 19.8174 18.952 19.8174H19.4733V21.998H17.1275C16.6956 21.998 16.3455 22.3641 16.3455 22.8158C16.3455 23.2674 16.6956 23.6335 17.1275 23.6335H19.4733V24.9964C19.4733 25.448 19.8234 25.8141 20.2552 25.8141C20.6871 25.8141 21.0372 25.448 21.0372 24.9964V23.6335H21.5585C22.2498 23.6335 22.9127 23.3463 23.4015 22.8351C23.8903 22.324 24.1649 21.6306 24.1649 20.9077C24.1649 20.1848 23.8903 19.4915 23.4015 18.9803C22.9127 18.4691 22.2498 18.182 21.5585 18.182H21.0372V16.0013H22.8617C23.2936 16.0013 23.6437 15.6352 23.6437 15.1836C23.6437 14.732 23.2936 14.3659 22.8617 14.3659H21.0372V13.003ZM18.952 16.0013H19.4733V18.182H18.952C18.6755 18.182 18.4103 18.0671 18.2148 17.8626C18.0193 17.6581 17.9094 17.3808 17.9094 17.0916C17.9094 16.8025 18.0193 16.5252 18.2148 16.3207C18.4103 16.1162 18.6755 16.0013 18.952 16.0013ZM21.0372 21.998V19.8174H21.5585C21.835 19.8174 22.1002 19.9323 22.2957 20.1368C22.4912 20.3412 22.6011 20.6186 22.6011 20.9077C22.6011 21.1969 22.4912 21.4742 22.2957 21.6787C22.1002 21.8832 21.835 21.998 21.5585 21.998H21.0372Z\" fill=\"#00A3FF\"/>\r\n </g>\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_3885_2531\" x=\"0\" y=\"0\" width=\"40\" height=\"40\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/>\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"/>\r\n <feOffset dy=\"1\"/>\r\n <feGaussianBlur stdDeviation=\"1\"/>\r\n <feColorMatrix type=\"matrix\" values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\"/>\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_3885_2531\"/>\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_3885_2531\" result=\"shape\"/>\r\n </filter>\r\n <clipPath id=\"clip0_3885_2531\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(10 9)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></div>\r\n </div>\r\n </div>\r\n <div class=\"card-footer text-center p-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"mt-2\">\r\n <svg *ngIf=\"!getCardGraphData?.missedopportunities?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\"\r\n height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2328_4654)\">\r\n <path d=\"M11.5 9L6.75 4.25L4.25 6.75L0.5 3M11.5 9H8.5M11.5 9V6\" stroke=\"#D92D20\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2328_4654\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"getCardGraphData?.missedopportunities?.PreviousVariation\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3216_118)\">\r\n <path d=\"M11.5 3L6.75 7.75L4.25 5.25L0.5 9M11.5 3H8.5M11.5 3V6\" stroke=\"#039855\" stroke-width=\"1.5\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3216_118\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"mt-2 ms-2\"><span class=\"percent-value\">{{getCardGraphData?.missedopportunities?.PreviousData ? getCardGraphData?.missedopportunities?.PreviousData:'--'}}%</span><span class=\"ms-2 week-font\">\r\n vs previous week</span>\r\n\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-3 h-100\">\r\n <div class=\"card card-border mb-3 py-0\">\r\n <div class=\"card-body p-0 h-90px mt-3 mx-3\">\r\n <div class=\"d-flex align-items-center me-2\">\r\n <div class=\"mt-3 flex-shrink-0\">\r\n <svg width=\"40\" height=\"41\" viewBox=\"0 0 40 41\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect y=\"0.5\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#DAF1FF\"/>\r\n <path d=\"M17.6382 12.8922C17.6382 12.6835 17.7212 12.4833 17.8688 12.3357C18.0164 12.1881 18.2165 12.1052 18.4253 12.1052H21.5734C21.7822 12.1052 21.9823 12.1881 22.1299 12.3357C22.2775 12.4833 22.3605 12.6835 22.3605 12.8922C22.3605 13.1009 22.2775 13.3011 22.1299 13.4487C21.9823 13.5963 21.7822 13.6792 21.5734 13.6792H20.7864V14.7286L20.7853 14.7716C22.1156 14.9174 23.3767 15.4398 24.4204 16.2775L24.4277 16.2712L25.2148 15.4842C25.311 15.3806 25.4333 15.3048 25.569 15.2649C25.7046 15.2251 25.8485 15.2225 25.9855 15.2575C26.1224 15.2925 26.2474 15.3638 26.3472 15.4639C26.4471 15.564 26.5181 15.6892 26.5527 15.8263C26.5877 15.9631 26.5852 16.1068 26.5455 16.2423C26.5058 16.3778 26.4304 16.5002 26.3271 16.5965L25.5401 17.3836L25.5338 17.3909C26.3662 18.4331 26.8875 19.6891 27.0377 21.0144C27.1878 22.3397 26.9607 23.6805 26.3824 24.8825C25.8042 26.0845 24.8983 27.0987 23.7691 27.8086C22.6399 28.5184 21.3332 28.895 19.9993 28.895C18.6655 28.895 17.3588 28.5184 16.2296 27.8086C15.1004 27.0987 14.1945 26.0845 13.6163 24.8825C13.038 23.6805 12.8109 22.3397 12.961 21.0144C13.1112 19.6891 13.6325 18.4331 14.4649 17.3909L14.4586 17.3836L13.6716 16.5965C13.5324 16.4474 13.4566 16.25 13.4601 16.046C13.4636 15.842 13.5462 15.6473 13.6905 15.5031C13.8347 15.3588 14.0294 15.2762 14.2334 15.2727C14.4374 15.2692 14.6348 15.345 14.7839 15.4842L15.571 16.2712L15.5783 16.2775C16.6217 15.44 17.8824 14.9176 19.2123 14.7716V13.6792H18.4253C18.2165 13.6792 18.0164 13.5963 17.8688 13.4487C17.7212 13.3011 17.6382 13.1009 17.6382 12.8922ZM19.9993 27.3212C21.4606 27.3211 22.862 26.7404 23.8952 25.7071C24.9284 24.6737 25.5087 23.2722 25.5086 21.8109C25.5085 20.3496 24.9278 18.9482 23.8945 17.915C22.8611 16.8819 21.4596 16.3015 19.9983 16.3016C18.537 16.3018 17.1356 16.8824 16.1025 17.9158C15.0693 18.9492 14.4889 20.3507 14.489 21.8119C14.4892 23.2732 15.0698 24.6746 16.1032 25.7078C17.1366 26.741 18.5381 27.3213 19.9993 27.3212ZM20.4076 20.2903L21.8032 18.8947C21.8758 18.8195 21.9626 18.7595 22.0586 18.7182C22.1546 18.6769 22.2579 18.6551 22.3624 18.6542C22.4669 18.6532 22.5705 18.6731 22.6673 18.7126C22.764 18.7521 22.8519 18.8105 22.9259 18.8844C22.9998 18.9582 23.0583 19.0461 23.0979 19.1428C23.1375 19.2395 23.1575 19.3431 23.1566 19.4476C23.1557 19.5521 23.1341 19.6554 23.0929 19.7515C23.0517 19.8475 22.9918 19.9344 22.9166 20.007L21.521 21.4037C21.583 21.6371 21.5906 21.8815 21.5432 22.1182C21.4958 22.355 21.3948 22.5777 21.2478 22.7692C21.1008 22.9607 20.9118 23.1159 20.6953 23.2228C20.4789 23.3298 20.2408 23.3856 19.9993 23.386C19.7766 23.3841 19.5567 23.3349 19.3544 23.2416C19.1521 23.1483 18.9718 23.0131 18.8257 22.845C18.6795 22.6768 18.5707 22.4796 18.5066 22.2662C18.4424 22.0528 18.4243 21.8283 18.4534 21.6074C18.4825 21.3865 18.5582 21.1743 18.6755 20.9849C18.7928 20.7955 18.949 20.6332 19.1338 20.5086C19.3185 20.3841 19.5276 20.3003 19.7472 20.2626C19.9668 20.225 20.1919 20.2344 20.4076 20.2903Z\" fill=\"#667085\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label header\">{{getCardData?.avgDwellTime ? getCardData?.avgDwellTime :'--'}} mins</div>\r\n <div class=\"sub-header\">Avg Dwell Time</div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n <div class=\"card card-border py-0\">\r\n <div class=\"card-body p-0 h-90px mt-3 mx-3\">\r\n <div class=\"d-flex align-items-center me-2\">\r\n <div class=\"flex-shrink-0 mt-3\">\r\n <svg width=\"40\" height=\"41\" viewBox=\"0 0 40 41\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect y=\"0.5\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#DAF1FF\"/>\r\n <path d=\"M21.9004 12.1675C22.9958 12.1675 24.0423 12.3918 24.9977 12.7987C25.9889 13.2207 26.8809 13.8402 27.6279 14.6087C28.3734 15.3756 28.9756 16.2931 29.3857 17.3162C29.7813 18.299 29.9993 19.3756 29.9993 20.5008C29.9993 21.6277 29.7813 22.7043 29.3857 23.6871C28.9756 24.7068 28.3734 25.6244 27.6263 26.3929C26.8809 27.1598 25.9889 27.7793 24.9945 28.2012C24.0391 28.6081 22.9925 28.8325 21.8988 28.8325C20.8034 28.8325 19.7568 28.6081 18.8014 28.2012C17.8102 27.7793 16.9183 27.1598 16.1729 26.3929L16.1712 26.3912C15.4242 25.6227 14.8236 24.7052 14.4134 23.6871C14.2865 23.3707 14.1774 23.0459 14.0879 22.7127C14.2572 22.7294 14.4297 22.7378 14.6038 22.7378C14.9342 22.7378 15.2565 22.7076 15.5706 22.649C15.6227 22.8098 15.6797 22.9688 15.7415 23.1246C16.0785 23.9617 16.5732 24.7152 17.1885 25.3481C17.8037 25.981 18.5378 26.49 19.3499 26.8366C20.1328 27.1698 20.9938 27.3557 21.8988 27.3557C22.8037 27.3557 23.6631 27.1715 24.4476 26.8366C25.2614 26.49 25.9938 25.981 26.6091 25.3481C27.2243 24.7152 27.7191 23.9601 28.056 23.1246C28.3799 22.3192 28.5605 21.4334 28.5605 20.5025C28.5605 19.5715 28.3815 18.6875 28.056 17.8804C27.7191 17.0432 27.2243 16.2898 26.6091 15.6569C25.9938 15.024 25.2598 14.5149 24.4476 14.1684C23.6647 13.8352 22.8037 13.6493 21.8988 13.6493C20.9938 13.6493 20.1344 13.8335 19.3499 14.1684C19.2799 14.1985 19.21 14.2303 19.1416 14.2621C18.8747 13.8301 18.5524 13.4383 18.1829 13.0984C18.3848 12.9913 18.5915 12.8925 18.8014 12.8021C19.7601 12.3918 20.805 12.1675 21.9004 12.1675ZM20.971 16.5393C20.971 16.335 21.0524 16.1508 21.181 16.0169C21.3112 15.8829 21.4902 15.8009 21.6888 15.8009C21.8874 15.8009 22.0664 15.8829 22.1966 16.0169C22.3268 16.1508 22.4066 16.335 22.4066 16.5393V20.4271L25.2305 22.1501C25.3997 22.2539 25.5137 22.4196 25.5592 22.6021C25.6048 22.7847 25.5837 22.9856 25.4827 23.1597V23.1614C25.3818 23.3355 25.2207 23.4527 25.0433 23.4996C24.8659 23.5465 24.6706 23.5247 24.5013 23.4209H24.4997L21.3405 21.4937C21.2314 21.4318 21.1419 21.3413 21.0768 21.2342C21.0101 21.122 20.971 20.9897 20.971 20.8491V16.5393Z\" fill=\"#667085\"/>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.3913 12.6095C16.8164 12.6095 18.7826 14.6321 18.7826 17.1269C18.7826 19.6218 16.8164 21.6444 14.3913 21.6444C11.9661 21.6444 10 19.6218 10 17.1269C10 14.6321 11.9661 12.6095 14.3913 12.6095ZM14.3913 19.7172L16.748 16.7201H15.2848V15.1261H13.4977V16.7201H12.0345L14.3913 19.7172Z\" fill=\"#F04438\"/>\r\n </svg>\r\n </div>\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"my-1 card-label header\"> {{getCardData?.avgDownTime ? getCardData?.avgDownTime :'--'}} mins</div>\r\n <div class=\"sub-header\">Avg Down Time</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-5\">\r\n <div class=\"card mb-3\">\r\n <div class=\"card-header border-0 pt-3 ps-5\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label\">Zone Dwell Time Split <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1432_80035)\">\r\n <path d=\"M8.00065 10.6666V7.99992M8.00065 5.33325H8.00732M14.6673 7.99992C14.6673 11.6818 11.6826 14.6666 8.00065 14.6666C4.31875 14.6666 1.33398 11.6818 1.33398 7.99992C1.33398 4.31802 4.31875 1.33325 8.00065 1.33325C11.6826 1.33325 14.6673 4.31802 14.6673 7.99992Z\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1432_80035\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"text-sub mb-2\">31 May, 2024 – 06 Jun, 2024</span>\r\n </h3>\r\n \r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"text-center mb-3\" id=\"chartdiv\"></div>\r\n </div>\r\n </div>\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3 ps-5 pe-0\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label\">Recap Video <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1432_80035)\">\r\n <path d=\"M8.00065 10.6666V7.99992M8.00065 5.33325H8.00732M14.6673 7.99992C14.6673 11.6818 11.6826 14.6666 8.00065 14.6666C4.31875 14.6666 1.33398 11.6818 1.33398 7.99992C1.33398 4.31802 4.31875 1.33325 8.00065 1.33325C11.6826 1.33325 14.6673 4.31802 14.6673 7.99992Z\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1432_80035\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n \r\n \r\n </span>\r\n \r\n <span class=\"text-sub mb-2\">Dated: {{getRecapVideoData?.dateSring | date:' dd MMM,yyyy'}}</span>\r\n </h3>\r\n <div class=\"card-toolbar mt-0\">\r\n <button type=\"button\" \r\n class=\"btn btn-default btn-outline btn-outline-default rounded-3 text-nowrap border-val text-start\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"14\" viewBox=\"0 0 16 14\" fill=\"none\">\r\n <g id=\"Group\">\r\n <path id=\"Vector\" d=\"M9.51953 0.333984C10.3958 0.333984 11.2331 0.513477 11.9974 0.838974C12.7904 1.17653 13.5039 1.67214 14.1016 2.28697C14.6979 2.90046 15.1797 3.6345 15.5078 4.45293C15.8242 5.23922 15.9987 6.10051 15.9987 7.00065C15.9987 7.90213 15.8242 8.76343 15.5078 9.54971C15.1797 10.3655 14.6979 11.0995 14.1003 11.7143C13.5039 12.3278 12.7904 12.8234 11.9948 13.161C11.2305 13.4865 10.3932 13.666 9.51823 13.666C8.64193 13.666 7.80469 13.4865 7.04036 13.161C6.2474 12.8234 5.53385 12.3278 4.9375 11.7143L4.9362 11.713C4.33854 11.0982 3.85807 10.3641 3.52995 9.54971C3.42839 9.29655 3.34115 9.03668 3.26953 8.77013C3.40495 8.78352 3.54297 8.79022 3.68229 8.79022C3.94661 8.79022 4.20443 8.76611 4.45573 8.71922C4.4974 8.84782 4.54297 8.97507 4.59245 9.09964C4.86198 9.76939 5.25781 10.3722 5.75 10.8785C6.24219 11.3848 6.82943 11.792 7.47917 12.0693C8.10547 12.3359 8.79427 12.4845 9.51823 12.4845C10.2422 12.4845 10.9297 12.3372 11.5573 12.0693C12.2083 11.792 12.7943 11.3848 13.2865 10.8785C13.7786 10.3722 14.1745 9.76805 14.444 9.09964C14.7031 8.45534 14.8477 7.74675 14.8477 7.00199C14.8477 6.25723 14.7044 5.54998 14.444 4.90434C14.1745 4.23459 13.7786 3.63182 13.2865 3.12549C12.7943 2.61916 12.207 2.21196 11.5573 1.93468C10.931 1.66812 10.2422 1.51944 9.51823 1.51944C8.79427 1.51944 8.10677 1.66678 7.47917 1.93468C7.42318 1.95879 7.36719 1.98424 7.3125 2.00969C7.09896 1.6641 6.84115 1.35066 6.54557 1.07874C6.70703 0.993016 6.8724 0.913986 7.04036 0.841653C7.80729 0.513477 8.64323 0.333984 9.51953 0.333984ZM8.77604 3.83141C8.77604 3.66799 8.84115 3.52064 8.94401 3.41348C9.04818 3.30632 9.19141 3.24069 9.35026 3.24069C9.50911 3.24069 9.65234 3.30632 9.75651 3.41348C9.86068 3.52064 9.92448 3.66799 9.92448 3.83141V6.94171L12.1836 8.32005C12.319 8.4031 12.4102 8.53571 12.4466 8.68172C12.4831 8.82772 12.4661 8.98846 12.3854 9.12777V9.12911C12.3047 9.26842 12.1758 9.36218 12.0339 9.39969C11.8919 9.43719 11.7357 9.41978 11.6003 9.33673H11.599L9.07161 7.79497C8.98438 7.74541 8.91276 7.67308 8.86068 7.58735C8.80729 7.4976 8.77604 7.39178 8.77604 7.27927V3.83141Z\" fill=\"#667085\"/>\r\n <path id=\"Vector_2\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.51302 0.687622C5.45312 0.687622 7.02604 2.30573 7.02604 4.30158C7.02604 6.29743 5.45312 7.91554 3.51302 7.91554C1.57292 7.91554 0 6.29743 0 4.30158C0 2.30573 1.57292 0.687622 3.51302 0.687622ZM3.51302 6.37378L5.39844 3.97608H4.22786V2.70088H2.79818V3.97608H1.6276L3.51302 6.37378Z\" fill=\"#F04438\"/>\r\n </g>\r\n </svg>\r\n <span class=\"ms-2\">{{getRecapVideoData?.downTime ?? '--'}} Mins</span>\r\n </button>\r\n <button type=\"button\" \r\n class=\"btn btn-default ms-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g id=\"Frame\">\r\n <path id=\"Vector\" d=\"M13.4349 2.5C14.8238 2.5 15.9871 3.01389 16.9249 4.04167C17.8627 5.06944 18.3313 6.29167 18.3307 7.70833C18.3307 7.95833 18.3168 8.205 18.2891 8.44833C18.2613 8.69167 18.2127 8.93111 18.1432 9.16667H12.9349L11.5182 7.04167C11.4488 6.93056 11.3516 6.84028 11.2266 6.77083C11.1016 6.70139 10.9696 6.66667 10.8307 6.66667C10.6502 6.66667 10.4868 6.72222 10.3407 6.83333C10.1946 6.94444 10.0941 7.08333 10.0391 7.25L8.91406 10.625L8.1849 9.54167C8.11545 9.43056 8.01823 9.34028 7.89323 9.27083C7.76823 9.20139 7.63628 9.16667 7.4974 9.16667H1.85156C1.78212 8.93056 1.73351 8.69083 1.70573 8.4475C1.67795 8.20417 1.66406 7.96472 1.66406 7.72917C1.66406 6.29861 2.12934 5.06944 3.0599 4.04167C3.99045 3.01389 5.15017 2.5 6.53906 2.5C7.20573 2.5 7.83434 2.63194 8.4249 2.89583C9.01545 3.15972 9.53962 3.52778 9.9974 4C10.4418 3.52778 10.9593 3.15972 11.5499 2.89583C12.1405 2.63194 12.7688 2.5 13.4349 2.5ZM9.9974 17.5C9.7474 17.5 9.50767 17.4547 9.27823 17.3642C9.04878 17.2736 8.84406 17.1383 8.66406 16.9583L3.08073 11.3542C2.9974 11.2708 2.92101 11.1875 2.85156 11.1042C2.78212 11.0208 2.71267 10.9306 2.64323 10.8333H7.03906L8.45573 12.9583C8.52517 13.0694 8.6224 13.1597 8.7474 13.2292C8.8724 13.2986 9.00434 13.3333 9.14323 13.3333C9.32378 13.3333 9.49045 13.2778 9.64323 13.1667C9.79601 13.0556 9.90017 12.9167 9.95573 12.75L11.0807 9.375L11.7891 10.4583C11.8724 10.5694 11.9766 10.6597 12.1016 10.7292C12.2266 10.7986 12.3585 10.8333 12.4974 10.8333H17.3307L17.1224 11.0833L16.9141 11.3333L11.3099 16.9583C11.1293 17.1389 10.928 17.2744 10.7057 17.365C10.4835 17.4556 10.2474 17.5006 9.9974 17.5Z\" fill=\"#12B76A\"/>\r\n </g>\r\n </svg>\r\n <span class=\"ms-2\">GOOD</span>\r\n </button>\r\n <button type=\"button\" \r\n class=\"btn mx-2 btn-light-primary rounded-3 text-nowrap border-val\">\r\n <span class=\"ms-2\">Live View</span>\r\n </button>\r\n </div>\r\n \r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div class=\"row\">\r\n <!-- <div #mapContainer style=\"height:230px;\"></div> -->\r\n <div class=\"col-md-6 mb-3\"><img src=\"assets/tango/Images/recap.svg\" alt=\"\" class=\"recap-img\"></div>\r\n <div class=\"col-md-6 mb-3\"><img src=\"assets/tango/Images/recap.svg\" alt=\"\" class=\"recap-img\"></div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n <div class=\"col-md-12 mt-3\">\r\n <lib-traffic-charts class=\"my-2\"></lib-traffic-charts>\r\n \r\n <lib-traffic-card-charts class=\"my-2\"></lib-traffic-card-charts>\r\n <lib-image-doc class=\"my-2\"></lib-image-doc>\r\n </div>\r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"card h-100\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Performance Matrix <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1432_80035)\">\r\n <path\r\n d=\"M8.00065 10.6666V7.99992M8.00065 5.33325H8.00732M14.6673 7.99992C14.6673 11.6818 11.6826 14.6666 8.00065 14.6666C4.31875 14.6666 1.33398 11.6818 1.33398 7.99992C1.33398 4.31802 4.31875 1.33325 8.00065 1.33325C11.6826 1.33325 14.6673 4.31802 14.6673 7.99992Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1432_80035\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"text-sub mb-2\">31 May, 2024– 06 Jun, 2024</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <div class=\"nav-group nav-group-outline border-1 btn-group p-0\">\r\n <button class=\"btn btn-outline\"\r\n [ngClass]=\"type === 'daily'? 'activePlanBtn':'inactivePlanBtn'\"\r\n (click)=\"selectPlan('daily')\">\r\n Daily\r\n </button>\r\n \r\n <button class=\"btn btn-outline px-6 py-3\"\r\n [ngClass]=\"type === 'week'? 'activePlanBtn':'inactivePlanBtn'\"\r\n (click)=\"selectPlan('week')\">\r\n Week\r\n </button>\r\n <button class=\"btn btn-outline px-6 py-3\"\r\n [ngClass]=\"type === 'month'? 'activePlanBtn':'inactivePlanBtn'\"\r\n (click)=\"selectPlan('month')\">\r\n Month\r\n </button>\r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n </div>\r\n <div class=\"row mx-3 align-items-center w-50\">\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select-sm form-select me-2\">\r\n <option>Footfall</option>\r\n </select>\r\n <span class=\"mx-2\">Vs</span>\r\n <select class=\"form-select-sm form-select ms-2\">\r\n <option>Bounced Footfall</option>\r\n <option>Footfall</option>\r\n\r\n </select>\r\n </div>\r\n </div>\r\n \r\n <div class=\"card-body\">\r\n \r\n <div class=\"quadrant-chart z-1\">\r\n <div class=\"axis-labels\">\r\n <!-- X Axis Label -->\r\n <div class=\"x-axis-label\">\r\n <span>Bounced Footfall -></span>\r\n </div>\r\n <!-- Y Axis Label -->\r\n <div class=\"y-axis-label\">\r\n <span>Footfall -></span>\r\n </div>\r\n </div>\r\n <!-- Top Left Quadrant -->\r\n <div class=\"quadrant\" id=\"q1\">\r\n <span class=\"label\">High Footfall, Low Bounce</span>\r\n </div>\r\n \r\n <!-- Top Right Quadrant -->\r\n <div class=\"quadrant\" id=\"q2\">\r\n <span class=\"label\">High Footfall, High Bounce</span>\r\n </div>\r\n \r\n <!-- Bottom Left Quadrant -->\r\n <div class=\"quadrant\" id=\"q3\">\r\n <span class=\"label\">Low Footfall, Low Bounce</span>\r\n </div>\r\n \r\n <!-- Bottom Right Quadrant -->\r\n <div class=\"quadrant\" id=\"q4\">\r\n <span class=\"label\">Low Footfall, High Bounce</span>\r\n </div>\r\n \r\n <div *ngFor=\"let point of points\" class=\"point\" [ngStyle]=\"{'top': point.top, 'left': point.left}\">\r\n <span class=\"dot\" ></span>\r\n \r\n <!-- Clickable label that toggles the tooltip -->\r\n <span class=\"label z-1\" (click)=\"toggleTooltip(point.name)\">\r\n {{ point.name }}\r\n </span>\r\n \r\n <!-- Custom Tooltip Popup -->\r\n <div class=\"tooltip-popup z-5\" *ngIf=\"activeTooltip === point.name\">\r\n <div class=\"tooltip-content\">\r\n <h3 class=\"text-white\">{{ point.name }}</h3>\r\n <p>Avg Footfall: {{ point.avgFootfall }}</p>\r\n <p class=\"my-2\">Open Time: <strong>{{ point.openTime }}</strong></p>\r\n <p>Close Time: <strong>{{ point.closeTime }}</strong></p>\r\n </div>\r\n <div class=\"tooltip-arrow\"></div>\r\n </div>\r\n </div>\r\n <!-- Add more points here -->\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 mt-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header px-5 border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Zone Dwell Time Split <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1432_80035)\">\r\n <path\r\n d=\"M8.00065 10.6666V7.99992M8.00065 5.33325H8.00732M14.6673 7.99992C14.6673 11.6818 11.6826 14.6666 8.00065 14.6666C4.31875 14.6666 1.33398 11.6818 1.33398 7.99992C1.33398 4.31802 4.31875 1.33325 8.00065 1.33325C11.6826 1.33325 14.6673 4.31802 14.6673 7.99992Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1432_80035\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"text-sub mb-2\">31 May, 2024 – 06 Jun, 2024</span>\r\n </h3>\r\n \r\n </div>\r\n <div calss=\"card-body\">\r\n <img class=\"px-5 img-src mb-3\" src=\"assets/tango/Images/zone_imag.svg\" alt=\"\">\r\n \r\n <div class=\"row trax-bg m-3\">\r\n <div class=\"col-md-6 card-title mt-5\">\r\n <span class=\"card-label mt-10 mb-2 ms-2\">Tango Trax</span>\r\n <div class=\"d-flex align-items-center my-3 me-2\">\r\n <div class=\"mx-3 mt-1\">\r\n <div class=\"left-card-count-header\">Open Time</div>\r\n <div class=\"my-1 card-label left-card-count\">09:00 AM</div>\r\n </div>\r\n <div class=\"mx-5 mt-1\">\r\n <div class=\"left-card-count-header\">Close Time</div>\r\n <div class=\"my-1 card-label left-card-count\">10:00 PM</div>\r\n </div>\r\n </div>\r\n <div class=\"sub-header ms-3\">Lorem ipsum dolor ins spectra.Lorem ipsum dolor ins spectra.</div>\r\n <button type=\"button\" class=\"btn btn-primary mt-3 ms-3\">Explore</button>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <img class=\"ps-5 img-src1\" src=\"assets/tango/Images/sop-sideview.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 mt-3\">\r\n <div class=\"card mb-5\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Summary Table</span>\r\n <span class=\"text-sub mb-2\">31 May, 2024– 06 Jun, 2024</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <!-- filter Start -->\r\n <!-- <lib-filters [dataObject]=\"dataObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters> -->\r\n <!-- filter End -->\r\n <button type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M9.99935 4.16675V15.8334M4.16602 10.0001H15.8327\" stroke=\"#344054\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Sum</span> </button>\r\n <button type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 17.5H8.33333C5.58333 17.5 4.20833 17.5 3.35417 16.6458C2.5 15.7917 2.5 14.4167 2.5 11.6667V2.5M5 10H5.0075M7.49917 10H7.50583M9.9975 10H10.0042M12.4958 10H12.5033M14.9942 10H15.0017M17.4925 10H17.5\"\r\n stroke=\"#101828\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M5 5.83341C5.56083 4.89841 6.3225 4.16675 7.49417 4.16675C12.4467 4.16675 9.6625 14.1667 14.985 14.1667C16.165 14.1667 16.9217 13.4301 17.5 12.5001\"\r\n stroke=\"#101828\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Average</span> </button>\r\n <button type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div calss=\"card-body\">\r\n <div class=\"table-responsive\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Store Name <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'storeName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Store ID <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'storeId' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Footfall <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'footfallCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Bounced Footfall<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'bouncedCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Engagers <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'engagersCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Missed Opportunity<svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'missedOpportunityCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Potential Buyers <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'potentialBuyersCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Conversion Rate <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'conversionRate' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Avg.Dwell Time <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'avgDwellTime' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Avg.Dwell DownTime <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'avgInfraDowntime' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Bellow12 <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'bellow12' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">13-19 <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === '13-19' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">20-30 <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === '20-30' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">31-45 <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === '31-45' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">46-59 <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === '46-59' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">60 above <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === '60 above' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Male <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'male' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Female <svg width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"sortedColumn === 'female' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let obj of getSummaryTableData;let i=index;\">\r\n <td>{{obj.storeName}}</td>\r\n <td>{{obj.storeId}}</td>\r\n <td>{{obj.footfallCount}}</td>\r\n <td>{{obj.bouncedCount}}</td>\r\n <td>{{obj.engagersCount}}</td>\r\n <td>{{obj.missedOpportunityCount}}</td>\r\n <td>{{obj.potentialBuyersCount}}</td>\r\n <td>{{obj.conversionRate}}</td>\r\n <td>{{obj.avgDwellTime}}</td>\r\n <td>{{obj.avgInfraDowntime}}</td>\r\n <td>{{obj.bellow12}}</td>\r\n <td>{{obj['13-19']}}</td>\r\n <td>{{obj['20-30']}}</td>\r\n <td>{{obj['31-45']}}</td>\r\n <td>{{obj[\"46-59\"]}}</td>\r\n <td>{{obj[\"60 above\"]}}</td>\r\n <td>{{obj.male}}</td>\r\n <td>{{obj.female}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PageInfoService } from 'tango-app-ui-global';\r\n\r\n@Component({\r\n selector: 'lib-tango-analyse-traffic',\r\n templateUrl: './tango-analyse-traffic.component.html',\r\n styleUrl: './tango-analyse-traffic.component.scss'\r\n})\r\nexport class TangoAnalyseTrafficComponent implements OnInit {\r\n\r\n\r\n constructor(private pageInfo:PageInfoService){\r\n }\r\n \r\n ngOnInit(): void {\r\n this.setPageData()\r\n }\r\n\r\n setPageData(){\r\n this.pageInfo.setTitle('Traffic')\r\n this.pageInfo.setDescription('To optimize and improve existing algorithm')\r\n this.pageInfo.setBreadcrumbs([\r\n {title:'Analyze', path: '/manage/traffic', isActive: false, isSeparator: false},\r\n {title:'Analyze', path: '/manage/traffic', isActive: false, isSeparator: true},\r\n ])\r\n }\r\n}\r\n","<lib-traffic-analysis></lib-traffic-analysis>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { TangoAnalyseTrafficComponent } from './components/tango-analyse-traffic/tango-analyse-traffic.component';\r\n\r\nconst routes: Routes = [\r\n{\r\n path:'',\r\n component:TangoAnalyseTrafficComponent\r\n}\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class TangoAnalyseTrafficRoutingModule { }\r\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'lib-chart-detail-modal',\r\n templateUrl: './chart-detail-modal.component.html',\r\n styleUrl: './chart-detail-modal.component.scss'\r\n})\r\nexport class ChartDetailModalComponent implements AfterViewInit {\r\n @Input() data: any;\r\n @Input() clientX: number;\r\n @Input() clientY: number;\r\n constructor(public activeModal: NgbActiveModal,private el: ElementRef, private renderer: Renderer2) {}\r\n\r\n ngAfterViewInit(): void {\r\n setTimeout(() => {\r\n const modalElement = this.el.nativeElement.querySelector('.modal-content');\r\n if (modalElement) {\r\n const offsetX = 10; // Adjust as needed\r\n const offsetY = 10; // Adjust as needed\r\n this.renderer.setStyle(modalElement, 'position', 'absolute');\r\n this.renderer.setStyle(modalElement, 'left', `${this.clientX + offsetX}px`);\r\n this.renderer.setStyle(modalElement, 'top', `${this.clientY + offsetY}px`);\r\n // Check if modal goes out of view and adjust position if necessary\r\n this.adjustPosition(modalElement);\r\n }\r\n }, 0);\r\nconsole.log(this.data)\r\n }\r\n private adjustPosition(modalElement: HTMLElement) {\r\n const rect = modalElement.getBoundingClientRect();\r\n const viewportWidth = window.innerWidth;\r\n const viewportHeight = window.innerHeight;\r\n\r\n if (rect.right > viewportWidth) {\r\n this.renderer.setStyle(modalElement, 'left', `${viewportWidth - rect.width - 10}px`);\r\n }\r\n if (rect.bottom > viewportHeight) {\r\n this.renderer.setStyle(modalElement, 'top', `${viewportHeight - rect.height - 10}px`);\r\n }\r\n }\r\n}\r\n"," <div class=\"modal-body\">\r\n <div class=\"content\">\r\n <div class=\"container\">\r\n <div class=\"title text-start\">{{data.year}}</div>\r\n </div>\r\n <div class=\"grid-container\">\r\n <div class=\"grid-item label\">Total Footfall</div>\r\n <div class=\"grid-item value\">{{data.critical}}</div>\r\n <div class=\"grid-item label\">Bounced Footfall</div>\r\n <div class=\"grid-item value\">{{data.expenses}}</div>\r\n <div class=\"grid-item label\">Engagers</div>\r\n <div class=\"grid-item value\">{{data.info}}</div>\r\n <div class=\"grid-item label\">Avg Dwell Time</div>\r\n <div class=\"grid-item value\">34 Mins</div>\r\n <div class=\"grid-item label\">Conversion Rate</div>\r\n <div class=\"grid-item value\">{{data.warning}}%</div>\r\n <div class=\"grid-item label\">Missed Opportunities</div>\r\n <div class=\"grid-item value\">{{data.minor}}</div>\r\n <div class=\"grid-item label\">Down Time</div>\r\n <div class=\"grid-item value\">23%</div>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { TangoAnalyseTrafficRoutingModule } from './tango-analyse-traffic-routing.module';\r\nimport { TrafficAnalysisComponent } from './components/traffic-analysis/traffic-analysis.component';\r\nimport { TangoAnalyseTrafficComponent } from './components/tango-analyse-traffic/tango-analyse-traffic.component';\r\nimport { TrafficChartsComponent } from './components/traffic-charts/traffic-charts.component';\r\nimport { TrafficCardChartsComponent } from './components/traffic-card-charts/traffic-card-charts.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ImageDocComponent } from './components/image-doc/image-doc.component';\r\nimport { ChartDetailModalComponent } from './components/chart-detail-modal/chart-detail-modal.component';\r\nimport { ReactiveSelectComponent } from './components/reactive-select/reactive-select.component';\r\nimport { CommonSharedModule } from 'tango-app-ui-shared';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TrafficAnalysisComponent,TangoAnalyseTrafficComponent, TrafficChartsComponent, TrafficCardChartsComponent, ImageDocComponent, ChartDetailModalComponent, \r\n ReactiveSelectComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TangoAnalyseTrafficRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonSharedModule\r\n ]\r\n})\r\nexport class TangoAnalyseTrafficModule { }\r\n","/*\r\n * Public API Surface of tango-analyse-traffic\r\n */\r\n\r\nexport * from './lib/tango-analyse-traffic.module';\r\nexport * from './lib/components/tango-analyse-traffic/tango-analyse-traffic.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.TrafficService","i3","i4","i6.ReactiveSelectComponent","i1.TrafficService","i5","i6.TrafficChartsComponent","i7.TrafficCardChartsComponent","i8.ImageDocComponent","i2.TrafficAnalysisComponent"],"mappings":"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"}
|