{"version":3,"sources":["webpack:///./src/midone/components/simple-line-chart-1/Main.vue","webpack:///./src/midone/components/simple-line-chart-1/Main.vue?36ab","webpack:///./src/midone/components/simple-line-chart-1/Main.vue?e364","webpack:///./src/midone/views/dashboard/Main.vue","webpack:///./src/midone/components/report-donut-chart/Main.vue","webpack:///./src/midone/components/report-donut-chart/Main.vue?c5bd","webpack:///./src/midone/components/report-donut-chart/Main.vue?970a","webpack:///./src/midone/components/report-pie-chart/Main.vue","webpack:///./src/midone/components/report-pie-chart/Main.vue?fb7f","webpack:///./src/midone/components/report-pie-chart/Main.vue?087a","webpack:///./src/midone/components/report-map/Main.vue","webpack:///./src/midone/components/report-map/Main.vue?f3ac","webpack:///./src/midone/components/report-donut-chart-1/Main.vue","webpack:///./src/midone/components/report-donut-chart-1/Main.vue?c2b1","webpack:///./src/midone/components/report-donut-chart-1/Main.vue?6ea7","webpack:///./src/midone/views/dashboard/Main.vue?fb96","webpack:///./src/midone/views/dashboard/Main.vue?2c9e","webpack:///./src/midone/components/report-map/Main.vue?8a2a","webpack:///./src/midone/components/report-line-chart/Main.vue","webpack:///./src/midone/components/report-line-chart/Main.vue?18ca","webpack:///./src/midone/components/report-line-chart/Main.vue?dcfd","webpack:///./node_modules/@google/markerclusterer/dist/markerclusterer.esm.js"],"names":["type","width","height","data","options","props","Number","default","lineColor","String","setup","labels","datasets","label","borderWidth","borderColor","length","backgroundColor","pointBorderColor","legend","display","scales","xAxes","ticks","gridLines","yAxes","render","class","href","placeholder","tag","content","salesReportFilter","$_","take","$f","faker","fakerKey","key","alt","src","photos","users","name","dates","images","products","category","stocks","trueFalse","totals","prevImportantNotes","nextImportantNotes","refKey","store","current","model","darkMode","state","main","hoverBackgroundColor","value","cutoutPercentage","init","components","ReportLineChart","ReportDonutChart","ReportPieChart","ReportMap","ReportDonutChart1","SimpleLineChart1","importantNotesRef","el","tns","goTo","initializeMap","darkTheme","elementType","stylers","color","featureType","visibility","lightTheme","apiKey","config","google","zoom","styles","zoomControl","zoomControlOptions","position","maps","ControlPosition","LEFT_BOTTOM","streetViewControl","center","lat","lng","map","infoWindow","InfoWindow","minWidth","maxWidth","location","markerElem","point","LatLng","parseFloat","latitude","longitude","infowincontent","marker","Marker","icon","url","event","addListener","setContent","cash","closest","removeAttr","attr","parent","open","textColor","anchor","stop","borderDash","fontSize","fontColor","callback","zeroLineColor","zeroLineBorderDash","drawBorder","MarkerClusterer","opt_markers","opt_options","this","extend","OverlayView","map_","MARKER_CLUSTER_IMAGE_PATH_","MARKER_CLUSTER_IMAGE_EXTENSION_","markers_","clusters_","sizes","styles_","ready_","zIndex_","MAX_ZINDEX","gridSize_","minClusterSize_","maxZoom_","imagePath_","imageExtension_","zoomOnClick_","undefined","averageCenter_","setupStyles_","setMap","prevZoom_","getZoom","that","minZoom","maxZoom","Math","min","mapTypes","getMapTypeId","max","resetViewport","redraw","Object","keys","addMarkers","obj1","obj2","object","property","prototype","apply","setReady_","size","i","push","markers","getMarkers","bounds","LatLngBounds","getPosition","fitBounds","zIndex","numStyles","index","count","dv","parseInt","text","calculator","calculator_","opt_nodraw","pushMarkerTo_","isAdded","repaint","indexOf","m","splice","removed","removeMarker_","markersCopy","slice","r","ready","createClusters_","projection","getProjection","tr","getNorthEast","bl","getSouthWest","trPix","fromLatLngToDivPixel","x","y","blPix","ne","fromDivPixelToLatLng","sw","contains","opt_hide","cluster","remove","oldClusters","setTimeout","p1","p2","R","dLat","PI","dLon","a","sin","cos","c","atan2","sqrt","d","distance","clusterToAddTo","getCenter","distanceBetweenPoints_","isMarkerInClusterBounds","addMarker","newCluster","Cluster","mapBounds","getBounds","getExtendedBounds","isMarkerInBounds_","addToClosestCluster_","markerClusterer","markerClusterer_","getMap","getGridSize","getMinClusterSize","isAverageCenter","center_","bounds_","clusterIcon_","ClusterIcon","getStyles","isMarkerAlreadyAdded","l","calculateBounds_","len","updateIcon","mz","getMaxZoom","hide","sums","getCalculator","setCenter","setSums","show","opt_padding","getMarkerClusterer","padding_","cluster_","div_","sums_","visible_","clusterBounds","trigger","isZoomOnClick","document","createElement","pos","getPosFromLatLng_","style","cssText","createCss","innerHTML","panes","getPanes","overlayMouseTarget","appendChild","addDomListener","triggerClusterClick","latlng","width_","height_","top","left","parentNode","removeChild","text_","index_","useStyle","url_","textColor_","anchor_","textSize_","backgroundPosition_","getZIndex","backgroundPosition","txtColor","txtSize","join"],"mappings":"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,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,eACbH,YAAa,SACbC,QAAS,CACP,CACEG,WAAY,SAIlB,CACED,YAAa,eACbH,YAAa,mBACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,aACbF,QAAS,CACP,CACEG,WAAY,SAIlB,CACED,YAAa,aACbH,YAAa,SACbC,QAAS,CACP,CACEG,WAAY,SAIlB,CACED,YAAa,UACbH,YAAa,WACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,eACbH,YAAa,WACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,eACbH,YAAa,gBACbC,QAAS,CACP,CACEG,WAAY,SAIlB,CACED,YAAa,kBACbH,YAAa,WACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,kBACbH,YAAa,gBACbC,QAAS,CACP,CACEG,WAAY,SAIlB,CACED,YAAa,kBACbH,YAAa,mBACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,QACbH,YAAa,WACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,QACbH,YAAa,gBACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,QACbH,YAAa,mBACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,QACbH,YAAa,qBACbC,QAAS,CACP,CACEC,MAAO,cAKTG,EAAa,CACjB,CACEL,YAAa,WACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEF,YAAa,cACbC,QAAS,CACP,CACEG,WAAY,SAIlB,CACEJ,YAAa,mBACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEF,YAAa,qBACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,6BACbH,YAAa,SACbC,QAAS,CACP,CACEG,WAAY,SAIlB,CACED,YAAa,6BACbH,YAAa,mBACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,MACbH,YAAa,WACbC,QAAS,CACP,CACEC,MAAO,aAIb,CACEC,YAAa,MACbH,YAAa,cACbC,QAAS,CACP,CACEG,WAAY,SAIlB,CACED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","file":"js/chunk-4cf0b4d4.13fa90e7.js","sourcesContent":["\n\n\n","\nimport { defineComponent, computed } from 'vue'\n\nexport default defineComponent({\n props: {\n width: {\n type: Number,\n default: 0\n },\n height: {\n type: Number,\n default: 0\n },\n lineColor: {\n type: String,\n default: ''\n }\n },\n setup (props) {\n const data = computed(() => {\n return {\n labels: [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec'\n ],\n datasets: [\n {\n label: '# of Votes',\n data: [0, 200, 250, 200, 500, 450, 850, 1050, 950, 1100, 900, 1200],\n borderWidth: 2,\n borderColor: props.lineColor.length ? props.lineColor : '#3160D8',\n backgroundColor: 'transparent',\n pointBorderColor: 'transparent'\n }\n ]\n }\n })\n const options = computed(() => {\n return {\n legend: {\n display: false\n },\n scales: {\n xAxes: [\n {\n ticks: {\n display: false\n },\n gridLines: {\n display: false\n }\n }\n ],\n yAxes: [\n {\n ticks: {\n display: false\n },\n gridLines: {\n display: false\n }\n }\n ]\n }\n }\n })\n\n return {\n data,\n options\n }\n }\n})\n","import { render } from \"./Main.vue?vue&type=template&id=5689e5aa\"\nimport script from \"./Main.vue?vue&type=script&lang=ts\"\nexport * from \"./Main.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n","\n\n\n","\nimport context from '@cloudfun/core'\nimport { defineComponent, computed } from 'vue'\n\nexport default defineComponent({\n props: {\n width: {\n type: Number,\n default: 0\n },\n height: {\n type: Number,\n default: 0\n }\n },\n setup () {\n const store = context.current?.model\n const darkMode = computed(() => store?.state.main.darkMode)\n const data = computed(() => {\n return {\n labels: ['Yellow', 'Dark'],\n datasets: [\n {\n data: [15, 10, 65],\n backgroundColor: ['#FF8B26', '#FFC533', '#285FD3'],\n hoverBackgroundColor: ['#FF8B26', '#FFC533', '#285FD3'],\n borderWidth: 5,\n borderColor: darkMode.value ? '#303953' : '#fff'\n }\n ]\n }\n })\n const options = computed(() => {\n return {\n legend: {\n display: false\n },\n cutoutPercentage: 80\n }\n })\n\n return {\n data,\n options\n }\n }\n})\n","import { render } from \"./Main.vue?vue&type=template&id=58230e97\"\nimport script from \"./Main.vue?vue&type=script&lang=ts\"\nexport * from \"./Main.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n","\nimport context from '@cloudfun/core'\nimport { defineComponent, computed } from 'vue'\n\nexport default defineComponent({\n props: {\n width: {\n type: Number,\n default: 0\n },\n height: {\n type: Number,\n default: 0\n }\n },\n setup () {\n const store = context.current?.model\n const darkMode = computed(() => store?.state.main.darkMode)\n const data = computed(() => {\n return {\n labels: ['Yellow', 'Dark'],\n datasets: [\n {\n data: [15, 10, 65],\n backgroundColor: ['#FF8B26', '#FFC533', '#285FD3'],\n hoverBackgroundColor: ['#FF8B26', '#FFC533', '#285FD3'],\n borderWidth: 5,\n borderColor: darkMode.value ? '#303953' : '#fff'\n }\n ]\n }\n })\n const options = computed(() => {\n return {\n legend: {\n display: false\n }\n }\n })\n\n return {\n data,\n options\n }\n }\n})\n","import { render } from \"./Main.vue?vue&type=template&id=13e353dd\"\nimport script from \"./Main.vue?vue&type=script&lang=ts\"\nexport * from \"./Main.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./Main.vue?vue&type=template&id=99f25480\"\nimport script from \"./Main.vue?vue&type=script&lang=ts\"\nexport * from \"./Main.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n","\nimport context from '@cloudfun/core'\nimport { defineComponent, computed } from 'vue'\n\nexport default defineComponent({\n props: {\n width: {\n type: Number,\n default: 0\n },\n height: {\n type: Number,\n default: 0\n }\n },\n setup () {\n const store = context.current?.model\n const darkMode = computed(() => store?.state.main.darkMode)\n const data = computed(() => {\n return {\n labels: ['Yellow', 'Dark'],\n datasets: [\n {\n data: [15, 10, 65],\n backgroundColor: ['#FF8B26', '#FFC533', '#285FD3'],\n hoverBackgroundColor: ['#FF8B26', '#FFC533', '#285FD3'],\n borderWidth: 2,\n borderColor: darkMode.value ? '#303953' : '#fff'\n }\n ]\n }\n })\n const options = computed(() => {\n return {\n legend: {\n display: false\n },\n cutoutPercentage: 83\n }\n })\n\n return {\n data,\n options\n }\n }\n})\n","import { render } from \"./Main.vue?vue&type=template&id=0d04ef73\"\nimport script from \"./Main.vue?vue&type=script&lang=ts\"\nexport * from \"./Main.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\nimport { defineComponent, ref, provide } from 'vue'\nimport ReportLineChart from '@/midone/components/report-line-chart/Main.vue'\nimport ReportDonutChart from '@/midone/components/report-donut-chart/Main.vue'\nimport ReportPieChart from '@/midone/components/report-pie-chart/Main.vue'\nimport ReportMap from '@/midone/components/report-map/Main.vue'\nimport ReportDonutChart1 from '@/midone/components/report-donut-chart-1/Main.vue'\nimport SimpleLineChart1 from '@/midone/components/simple-line-chart-1/Main.vue'\n\nexport default defineComponent({\n components: {\n ReportLineChart,\n ReportDonutChart,\n ReportPieChart,\n ReportMap,\n ReportDonutChart1,\n SimpleLineChart1\n },\n setup () {\n const salesReportFilter = ref('')\n const importantNotesRef = ref()\n\n provide('bind[importantNotesRef]', (el: HTMLElement) => {\n importantNotesRef.value = el\n })\n\n const prevImportantNotes = () => {\n const el: any = importantNotesRef.value\n el.tns.goTo('prev')\n }\n const nextImportantNotes = () => {\n const el: any = importantNotesRef.value\n el.tns.goTo('next')\n }\n\n return {\n salesReportFilter,\n prevImportantNotes,\n nextImportantNotes\n }\n }\n})\n","import { render } from \"./Main.vue?vue&type=template&id=e03c219e\"\nimport script from \"./Main.vue?vue&type=script&lang=ts\"\nexport * from \"./Main.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\nimport { defineComponent, watch, computed } from 'vue'\nimport MarkerClusterer from '@google/markerclusterer'\nimport { MapConfig, MapInstance } from '@/global-components/google-map-loader'\nimport context from '@cloudfun/core'\n\nexport default defineComponent({\n props: {\n width: {\n type: Number,\n default: 0\n },\n height: {\n type: Number,\n default: 0\n }\n },\n setup () {\n const store = context.current?.model\n const darkMode = computed(() => store?.state.main.darkMode)\n const init = async (initializeMap: (config: MapConfig) => MapInstance) => {\n const darkTheme = [\n {\n elementType: 'geometry',\n stylers: [\n {\n color: '#242f3e'\n }\n ]\n },\n {\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#746855'\n }\n ]\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [\n {\n color: '#242f3e'\n }\n ]\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#bdbdbd'\n }\n ]\n },\n {\n featureType: 'administrative.locality',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#d59563'\n }\n ]\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [\n {\n color: '#eeeeee'\n }\n ]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#d59563'\n }\n ]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [\n {\n color: '#263c3f'\n }\n ]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry.fill',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#6b9a76'\n }\n ]\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [\n {\n color: '#38414e'\n }\n ]\n },\n {\n featureType: 'road',\n elementType: 'geometry.stroke',\n stylers: [\n {\n color: '#212a37'\n }\n ]\n },\n {\n featureType: 'road',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#9ca5b3'\n }\n ]\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#757575'\n }\n ]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [\n {\n color: '#746855'\n }\n ]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.stroke',\n stylers: [\n {\n color: '#1f2835'\n }\n ]\n },\n {\n featureType: 'road.highway',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#f3d19c'\n }\n ]\n },\n {\n featureType: 'road.local',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road.local',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'transit',\n elementType: 'geometry',\n stylers: [\n {\n color: '#2f3948'\n }\n ]\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry',\n stylers: [\n {\n color: '#e5e5e5'\n }\n ]\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry.fill',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [\n {\n color: '#eeeeee'\n }\n ]\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry.fill',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'transit.station',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#d59563'\n }\n ]\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [\n {\n color: '#17263c'\n }\n ]\n },\n {\n featureType: 'water',\n elementType: 'geometry.fill',\n stylers: [\n {\n color: '#171f29'\n }\n ]\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#515c6d'\n }\n ]\n },\n {\n featureType: 'water',\n elementType: 'labels.text.stroke',\n stylers: [\n {\n color: '#17263c'\n }\n ]\n }\n ]\n const lightTheme = [\n {\n elementType: 'geometry',\n stylers: [\n {\n color: '#f5f5f5'\n }\n ]\n },\n {\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#616161'\n }\n ]\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [\n {\n color: '#f5f5f5'\n }\n ]\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#bdbdbd'\n }\n ]\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [\n {\n color: '#eeeeee'\n }\n ]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#757575'\n }\n ]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [\n {\n color: '#e5e5e5'\n }\n ]\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry.fill',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#9e9e9e'\n }\n ]\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [\n {\n color: '#ffffff'\n }\n ]\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#757575'\n }\n ]\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [\n {\n color: '#dadada'\n }\n ]\n },\n {\n featureType: 'road.highway',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#616161'\n }\n ]\n },\n {\n featureType: 'road.local',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road.local',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road.local',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#9e9e9e'\n }\n ]\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry',\n stylers: [\n {\n color: '#e5e5e5'\n }\n ]\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry.fill',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [\n {\n color: '#eeeeee'\n }\n ]\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry.fill',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [\n {\n color: '#c9c9c9'\n }\n ]\n },\n {\n featureType: 'water',\n elementType: 'geometry.fill',\n stylers: [\n {\n color: '#e0e3e8'\n }\n ]\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#9e9e9e'\n }\n ]\n }\n ]\n const { google, map }: any = await initializeMap({\n apiKey: '',\n config (google: any) {\n return {\n zoom: 10,\n styles: darkMode.value ? darkTheme : lightTheme,\n zoomControl: true,\n zoomControlOptions: {\n position: google.maps.ControlPosition.LEFT_BOTTOM\n },\n streetViewControl: false,\n center: {\n lat: -6.2425342,\n lng: 106.8626478\n }\n }\n }\n })\n\n const infoWindow = new google.maps.InfoWindow({\n minWidth: 400,\n maxWidth: 400\n })\n\n const location = await require('@/midone/assets/json/location.json')\n new MarkerClusterer(\n map,\n location.map(function (markerElem: any) {\n const point = new google.maps.LatLng(\n parseFloat(markerElem.latitude),\n parseFloat(markerElem.longitude)\n )\n const infowincontent = `\n
\n ${markerElem.name}\n
\n
\n Latitude: ${markerElem.latitude}, Longitude: ${markerElem.longitude}\n
`\n const marker = new google.maps.Marker({\n map: map,\n position: point,\n icon: {\n url: require('@/midone/assets/images/map-marker.png')\n }\n })\n\n google.maps.event.addListener(marker, 'click', function () {\n infoWindow.setContent(infowincontent)\n google.maps.event.addListener(infoWindow, 'domready', function () {\n cash('.arrow_box').closest('.gm-style-iw-d').removeAttr('style')\n cash('.arrow_box')\n .closest('.gm-style-iw-d')\n .attr('style', 'overflow:visible')\n cash('.arrow_box')\n .closest('.gm-style-iw-d')\n .parent()\n .removeAttr('style')\n })\n\n infoWindow.open(map, marker)\n })\n return marker\n }),\n {\n styles: [\n {\n width: 51,\n height: 50,\n textColor: 'white',\n url: require('@/midone/assets/images/map-marker-region.png'),\n anchor: [0, 0]\n }\n ]\n }\n )\n\n const stop = watch(darkMode, () => {\n init(initializeMap)\n stop()\n })\n }\n\n return {\n init\n }\n }\n})\n","\n\n\n","\nimport context from '@cloudfun/core'\nimport { defineComponent, computed } from 'vue'\n\nexport default defineComponent({\n props: {\n width: {\n type: Number,\n default: 0\n },\n height: {\n type: Number,\n default: 0\n }\n },\n setup () {\n const store = context.current?.model\n const darkMode = computed(() => store?.state.main.darkMode)\n const data = computed(() => {\n return {\n labels: [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec'\n ],\n datasets: [\n {\n label: '# of Votes',\n data: [0, 200, 250, 200, 500, 450, 850, 1050, 950, 1100, 900, 1200],\n borderWidth: 2,\n borderColor: '#3160D8',\n backgroundColor: 'transparent',\n pointBorderColor: 'transparent'\n },\n {\n label: '# of Votes',\n data: [0, 300, 400, 560, 320, 600, 720, 850, 690, 805, 1200, 1010],\n borderWidth: 2,\n borderDash: [2, 2],\n borderColor: '#a0afbf',\n backgroundColor: 'transparent',\n pointBorderColor: 'transparent'\n }\n ]\n }\n })\n const options = computed(() => {\n return {\n legend: {\n display: false\n },\n scales: {\n xAxes: [\n {\n ticks: {\n fontSize: '12',\n fontColor: darkMode.value ? '#718096' : '#777777'\n },\n gridLines: {\n display: false\n }\n }\n ],\n yAxes: [\n {\n ticks: {\n fontSize: '12',\n fontColor: darkMode.value ? '#718096' : '#777777',\n callback: function (value: number) {\n return '$' + value\n }\n },\n gridLines: {\n color: darkMode.value ? '#718096' : '#D8D8D8',\n zeroLineColor: darkMode.value ? '#718096' : '#D8D8D8',\n borderDash: [2, 2],\n zeroLineBorderDash: [2, 2],\n drawBorder: false\n }\n }\n ]\n }\n }\n })\n\n return {\n data,\n options\n }\n }\n})\n","import { render } from \"./Main.vue?vue&type=template&id=b72f0d2e\"\nimport script from \"./Main.vue?vue&type=script&lang=ts\"\nexport * from \"./Main.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","/**\n * Copyright 2019 Google LLC. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @name MarkerClusterer for Google Maps v3\n * @author Luke Mahe\n * @fileoverview\n * The library creates and manages per-zoom-level clusters for large amounts of\n * markers.\n */\n\n/**\n * A Marker Clusterer that clusters markers.\n *\n * @param {google.maps.Map} map The Google map to attach to.\n * @param {Array.=} opt_markers Optional markers to add to\n * the cluster.\n * @param {Object=} opt_options support the following options:\n * 'gridSize': (number) The grid size of a cluster in pixels.\n * 'maxZoom': (number) The maximum zoom level that a marker can be part of a\n * cluster.\n * 'zoomOnClick': (boolean) Whether the default behaviour of clicking on a\n * cluster is to zoom into it.\n * 'imagePath': (string) The base URL where the images representing\n * clusters will be found. The full URL will be:\n * {imagePath}[1-5].{imageExtension}\n * Default: '../images/m'.\n * 'imageExtension': (string) The suffix for images URL representing\n * clusters will be found. See _imagePath_ for details.\n * Default: 'png'.\n * 'averageCenter': (boolean) Whether the center of each cluster should be\n * the average of all markers in the cluster.\n * 'minimumClusterSize': (number) The minimum number of markers to be in a\n * cluster before the markers are hidden and a count\n * is shown.\n * 'zIndex': (number) the z-index of a cluster.\n * Default: google.maps.Marker.MAX_ZINDEX + 1\n * 'styles': (Array.) An Array of single object that has style properties for all cluster:\n * 'url': (string) The image url.\n * 'height': (number) The image height.\n * 'width': (number) The image width.\n * 'anchor': (Array) The anchor position of the label text.\n * 'textColor': (string) The text color.\n * 'textSize': (number) The text size.\n * 'backgroundPosition': (string) The position of the backgound x, y.\n * @constructor\n * @extends google.maps.OverlayView\n */\n\nclass MarkerClusterer {\n constructor(map, opt_markers, opt_options) {\n this.extend(MarkerClusterer, google.maps.OverlayView);\n this.map_ = map;\n\n /**\n * The marker cluster image path.\n *\n * @type {string}\n * @private\n */\n this.MARKER_CLUSTER_IMAGE_PATH_ = \"../images/m\";\n\n /**\n * The marker cluster image path.\n *\n * @type {string}\n * @private\n */\n this.MARKER_CLUSTER_IMAGE_EXTENSION_ = \"png\";\n /**\n * @type {Array.}\n * @private\n */\n this.markers_ = [];\n\n /**\n * @type {Array.}\n */\n this.clusters_ = [];\n\n this.sizes = [53, 56, 66, 78, 90];\n\n /**\n * @type {Array.}\n * @private\n */\n this.styles_ = [];\n\n /**\n * @type {boolean}\n * @private\n */\n this.ready_ = false;\n\n var options = opt_options || {};\n\n /**\n * @type {number}\n */\n this.zIndex_ = options[\"zIndex\"] || google.maps.Marker.MAX_ZINDEX + 1;\n\n /**\n * @type {number}\n * @private\n */\n this.gridSize_ = options[\"gridSize\"] || 60;\n\n /**\n * @private\n */\n this.minClusterSize_ = options[\"minimumClusterSize\"] || 2;\n\n /**\n * @type {?number}\n * @private\n */\n this.maxZoom_ = options[\"maxZoom\"] || null;\n\n this.styles_ = options[\"styles\"] || [];\n\n /**\n * @type {string}\n * @private\n */\n this.imagePath_ = options[\"imagePath\"] || this.MARKER_CLUSTER_IMAGE_PATH_;\n\n /**\n * @type {string}\n * @private\n */\n this.imageExtension_ =\n options[\"imageExtension\"] || this.MARKER_CLUSTER_IMAGE_EXTENSION_;\n\n /**\n * @type {boolean}\n * @private\n */\n this.zoomOnClick_ = true;\n\n if (options[\"zoomOnClick\"] != undefined) {\n this.zoomOnClick_ = options[\"zoomOnClick\"];\n }\n\n /**\n * @type {boolean}\n * @private\n */\n this.averageCenter_ = false;\n\n if (options[\"averageCenter\"] != undefined) {\n this.averageCenter_ = options[\"averageCenter\"];\n }\n\n this.setupStyles_();\n\n this.setMap(map);\n\n /**\n * @type {number}\n * @private\n */\n this.prevZoom_ = this.map_.getZoom();\n\n // Add the map event listeners\n var that = this;\n google.maps.event.addListener(this.map_, \"zoom_changed\", function() {\n // Determines map type and prevent illegal zoom levels\n var zoom = that.map_.getZoom();\n var minZoom = that.map_.minZoom || 0;\n var maxZoom = Math.min(\n that.map_.maxZoom || 100,\n that.map_.mapTypes[that.map_.getMapTypeId()].maxZoom\n );\n zoom = Math.min(Math.max(zoom, minZoom), maxZoom);\n\n if (that.prevZoom_ != zoom) {\n that.prevZoom_ = zoom;\n that.resetViewport();\n }\n });\n\n google.maps.event.addListener(this.map_, \"idle\", function() {\n that.redraw();\n });\n\n // Finally, add the markers\n if (\n opt_markers &&\n (opt_markers.length || Object.keys(opt_markers).length)\n ) {\n this.addMarkers(opt_markers, false);\n }\n }\n\n /**\n * Extends a objects prototype by anothers.\n *\n * @param {Object} obj1 The object to be extended.\n * @param {Object} obj2 The object to extend with.\n * @return {Object} The new extended object.\n * @ignore\n */\n extend(obj1, obj2) {\n return function(object) {\n for (var property in object.prototype) {\n this.prototype[property] = object.prototype[property];\n }\n return this;\n }.apply(obj1, [obj2]);\n }\n\n /**\n * Implementaion of the interface method.\n * @ignore\n */\n onAdd() {\n this.setReady_(true);\n }\n\n /**\n * Implementaion of the interface method.\n * @ignore\n */\n draw() {}\n\n /**\n * Sets up the styles object.\n *\n * @private\n */\n setupStyles_() {\n if (this.styles_.length) {\n return;\n }\n\n for (var i = 0, size; (size = this.sizes[i]); i++) {\n this.styles_.push({\n url: this.imagePath_ + (i + 1) + \".\" + this.imageExtension_,\n height: size,\n width: size\n });\n }\n }\n\n /**\n * Fit the map to the bounds of the markers in the clusterer.\n */\n fitMapToMarkers() {\n var markers = this.getMarkers();\n var bounds = new google.maps.LatLngBounds();\n for (var i = 0, marker; (marker = markers[i]); i++) {\n bounds.extend(marker.getPosition());\n }\n\n this.map_.fitBounds(bounds);\n }\n\n /**\n * @param {number} zIndex\n */\n setZIndex(zIndex) {\n this.zIndex_ = zIndex;\n }\n\n /**\n * @return {number}\n */\n getZIndex() {\n return this.zIndex_;\n }\n\n /**\n * Sets the styles.\n *\n * @param {Object} styles The style to set.\n */\n setStyles(styles) {\n this.styles_ = styles;\n }\n\n /**\n * Gets the styles.\n *\n * @return {Object} The styles object.\n */\n getStyles() {\n return this.styles_;\n }\n\n /**\n * Whether zoom on click is set.\n *\n * @return {boolean} True if zoomOnClick_ is set.\n */\n isZoomOnClick() {\n return this.zoomOnClick_;\n }\n\n /**\n * Whether average center is set.\n *\n * @return {boolean} True if averageCenter_ is set.\n */\n isAverageCenter() {\n return this.averageCenter_;\n }\n\n /**\n * Returns the array of markers in the clusterer.\n *\n * @return {Array.} The markers.\n */\n getMarkers() {\n return this.markers_;\n }\n\n /**\n * Returns the number of markers in the clusterer\n *\n * @return {Number} The number of markers.\n */\n getTotalMarkers() {\n return this.markers_.length;\n }\n\n /**\n * Sets the max zoom for the clusterer.\n *\n * @param {number} maxZoom The max zoom level.\n */\n setMaxZoom(maxZoom) {\n this.maxZoom_ = maxZoom;\n }\n\n /**\n * Gets the max zoom for the clusterer.\n *\n * @return {number} The max zoom level.\n */\n getMaxZoom() {\n return this.maxZoom_;\n }\n\n /**\n * The function for calculating the cluster icon image.\n *\n * @param {Array.} markers The markers in the clusterer.\n * @param {number} numStyles The number of styles available.\n * @return {Object} A object properties: 'text' (string) and 'index' (number).\n * @private\n */\n calculator_(markers, numStyles) {\n var index = 0;\n var count = markers.length;\n var dv = count;\n while (dv !== 0) {\n dv = parseInt(dv / 10, 10);\n index++;\n }\n\n index = Math.min(index, numStyles);\n return {\n text: count,\n index: index\n };\n }\n\n /**\n * Set the calculator function.\n *\n * @param {function(Array, number)} calculator The function to set as the\n * calculator. The function should return a object properties:\n * 'text' (string) and 'index' (number).\n *\n */\n setCalculator(calculator) {\n this.calculator_ = calculator;\n }\n\n /**\n * Get the calculator function.\n *\n * @return {function(Array, number)} the calculator function.\n */\n getCalculator() {\n return this.calculator_;\n }\n\n /**\n * Add an array of markers to the clusterer.\n *\n * @param {Array.} markers The markers to add.\n * @param {boolean=} opt_nodraw Whether to redraw the clusters.\n */\n addMarkers(markers, opt_nodraw) {\n if (markers.length) {\n for (let i = 0, marker; (marker = markers[i]); i++) {\n this.pushMarkerTo_(marker);\n }\n } else if (Object.keys(markers).length) {\n for (let marker in markers) {\n this.pushMarkerTo_(markers[marker]);\n }\n }\n if (!opt_nodraw) {\n this.redraw();\n }\n }\n\n /**\n * Pushes a marker to the clusterer.\n *\n * @param {google.maps.Marker} marker The marker to add.\n * @private\n */\n pushMarkerTo_(marker) {\n marker.isAdded = false;\n if (marker[\"draggable\"]) {\n // If the marker is draggable add a listener so we update the clusters on\n // the drag end.\n var that = this;\n google.maps.event.addListener(marker, \"dragend\", function() {\n marker.isAdded = false;\n that.repaint();\n });\n }\n this.markers_.push(marker);\n }\n\n /**\n * Adds a marker to the clusterer and redraws if needed.\n *\n * @param {google.maps.Marker} marker The marker to add.\n * @param {boolean=} opt_nodraw Whether to redraw the clusters.\n */\n addMarker(marker, opt_nodraw) {\n this.pushMarkerTo_(marker);\n if (!opt_nodraw) {\n this.redraw();\n }\n }\n\n /**\n * Removes a marker and returns true if removed, false if not\n *\n * @param {google.maps.Marker} marker The marker to remove\n * @return {boolean} Whether the marker was removed or not\n * @private\n */\n removeMarker_(marker) {\n var index = -1;\n if (this.markers_.indexOf) {\n index = this.markers_.indexOf(marker);\n } else {\n for (var i = 0, m; (m = this.markers_[i]); i++) {\n if (m == marker) {\n index = i;\n break;\n }\n }\n }\n\n if (index == -1) {\n // Marker is not in our list of markers.\n return false;\n }\n\n marker.setMap(null);\n\n this.markers_.splice(index, 1);\n\n return true;\n }\n\n /**\n * Remove a marker from the cluster.\n *\n * @param {google.maps.Marker} marker The marker to remove.\n * @param {boolean=} opt_nodraw Optional boolean to force no redraw.\n * @return {boolean} True if the marker was removed.\n */\n removeMarker(marker, opt_nodraw) {\n var removed = this.removeMarker_(marker);\n\n if (!opt_nodraw && removed) {\n this.resetViewport();\n this.redraw();\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * Removes an array of markers from the cluster.\n *\n * @param {Array.} markers The markers to remove.\n * @param {boolean=} opt_nodraw Optional boolean to force no redraw.\n */\n removeMarkers(markers, opt_nodraw) {\n // create a local copy of markers if required\n // (removeMarker_ modifies the getMarkers() array in place)\n var markersCopy = markers === this.getMarkers() ? markers.slice() : markers;\n var removed = false;\n\n for (var i = 0, marker; (marker = markersCopy[i]); i++) {\n var r = this.removeMarker_(marker);\n removed = removed || r;\n }\n\n if (!opt_nodraw && removed) {\n this.resetViewport();\n this.redraw();\n return true;\n }\n }\n\n /**\n * Sets the clusterer's ready state.\n *\n * @param {boolean} ready The state.\n * @private\n */\n setReady_(ready) {\n if (!this.ready_) {\n this.ready_ = ready;\n this.createClusters_();\n }\n }\n\n /**\n * Returns the number of clusters in the clusterer.\n *\n * @return {number} The number of clusters.\n */\n getTotalClusters() {\n return this.clusters_.length;\n }\n\n /**\n * Returns the google map that the clusterer is associated with.\n *\n * @return {google.maps.Map} The map.\n */\n getMap() {\n return this.map_;\n }\n\n /**\n * Sets the google map that the clusterer is associated with.\n *\n * @param {google.maps.Map} map The map.\n */\n setMap(map) {\n this.map_ = map;\n }\n\n /**\n * Returns the size of the grid.\n *\n * @return {number} The grid size.\n */\n getGridSize() {\n return this.gridSize_;\n }\n\n /**\n * Sets the size of the grid.\n *\n * @param {number} size The grid size.\n */\n setGridSize(size) {\n this.gridSize_ = size;\n }\n\n /**\n * Returns the min cluster size.\n *\n * @return {number} The grid size.\n */\n getMinClusterSize() {\n return this.minClusterSize_;\n }\n\n /**\n * Sets the min cluster size.\n *\n * @param {number} size The grid size.\n */\n setMinClusterSize(size) {\n this.minClusterSize_ = size;\n }\n\n /**\n * Extends a bounds object by the grid size.\n *\n * @param {google.maps.LatLngBounds} bounds The bounds to extend.\n * @return {google.maps.LatLngBounds} The extended bounds.\n */\n getExtendedBounds(bounds) {\n var projection = this.getProjection();\n\n // Turn the bounds into latlng.\n var tr = new google.maps.LatLng(\n bounds.getNorthEast().lat(),\n bounds.getNorthEast().lng()\n );\n var bl = new google.maps.LatLng(\n bounds.getSouthWest().lat(),\n bounds.getSouthWest().lng()\n );\n\n // Convert the points to pixels and the extend out by the grid size.\n var trPix = projection.fromLatLngToDivPixel(tr);\n trPix.x += this.gridSize_;\n trPix.y -= this.gridSize_;\n\n var blPix = projection.fromLatLngToDivPixel(bl);\n blPix.x -= this.gridSize_;\n blPix.y += this.gridSize_;\n\n // Convert the pixel points back to LatLng\n var ne = projection.fromDivPixelToLatLng(trPix);\n var sw = projection.fromDivPixelToLatLng(blPix);\n\n // Extend the bounds to contain the new bounds.\n bounds.extend(ne);\n bounds.extend(sw);\n\n return bounds;\n }\n\n /**\n * Determins if a marker is contained in a bounds.\n *\n * @param {google.maps.Marker} marker The marker to check.\n * @param {google.maps.LatLngBounds} bounds The bounds to check against.\n * @return {boolean} True if the marker is in the bounds.\n * @private\n */\n isMarkerInBounds_(marker, bounds) {\n return bounds.contains(marker.getPosition());\n }\n\n /**\n * Clears all clusters and markers from the clusterer.\n */\n clearMarkers() {\n this.resetViewport(true);\n\n // Set the markers a empty array.\n this.markers_ = [];\n }\n\n /**\n * Clears all existing clusters and recreates them.\n * @param {boolean} opt_hide To also hide the marker.\n */\n resetViewport(opt_hide) {\n // Remove all the clusters\n for (let i = 0, cluster; (cluster = this.clusters_[i]); i++) {\n cluster.remove();\n }\n\n // Reset the markers to not be added and to be invisible.\n for (let i = 0, marker; (marker = this.markers_[i]); i++) {\n marker.isAdded = false;\n if (opt_hide) {\n marker.setMap(null);\n }\n }\n\n this.clusters_ = [];\n }\n\n /**\n *\n */\n repaint() {\n var oldClusters = this.clusters_.slice();\n this.clusters_.length = 0;\n this.resetViewport();\n this.redraw();\n\n // Remove the old clusters.\n // Do it in a timeout so the other clusters have been drawn first.\n setTimeout(function() {\n for (var i = 0, cluster; (cluster = oldClusters[i]); i++) {\n cluster.remove();\n }\n }, 0);\n }\n\n /**\n * Redraws the clusters.\n */\n redraw() {\n this.createClusters_();\n }\n\n /**\n * Calculates the distance between two latlng locations in km.\n * @see http://www.movable-type.co.uk/scripts/latlong.html\n *\n * @param {google.maps.LatLng} p1 The first lat lng point.\n * @param {google.maps.LatLng} p2 The second lat lng point.\n * @return {number} The distance between the two points in km.\n * @private\n */\n distanceBetweenPoints_(p1, p2) {\n if (!p1 || !p2) {\n return 0;\n }\n\n var R = 6371; // Radius of the Earth in km\n var dLat = ((p2.lat() - p1.lat()) * Math.PI) / 180;\n var dLon = ((p2.lng() - p1.lng()) * Math.PI) / 180;\n var a =\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos((p1.lat() * Math.PI) / 180) *\n Math.cos((p2.lat() * Math.PI) / 180) *\n Math.sin(dLon / 2) *\n Math.sin(dLon / 2);\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n var d = R * c;\n return d;\n }\n\n /**\n * Add a marker to a cluster, or creates a new cluster.\n *\n * @param {google.maps.Marker} marker The marker to add.\n * @private\n */\n addToClosestCluster_(marker) {\n var distance = 40000; // Some large number\n var clusterToAddTo = null;\n for (var i = 0, cluster; (cluster = this.clusters_[i]); i++) {\n var center = cluster.getCenter();\n if (center) {\n var d = this.distanceBetweenPoints_(center, marker.getPosition());\n if (d < distance) {\n distance = d;\n clusterToAddTo = cluster;\n }\n }\n }\n\n if (clusterToAddTo && clusterToAddTo.isMarkerInClusterBounds(marker)) {\n clusterToAddTo.addMarker(marker);\n } else {\n var newCluster = new Cluster(this);\n newCluster.addMarker(marker);\n this.clusters_.push(newCluster);\n }\n }\n\n /**\n * Creates the clusters.\n *\n * @private\n */\n createClusters_() {\n if (!this.ready_) {\n return;\n }\n\n // Get our current map view bounds.\n // Create a new bounds object so we don't affect the map.\n var mapBounds = new google.maps.LatLngBounds(\n this.map_.getBounds().getSouthWest(),\n this.map_.getBounds().getNorthEast()\n );\n var bounds = this.getExtendedBounds(mapBounds);\n\n for (var i = 0, marker; (marker = this.markers_[i]); i++) {\n if (!marker.isAdded && this.isMarkerInBounds_(marker, bounds)) {\n this.addToClosestCluster_(marker);\n }\n }\n }\n}\n\n/**\n * A cluster that contains markers.\n *\n * @param {MarkerClusterer} markerClusterer The markerclusterer that this\n * cluster is associated with.\n * @constructor\n * @ignore\n */\nclass Cluster {\n constructor(markerClusterer) {\n this.markerClusterer_ = markerClusterer;\n this.map_ = markerClusterer.getMap();\n this.gridSize_ = markerClusterer.getGridSize();\n this.minClusterSize_ = markerClusterer.getMinClusterSize();\n this.averageCenter_ = markerClusterer.isAverageCenter();\n this.center_ = null;\n this.markers_ = [];\n this.bounds_ = null;\n this.clusterIcon_ = new ClusterIcon(\n this,\n markerClusterer.getStyles(),\n markerClusterer.getGridSize()\n );\n }\n\n /**\n * Determins if a marker is already added to the cluster.\n *\n * @param {google.maps.Marker} marker The marker to check.\n * @return {boolean} True if the marker is already added.\n */\n isMarkerAlreadyAdded(marker) {\n if (this.markers_.indexOf) {\n return this.markers_.indexOf(marker) != -1;\n } else {\n for (var i = 0, m; (m = this.markers_[i]); i++) {\n if (m == marker) {\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * Add a marker the cluster.\n *\n * @param {google.maps.Marker} marker The marker to add.\n * @return {boolean} True if the marker was added.\n */\n addMarker(marker) {\n if (this.isMarkerAlreadyAdded(marker)) {\n return false;\n }\n\n if (!this.center_) {\n this.center_ = marker.getPosition();\n this.calculateBounds_();\n } else {\n if (this.averageCenter_) {\n var l = this.markers_.length + 1;\n var lat =\n (this.center_.lat() * (l - 1) + marker.getPosition().lat()) / l;\n var lng =\n (this.center_.lng() * (l - 1) + marker.getPosition().lng()) / l;\n this.center_ = new google.maps.LatLng(lat, lng);\n this.calculateBounds_();\n }\n }\n\n marker.isAdded = true;\n this.markers_.push(marker);\n\n var len = this.markers_.length;\n if (len < this.minClusterSize_ && marker.getMap() != this.map_) {\n // Min cluster size not reached so show the marker.\n marker.setMap(this.map_);\n }\n\n if (len == this.minClusterSize_) {\n // Hide the markers that were showing.\n for (var i = 0; i < len; i++) {\n this.markers_[i].setMap(null);\n }\n }\n\n if (len >= this.minClusterSize_) {\n marker.setMap(null);\n }\n\n this.updateIcon();\n return true;\n }\n\n /**\n * Returns the marker clusterer that the cluster is associated with.\n *\n * @return {MarkerClusterer} The associated marker clusterer.\n */\n getMarkerClusterer() {\n return this.markerClusterer_;\n }\n\n /**\n * Returns the bounds of the cluster.\n *\n * @return {google.maps.LatLngBounds} the cluster bounds.\n */\n getBounds() {\n var bounds = new google.maps.LatLngBounds(this.center_, this.center_);\n var markers = this.getMarkers();\n for (var i = 0, marker; (marker = markers[i]); i++) {\n bounds.extend(marker.getPosition());\n }\n return bounds;\n }\n\n /**\n * Removes the cluster\n */\n remove() {\n this.clusterIcon_.remove();\n this.markers_.length = 0;\n delete this.markers_;\n }\n\n /**\n * Returns the number of markers in the cluster.\n *\n * @return {number} The number of markers in the cluster.\n */\n getSize() {\n return this.markers_.length;\n }\n\n /**\n * Returns a list of the markers in the cluster.\n *\n * @return {Array.} The markers in the cluster.\n */\n getMarkers() {\n return this.markers_;\n }\n\n /**\n * Returns the center of the cluster.\n *\n * @return {google.maps.LatLng} The cluster center.\n */\n getCenter() {\n return this.center_;\n }\n\n /**\n * Calculated the extended bounds of the cluster with the grid.\n *\n * @private\n */\n calculateBounds_() {\n var bounds = new google.maps.LatLngBounds(this.center_, this.center_);\n this.bounds_ = this.markerClusterer_.getExtendedBounds(bounds);\n }\n\n /**\n * Determines if a marker lies in the clusters bounds.\n *\n * @param {google.maps.Marker} marker The marker to check.\n * @return {boolean} True if the marker lies in the bounds.\n */\n isMarkerInClusterBounds(marker) {\n return this.bounds_.contains(marker.getPosition());\n }\n\n /**\n * Returns the map that the cluster is associated with.\n *\n * @return {google.maps.Map} The map.\n */\n getMap() {\n return this.map_;\n }\n\n /**\n * Updates the cluster icon\n */\n updateIcon() {\n var zoom = this.map_.getZoom();\n var mz = this.markerClusterer_.getMaxZoom();\n\n if (mz && zoom > mz) {\n // The zoom is greater than our max zoom so show all the markers in cluster.\n for (var i = 0, marker; (marker = this.markers_[i]); i++) {\n marker.setMap(this.map_);\n }\n return;\n }\n\n if (this.markers_.length < this.minClusterSize_) {\n // Min cluster size not yet reached.\n this.clusterIcon_.hide();\n return;\n }\n\n var numStyles = this.markerClusterer_.getStyles().length;\n var sums = this.markerClusterer_.getCalculator()(this.markers_, numStyles);\n this.clusterIcon_.setCenter(this.center_);\n this.clusterIcon_.setSums(sums);\n this.clusterIcon_.show();\n }\n}\n\n/**\n * A cluster icon\n *\n * @param {Cluster} cluster The cluster to be associated with.\n * @param {Object} styles An object that has style properties:\n * 'url': (string) The image url.\n * 'height': (number) The image height.\n * 'width': (number) The image width.\n * 'anchor': (Array) The anchor position of the label text.\n * 'textColor': (string) The text color.\n * 'textSize': (number) The text size.\n * 'backgroundPosition: (string) The background postition x, y.\n * @param {number=} opt_padding Optional padding to apply to the cluster icon.\n * @constructor\n * @extends google.maps.OverlayView\n * @ignore\n */\nclass ClusterIcon {\n constructor(cluster, styles, opt_padding) {\n cluster.getMarkerClusterer().extend(ClusterIcon, google.maps.OverlayView);\n\n this.styles_ = styles;\n this.padding_ = opt_padding || 0;\n this.cluster_ = cluster;\n this.center_ = null;\n this.map_ = cluster.getMap();\n this.div_ = null;\n this.sums_ = null;\n this.visible_ = false;\n\n this.setMap(this.map_);\n }\n\n /**\n * Triggers the clusterclick event and zoom's if the option is set.\n */\n triggerClusterClick() {\n var clusterBounds = this.cluster_.getBounds();\n var markerClusterer = this.cluster_.getMarkerClusterer();\n\n // Trigger the clusterclick event.\n google.maps.event.trigger(\n markerClusterer.map_,\n \"clusterclick\",\n this.cluster_\n );\n\n if (markerClusterer.isZoomOnClick()) {\n // Zoom into the cluster.\n this.map_.fitBounds(clusterBounds);\n this.map_.setCenter(clusterBounds.getCenter());\n }\n }\n\n /**\n * Adding the cluster icon to the dom.\n * @ignore\n */\n onAdd() {\n this.div_ = document.createElement(\"DIV\");\n if (this.visible_) {\n var pos = this.getPosFromLatLng_(this.center_);\n this.div_.style.cssText = this.createCss(pos);\n this.div_.innerHTML = this.sums_.text;\n }\n\n var panes = this.getPanes();\n panes.overlayMouseTarget.appendChild(this.div_);\n\n var that = this;\n google.maps.event.addDomListener(this.div_, \"click\", function() {\n that.triggerClusterClick();\n });\n }\n\n /**\n * Returns the position to place the div dending on the latlng.\n *\n * @param {google.maps.LatLng} latlng The position in latlng.\n * @return {google.maps.Point} The position in pixels.\n * @private\n */\n getPosFromLatLng_(latlng) {\n var pos = this.getProjection().fromLatLngToDivPixel(latlng);\n pos.x -= parseInt(this.width_ / 2, 10);\n pos.y -= parseInt(this.height_ / 2, 10);\n return pos;\n }\n\n /**\n * Draw the icon.\n * @ignore\n */\n draw() {\n if (this.visible_) {\n var pos = this.getPosFromLatLng_(this.center_);\n this.div_.style.top = pos.y + \"px\";\n this.div_.style.left = pos.x + \"px\";\n }\n }\n\n /**\n * Hide the icon.\n */\n hide() {\n if (this.div_) {\n this.div_.style.display = \"none\";\n }\n this.visible_ = false;\n }\n\n /**\n * Position and show the icon.\n */\n show() {\n if (this.div_) {\n var pos = this.getPosFromLatLng_(this.center_);\n this.div_.style.cssText = this.createCss(pos);\n this.div_.style.display = \"\";\n }\n this.visible_ = true;\n }\n\n /**\n * Remove the icon from the map\n */\n remove() {\n this.setMap(null);\n }\n\n /**\n * Implementation of the onRemove interface.\n * @ignore\n */\n onRemove() {\n if (this.div_ && this.div_.parentNode) {\n this.hide();\n this.div_.parentNode.removeChild(this.div_);\n this.div_ = null;\n }\n }\n\n /**\n * Set the sums of the icon.\n *\n * @param {Object} sums The sums containing:\n * 'text': (string) The text to display in the icon.\n * 'index': (number) The style index of the icon.\n */\n setSums(sums) {\n this.sums_ = sums;\n this.text_ = sums.text;\n this.index_ = sums.index;\n if (this.div_) {\n this.div_.innerHTML = sums.text;\n }\n\n this.useStyle();\n }\n\n /**\n * Sets the icon to the the styles.\n */\n useStyle() {\n var index = Math.max(0, this.sums_.index - 1);\n index = Math.min(this.styles_.length - 1, index);\n var style = this.styles_[index];\n this.url_ = style[\"url\"];\n this.height_ = style[\"height\"];\n this.width_ = style[\"width\"];\n this.textColor_ = style[\"textColor\"];\n this.anchor_ = style[\"anchor\"];\n this.textSize_ = style[\"textSize\"];\n this.backgroundPosition_ = style[\"backgroundPosition\"];\n }\n\n /**\n * Sets the center of the icon.\n *\n * @param {google.maps.LatLng} center The latlng to set as the center.\n */\n setCenter(center) {\n this.center_ = center;\n }\n\n /**\n * Create the css text based on the position of the icon.\n *\n * @param {google.maps.Point} pos The position.\n * @return {string} The css style text.\n */\n createCss(pos) {\n var style = [];\n style.push(\"z-index:\" + this.cluster_.markerClusterer_.getZIndex() + \";\");\n style.push(\"background-image:url(\" + this.url_ + \");\");\n var backgroundPosition = this.backgroundPosition_\n ? this.backgroundPosition_\n : \"0 0\";\n style.push(\"background-position:\" + backgroundPosition + \";\");\n\n if (typeof this.anchor_ === \"object\") {\n if (\n typeof this.anchor_[0] === \"number\" &&\n this.anchor_[0] > 0 &&\n this.anchor_[0] < this.height_\n ) {\n style.push(\n \"height:\" +\n (this.height_ - this.anchor_[0]) +\n \"px; padding-top:\" +\n this.anchor_[0] +\n \"px;\"\n );\n } else {\n style.push(\n \"height:\" + this.height_ + \"px; line-height:\" + this.height_ + \"px;\"\n );\n }\n if (\n typeof this.anchor_[1] === \"number\" &&\n this.anchor_[1] > 0 &&\n this.anchor_[1] < this.width_\n ) {\n style.push(\n \"width:\" +\n (this.width_ - this.anchor_[1]) +\n \"px; padding-left:\" +\n this.anchor_[1] +\n \"px;\"\n );\n } else {\n style.push(\"width:\" + this.width_ + \"px; text-align:center;\");\n }\n } else {\n style.push(\n \"height:\" +\n this.height_ +\n \"px; line-height:\" +\n this.height_ +\n \"px; width:\" +\n this.width_ +\n \"px; text-align:center;\"\n );\n }\n\n var txtColor = this.textColor_ ? this.textColor_ : \"black\";\n var txtSize = this.textSize_ ? this.textSize_ : 11;\n\n style.push(\n \"cursor:pointer; top:\" +\n pos.y +\n \"px; left:\" +\n pos.x +\n \"px; color:\" +\n txtColor +\n \"; position:absolute; font-size:\" +\n txtSize +\n \"px; font-family:Arial,sans-serif; font-weight:bold\"\n );\n return style.join(\"\");\n }\n}\n\nexport default MarkerClusterer;\n"],"sourceRoot":""}