{"version":3,"file":"js/chunk-common.6f1d2f3a.js","mappings":"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","sources":["webpack://office-locations/./src/App.vue","webpack://office-locations/./src/services/apiService.js","webpack://office-locations/./src/services/configService.js","webpack://office-locations/./src/actions/configActions.js","webpack://office-locations/./src/store/index.js","webpack://office-locations/./src/components/InternetWaitTimeLoader.vue","webpack://office-locations/./src/components/InternetWaitTimeLoader.vue?6f72","webpack://office-locations/./src/components/PublicOfficeLocations.vue","webpack://office-locations/./src/components/SearchBox.vue","webpack://office-locations/./src/components/SearchBox.vue?b60f","webpack://office-locations/./src/components/SidebarMobile.vue","webpack://office-locations/./src/components/SidebarMobile.vue?4323","webpack://office-locations/./src/components/Sidebar.vue","webpack://office-locations/./src/components/Sidebar.vue?5d01","webpack://office-locations/./src/components/MapComponent.vue","webpack://office-locations/./src/components/MapComponent.vue?304e","webpack://office-locations/./src/components/Callouts.vue","webpack://office-locations/./src/components/Callouts.vue?c056","webpack://office-locations/./src/components/SecondaryCards.vue","webpack://office-locations/./src/components/PrimaryCard.vue","webpack://office-locations/./src/components/PrimaryCard.vue?8636","webpack://office-locations/./src/components/SecondaryCards.vue?c71c","webpack://office-locations/./src/components/PublicOfficeLocations.vue?3cb3","webpack://office-locations/./src/components/BingSession.vue","webpack://office-locations/./src/components/BingSession.vue?bd85","webpack://office-locations/./src/utils/validationUtils.js","webpack://office-locations/./src/App.vue?7ccd","webpack://office-locations/./src/main.js"],"sourcesContent":["<template>\n  <!-- Generates Bing Session key once office data is loaded! -->\n  <BingSession v-if=\"getOfficeIRP !== 0\" />\n\n  <!-- Error modal -->\n  <template \n    v-if=\"this.errorModal === true\">\n    <transition name=\"modal\">\n      <div class=\"modal-mask\">\n        <div class=\"modal-wrapper\">\n          <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n              <div class=\"modal-header bg-danger\">\n                <h5 class=\"modal-title\">Error: Unable to Load Offices</h5>\n              </div>\n              <div class=\"modal-body\">\n                <p>\n                  We're unable to load the locations of the NCDMV offices.\n                </p>\n                <p>\n                  Please <strong>refresh</strong> your browser to try to\n                  again.  \n                </p>\n              </div>\n              <div class=\"modal-footer\">\n                <span\n                  type=\"button\"\n                  class=\"btn btn-secondary\"\n                  v-on:click=\"errorModal = false\"\n                  >Ok</span\n                >\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </transition>\n  </template>\n\n  <PublicOfficeLocations />\n  <InternetWaitTimeLoader />\n<!-- </div> -->\n</template>\n\n<script>\n/*eslint no-useless-escape: */\nimport InternetWaitTimeLoader from \"./components/InternetWaitTimeLoader.vue\";\nimport PublicOfficeLocations from \"./components/PublicOfficeLocations.vue\";\nimport BingSession from \"./components/BingSession.vue\";\nimport { isValidCheck } from \"./utils/validationUtils\";\nimport { useRootStore } from \"./store\";\n\nexport default {\nname: \"App\",\ncomponents: {\n  PublicOfficeLocations,\n  BingSession,\n  InternetWaitTimeLoader,\n},\ndata() {\n  return {\n    rootStore: useRootStore(),\n    errorModal: false,\n    countdown: \"\",\n    holidayLoaded:false,  // Has the JS array of dates of holidays been loaded?\n  };\n},\nwatch: {\n    // When this becomes true, start he rest of the app loading\n    holidayLoaded: function(){\n      if(this.holidayLoaded === true){\n        \n        // Start loading\n        this.loadOfficeLoations();\n        this.checkForMode();\n      }\n    },\n\n  getUserLocation: function () {\n    // when geolocation happens, perform bing rest call to get better data\n    this.enhanceUserLocationData(\n      this.getUserLocation?.Lat,\n      this.getUserLocation?.Long\n    );\n  },\n},\ncreated() {\n  this.rootStore = useRootStore(),\n  // First things first - check to see if today is a state holiday\n  this.fetchMapConfigFile()\n  // this.fetchDatesCheckForHoliday()\n},\n  async mounted() {\n    // Loads zip/city/county/region file into Vuex for use in dropdown\n    // This data is also used in SearchBox component to load the search dropdown values\n    this.rootStore.fetchZipCityCountydata();\n    \n    // this.loadOfficeLoations();\n    // this.checkForMode();  \n  },\nmethods: {\n \n  // This little JS file lets small configuration changes occur without reploying the whole app.\n  async fetchMapConfigFile() {\n    try {\n      const response = await fetch('assets/configDMVoffices.js');\n      const returnedConfig = await response.json();\n      console.log(\"RULE SETTING: The following counties are allowed to offer vehicle services at their kiosks: \" + returnedConfig.lpaCounties.join(\", \"))\n      if (returnedConfig) {\n        // Set LPA counties that allow kiosks\n        if (isValidCheck(returnedConfig.lpaCounties)) {\n          this.rootStore.SET_LPAKIOSKALLOWED(returnedConfig.lpaCounties)\n        }\n        // Set Bing Maps API key\n        if (isValidCheck(returnedConfig.bingMapAPIKey)) {\n          this.rootStore.UPDATE_MAP_API_KEY(returnedConfig.bingMapAPIKey)\n        }\n        let allowedIWTObj = returnedConfig?.allowedIWTDateTime\n        // Set IWT Start Dates and Time Maps API key\n        if (isValidCheck(allowedIWTObj)) {\n          this.rootStore.SET_ALLOWED_IWT_DATE_TIME(allowedIWTObj)\n        }\n        if (returnedConfig.mapIWTPollinginterval !== undefined && returnedConfig.mapIWTPollinginterval !== null) {\n          this.rootStore.SET_MAP_POLLING_INTERVAl(returnedConfig.mapIWTPollinginterval)\n        }\n      }\n     \n      // Account for holidays:\n      const today = new Date().toISOString().split('T')[0]; // Today's date in YYYY-MM-DD format\n      console.log(\"RULE SETTING: Is today a state holiday?  \" + returnedConfig?.holidays.includes(today))\n\n      if(returnedConfig?.holidays.includes(today) === true){\n        return [\n          // Tell the store its a holiday! \n          this.rootStore.SET_ISSTATEHOLIDAY(true),\n          this.holidayLoaded = true\n        ]     } \n      else{\n        return [\n          this.holidayLoaded = true,\n        ]\n      }\n\n    } catch (error) {\n      console.error('Error fetching or checking dates:', error);\n      return [\n          // Just in case someone didn't upload the JS file, we don't stop the app from loading\n          this.holidayLoaded = true,\n        ]\n    }\n  },\n\n\n\n\n // load Office location data from web service\n async loadOfficeLoations(data = {}){\n  try{\n    const response = await fetch(this.getLocationsURL, {\n    method: \"POST\",\n    headers: {\n      \"Content-Type\": \"application/json\",\n      },\n      body: JSON.stringify(data), // body data type must match \"Content-Type\" header\n      }\n    )\n    \n    // These are the results\n    const loadedOffices = await response.json();\n  \n    // Create variables with what's in the layers. This should probably be handled by a web worker.\n    \n    // DL offices with any kiosks that offer DL services\n    let DLOfficeWithKiosks = loadedOffices.filter(obj => (obj.officeTypes === \"license\" || obj.officeTypes === \"kiosk\" ) && obj.temporaryOfficeStatus === \"\" && obj.isMobile === false)\n\n    // Just DL offices, no kiosks:    \n    let DLoffices = loadedOffices.filter(obj => obj.officeTypes === \"license\" && obj.temporaryOfficeStatus === \"\" && obj.isMobile === false)\n\n    // Saturday DL offices including kiosks\n    let DLofficesSaturdayAndKiosks = loadedOffices.filter(obj => (obj.officeTypes === \"license\" || obj.officeTypes === \"kiosk\" ) && obj.temporaryOfficeStatus === \"\" && obj.isMobile === false && obj.normalHours.includes(\"Saturday \"))\n    \n     // Saturday DL offices, no kiosks\n    let DLofficesSaturday = loadedOffices.filter(obj => obj.officeTypes === \"license\" && obj.temporaryOfficeStatus === \"\" && obj.isMobile === false && obj.normalHours.includes(\"Saturday \"))\n\n    // All kiosk locations\n    let DLVRkiosks = loadedOffices.filter(obj => (obj.officeTypes === \"kiosk\") && obj.temporaryOfficeStatus === \"\" && obj.isMobile === false)\n\n    // Kiosks that allow VR Transactions. Restricted by county\n    let VRofficesOnlyKiosks = loadedOffices.filter(obj => (obj.officeTypes === \"kiosk\" && this.getLpaKioskAllowed.includes(obj.counties)))\n\n    // VR offices with kiosks that allow VR transactions\n    let VRofficesWithKiosks = loadedOffices.filter(obj => ((obj.officeTypes === \"kiosk\" && this.getLpaKioskAllowed.includes(obj.counties)) || obj.officeTypes === \"irp,plate\" || obj.officeTypes == \"plate\") && obj.temporaryOfficeStatus === \"\" && obj.isMobile === false) // All IRPs are plates\n\n    // VR offices, no kiosks\n    let VRoffices = loadedOffices.filter(obj => (obj.officeTypes === \"irp,plate\" || obj.officeTypes == \"plate\") && obj.temporaryOfficeStatus === \"\" && obj.isMobile === false) // All IRPs are plates\n\n    // License and theft\n    let LToffices = loadedOffices.filter(obj => obj.officeTypes === \"lt\" && obj.temporaryOfficeStatus === \"\" && obj.isMobile === false)\n    \n    // IRP Offices\n    let IRPoffices = loadedOffices.filter(obj => obj.officeTypes === \"irp,plate\" && obj.temporaryOfficeStatus === \"\" && obj.isMobile === false)\n\n   \n    // And the closed offices, too\n\n    // CLOSED DL OFFICES WITH KIOSKS\n    let closedDLOfficeWithKiosks = loadedOffices.filter(obj => (obj.officeTypes === \"license\" || obj.officeTypes === \"kiosk\") && obj.temporaryOfficeStatus === \"Closed\" && obj.isMobile === false)\n  \n    // CLOSED Just DL offices, no kiosks:    \n    let closedDLoffices = loadedOffices.filter(obj => obj.officeTypes === \"license\" && obj.temporaryOfficeStatus === \"Closed\" && obj.isMobile === false)\n  \n    // CLOSED All kiosk locations\n    let closedDLVRkiosks = loadedOffices.filter(obj => (obj.officeTypes === \"kiosk\") && obj.temporaryOfficeStatus === \"Closed\" && obj.isMobile === false)\n  \n    // CLOSED VR offices with kiosks\n    let closedVRofficesWithKiosks = loadedOffices.filter(obj => ((obj.officeTypes === \"kiosk\" && this.getLpaKioskAllowed.includes(obj.counties)) || obj.officeTypes === \"irp,plate\" || obj.officeTypes == \"plate\" || obj.officeTypes === \"kiosk,plate\") && obj.temporaryOfficeStatus === \"Closed\" && obj.isMobile === false) // All IRPs are plates\n  \n    // CLOSED VR offices, no kiosks\n    let closedVRoffices = loadedOffices.filter(obj => (obj.officeTypes === \"irp,plate\" || obj.officeTypes == \"plate\") && obj.temporaryOfficeStatus === \"Closed\" && obj.isMobile === false) // All IRPs are plates\n  \n    // CLOSED License and theft\n    let closedLToffices = loadedOffices.filter(obj => obj.officeTypes === \"lt\" && obj.temporaryOfficeStatus === \"Closed\" && obj.isMobile === false)\n    \n    // CLOSED IRP Offices\n    let closedIRPoffices = loadedOffices.filter(obj => obj.officeTypes === \"irp,plate\" && obj.temporaryOfficeStatus === \"Closed\" && obj.isMobile === false)\n  \n    // Debugging statement for the console!\n    const officeCountClosed = [\n      {\"Closed Count\":\"DL Offices with Kiosks\",\"Count\":closedDLOfficeWithKiosks.length},\n      {\"Closed Count\":\"DL Offices no Kiosks\",\"Count\":closedDLoffices.length},\n      {\"Closed Count\":\"All Kiosk Locations\",\"Count\":closedDLVRkiosks.length},\n      {\"Closed Count\":\"VR Offices with Kiosks\",\"Count\":closedVRofficesWithKiosks.length},\n      {\"Closed Count\":\"VR Offices, no Kioks\",\"Count\":closedVRoffices.length},\n      {\"Closed Count\":\"License Theft\",\"Count\":closedLToffices.length},\n      {\"Closed Count\":\"IRP Offices\",\"Count\":closedIRPoffices.length}\n    ]\n\n    const officeCountOpen = [\n      {\"Open count\":\"Saturday DL Offices with Kiosks\",\"Count\":DLofficesSaturdayAndKiosks.length},\n      {\"Open count\":\"DL Offices with Kiosks\",\"Count\":DLOfficeWithKiosks.length},\n      {\"Open count\":\"DL Offices no Kiosks\",\"Count\":DLoffices.length},\n      {\"Open count\":\"All Kiosk Locations\",\"Count\":DLVRkiosks.length},\n      {\"Open count\":\"VR Offices with Kiosks\",\"Count\":VRofficesWithKiosks.length},\n      {\"Open count\":\"VR Offices, no Kioks\",\"Count\":VRoffices.length},\n      {\"Open count\":\"License Theft\",\"Count\":LToffices.length},\n      {\"Open count\":\"IRP Offices\",\"Count\":IRPoffices.length}\n    ]\n\n    console.table(officeCountOpen)\n    console.table(officeCountClosed)\n\n    // Send all this data to the store:\n    let officeVuexLoader = [\n      {\n        \"store\": \"SET_OFFICE_DL_WITHKIOSKS\",\n        \"data\": DLOfficeWithKiosks\n      },\n      {\n        \"store\": \"SET_OFFICE_DL\",\n        \"data\": DLoffices\n      },\n      {\n        \"store\": \"SET_OFFICE_DL_SATURDAYWITHKIOSKS\",\n        \"data\": DLofficesSaturdayAndKiosks\n      },\n      {\n        \"store\": \"SET_OFFICE_DL_SATURDAY\",\n        \"data\": DLofficesSaturday\n      },\n      {\n        \"store\": \"SET_OFFICE_ALL_KIOSKS\",\n        \"data\": DLVRkiosks\n      },\n      {\n        \"store\": \"SET_OFFICE_LPA_WITHKIOSKS\",\n        \"data\": VRofficesWithKiosks\n      },\n      {\n        \"store\": \"SET_OFFICE_LPA\",\n        \"data\": VRoffices\n      },\n      {\n        \"store\": \"SET_OFFICE_ONLY_LPA_KIOSKS\",\n        \"data\": VRofficesOnlyKiosks\n      },\n      {\n        \"store\": \"SET_OFFICE_IRP\",\n        \"data\": IRPoffices\n      },\n      {\n        \"store\": \"SET_OFFICE_LT\",\n        \"data\": LToffices\n      },\n      {\n        \"store\": \"SET_OFFICE_DL_WITHKIOSKS_CLOSED\",\n        \"data\": closedDLOfficeWithKiosks\n      },\n      {\n        \"store\": \"SET_OFFICE_DL_CLOSED\",\n        \"data\": closedDLoffices\n      },\n      {\n        \"store\": \"SET_OFFICE_ALL_KIOSKS_CLOSED\",\n        \"data\": closedDLVRkiosks\n      },\n      {\n        \"store\": \"SET_OFFICE_LPA_WITHKIOSKS_CLOSED\",\n        \"data\": closedVRofficesWithKiosks\n      },\n      {\n        \"store\": \"SET_OFFICE_LPA_CLOSED\",\n        \"data\": closedVRoffices\n      },\n      {\n        \"store\": \"SET_OFFICE_IRP_CLOSED\",\n        \"data\": closedIRPoffices\n      },\n      {\n        \"store\": \"SET_OFFICE_LT_CLOSED\",\n        \"data\": closedLToffices\n      },\n    ]\n\n    officeVuexLoader.forEach(o => {\n      if(this.rootStore[o.store]) {\n        this.rootStore[o.store](o.data);\n      }\n    })\n    \n    // console.log(officeVuexLoader)\n\n  // Once everything's safely loaded into the store,\n  // run the funciton that checks for query strings\n  return this.checkForMode()\n\n  } catch (error) {\n    this.errorModal = true;\n    console.error(\"Error loading NCDMV Office Locations from service \" + this.getLocationsURL)\n    console.error(error);\n  }\n\n\n  },\n  \n  // Handles query strings on the URL and adjusts toggles to update what's displayed in app\n  checkForMode() {\n    // Retrieve a query string\n    function getUrlParameter(name) {\n      name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n      var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\");\n      var results = regex.exec(location.search);\n      return results === null\n        ? \"\"\n        : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\n    }\n\n\n\n    // If it's 'closedonly' toggle everything off, show only closed locations on the map\n    if (getUrlParameter(\"mode\") === \"closedonly\") {\n      return [\n        this.rootStore.TOGGLE_SWITCH_DL(false),\n        this.rootStore.TOGGLE_SWITCH_KIOSK_DL(false),\n        this.rootStore.TOGGLE_SWITCH_KIOSK_VR(false),\n        this.rootStore.TOGGLE_SWITCH_LPA(false),\n        this.rootStore.TOGGLE_SWITCH_CLOSED(true),\n        this.rootStore.SET_MAPMODE(true),\n        console.log(\n          \"The Query String is set to display only the closed locations\"\n        )\n      ]\n    }\n\n    // Support for office=type query strings\n    if (getUrlParameter(\"office\") === \"driverlicense\") {\n      return [\n        this.rootStore.TOGGLE_SWITCH_DL(true),\n        this.rootStore.TOGGLE_SWITCH_KIOSK_DL(false),\n        this.rootStore.TOGGLE_SWITCH_KIOSK_VR(false),\n        this.rootStore.TOGGLE_SWITCH_LPA(false),\n        this.rootStore.SET_MAPMODE(false),\n        console.log(\n          \"The Query String is set to display only driver license offices\"\n        )\n      ]\n    }\n\n    if (getUrlParameter(\"office\") === \"platevehicle\") {\n      return [\n        this.rootStore.TOGGLE_SWITCH_DL(false),\n        this.rootStore.TOGGLE_SWITCH_KIOSK_DL(false),\n        this.rootStore.TOGGLE_SWITCH_KIOSK_VR(false),\n        this.rootStore.TOGGLE_SWITCH_LPA(true),\n        this.rootStore.SET_MAPMODE(false),\n        console.log(\n          \"The Query String is set to display only license plate offices\"\n        )\n      ]\n    }\n\n    if (getUrlParameter(\"office\") === \"licensetheft\") {\n      return [\n        this.rootStore.TOGGLE_SWITCH_DL(false),\n        this.rootStore.TOGGLE_SWITCH_KIOSK_DL(false),\n        this.rootStore.TOGGLE_SWITCH_KIOSK_VR(false),\n        this.rootStore.TOGGLE_SWITCH_LPA(false),\n        this.rootStore.TOGGLE_SWITCH_LT(true),\n        this.rootStore.SET_MAPMODE(false),\n        console.log(\n          \"The Query String is set to display only license and theft offices\"\n        )\n      ]\n    }\n\n    if (getUrlParameter(\"office\") === \"commercial\") {\n      return [\n      this.rootStore.TOGGLE_SWITCH_DL(false),\n      this.rootStore.TOGGLE_SWITCH_KIOSK_DL(false),\n      this.rootStore.TOGGLE_SWITCH_KIOSK_VR(false),\n      this.rootStore.TOGGLE_SWITCH_LPA(false),\n      this.rootStore.TOGGLE_SWITCH_IRP(true),\n      this.rootStore.SET_MAPMODE(false),\n      console.log(\n        \"The Query String is set to display only IRP offices\"\n      )\n      ]\n    }\n\n    if (getUrlParameter(\"office\") === \"saturday\") {\n      return[\n        this.rootStore.TOGGLE_SWITCH_DL(false),\n        this.rootStore.TOGGLE_SWITCH_KIOSK_DL(false),\n        this.rootStore.TOGGLE_SWITCH_KIOSK_VR(false),\n        this.rootStore.TOGGLE_SWITCH_LPA(false),\n        this.rootStore.TOGGLE_SWITCH_DL_SATURDAY(true),\n        this.rootStore.SET_MAPMODE(false),\n        console.log(\n          \"The Query String is set to display only saturday DL offices\"\n        )\n      ]\n    }\n\n    if (getUrlParameter(\"office\") === \"kiosk\") {\n      this.rootStore.TOGGLE_SWITCH_DL(false);\n      this.rootStore.TOGGLE_SWITCH_KIOSK_DL(false);\n      this.rootStore.TOGGLE_SWITCH_KIOSK_VR(false),\n      this.rootStore.TOGGLE_SWITCH_LPA(false),\n      this.rootStore.SET_MAPMODE(false);\n\n      return [\n      // this.rootStore.TOGGLE_SWITCH_KIOSK_DL(true),\n      this.rootStore.SET_SHOWONLYKIOSK(true),\n      this.rootStore.TOGGLE_SWITCH_KIOSK_DL(true),\n      \n\n      console.log(\n        \"The Query String is set to display only kiosk offices\"\n      )\n\n      \n      ]\n    }\n\n  },\n\n  async enhanceUserLocationData(Lat, Long) {\n    // http://dev.virtualearth.net/REST/v1/Locations/47.64054,-122.12934?o=xml&key={BingMapsAPIKey}\n    var _url = \"https://dev.virtualearth.net/REST/v1/Locations/\";\n    var _lat = Lat;\n    var _long = Long;\n\n    var _queryURL =\n      _url + _lat + \",\" + _long + \"?o=json&key=\" + this.getMapAPIkey;\n\n    var thisMethods = this;\n    try {\n      await fetch(_queryURL, {\n        method: \"GET\",\n        headers: {\n          \"Content-Type\": \"application/json; charset=utf-8\",\n          Accept: \"application/json, text/javascript\",\n        },\n      })\n        .then((response) => {\n          if (!response.ok) {\n            return Promise.reject(`Response status: ${response.status}`)\n          }\n          return response.json()\n        })\n        .then((data) => {\n          var _loadedData = data.resourceSets[0].resources[0];\n\n          var _loadedCounty = _loadedData.address.adminDistrict2;\n\n          var _response = {};\n          _response.Lat = _loadedData.point.coordinates[0];\n          _response.Long = _loadedData.point.coordinates[1];\n          _response.Zip = _loadedData.address.postalCode;\n          _response.City = _loadedData.address.locality;\n          _response.County = _loadedCounty.replace(\" Co.\", \"\");\n\n          // Tech debt -figure out why it's making two calls\n          if (_response.County !== \"Hill County\") {\n            thisMethods.rootStore.SET_MAPAPI_RESPONSE(_response);\n          }\n        });\n    } catch (error) {\n      // this.errorModal = true;\n      console.log(`Error loading enhanced user location data from service ${_url} and failed with ${error}`);\n    }\n\n  },\n},\ncomputed: {\n  getLpaKioskAllowed(){\n    return this.rootStore.lpaKioskAllowed;\n  },\n  getIsStateHoliday(){\n    return this.rootStore.isStateHoliday;\n  },\n  getLocationsURL() {\n    return this.rootStore.locationsURL;\n  },\n  getOfficeIRP() {\n    return this.rootStore.officeIRP.length;\n  },\n  getUserLocation() {\n    console.log('log the store value', this.rootStore.userLocation)\n    return this.rootStore.userLocation;\n  },\n  getMapAPIkey() {\n    return this.rootStore.mapAPIkey;\n  },\n  getMapAPIresponse() {\n    return this.rootStore.mapAPIresponse;\n  }\n},\n};\n</script>\n","export async function apiInstance( url, options={}) {\n    const defaultHeaders = {\n        'Content-type': 'application/json',\n    };\n\n    const config = {\n        method: options.method || 'GET',  // Default to GET\n        headers: {...defaultHeaders, ...options.headers},\n        body: options.body ? JSON.stringify(options.body) : null,\n        ...options,\n    };\n\n    try {\n        const response = await fetch(url, config);\n        if(!response.ok) {\n            throw new Error(`HTTP error! status ${response.status}`);\n        }\n        const data = await response.json();\n        return data;\n    } catch(error) {\n        console.error(`Error in fetchInstance: ${error}`)\n        throw error;\n    }\n}","import { apiInstance } from \"./apiService\"\n\nexport function fetchZipCityCountyRegion() {\n    return apiInstance(\"./assets/zip-city-county-region.js\")\n}\n","import { fetchZipCityCountyRegion } from \"@/services/configService\";\n\nexport async function zipCityCountyConfigAction() {\n\n    try {\n        const fetchData = await fetchZipCityCountyRegion(); // call the configService to fetch data from api\n        // if (fetchData) {\n        //     context.SET_SEARCH_DATA(fetchData)\n        // }\n        return fetchData;\n\n    } catch (error) {\n        console.log(`Error in fetching ZipCityCounty config data ${error}`);\n    }\n}\n\nexport const filterCountyLocationAction = async ( locationSearchString, filterdata) => {\n    try {\n        const params = new URLSearchParams(locationSearchString);\n        const county = params.get(\"county\");\n        const finalObject = filterdata.find(item => (item.f === \"county\" && item.l.toUpperCase() === (`${county} County`).toUpperCase()))\n        const filteredCountyData = finalObject ? { County: finalObject.l.replace(\" County\", \"\"), Lat: finalObject.a, Long: finalObject.o } : null;\n        // if (filteredCountyData) {\n        //     context.SET_USER_LOCATION(filteredCountyData);\n        // }\n        return filteredCountyData\n    } catch (error) {\n        console.log(`Error while loading county map: ${error}`)\n    }\n}","import { filterCountyLocationAction, zipCityCountyConfigAction } from '@/actions/configActions'\nimport { defineStore } from 'pinia'\n\nexport const useRootStore = defineStore('root', {\n\n  state: () => ({\n    locationsURL: process.env.VUE_APP_LOCATIONS_URL,\n    locationsURLsearch:process.env.VUE_APP_LOCATIONS_SEARCH_URL,\n    iwtURL:process.env.VUE_APP_LOCATIONS_IWT_URL,\n    \n    // Each IWT office has a top level unit number to start your query from\n    itwTopLevelUnitDL: process.env.VUE_APP_IWT_TOP_UNIT_DL,\n    itwTopLevelUnitLPA: process.env.VUE_APP_IWT_TOP_UNIT_LPA,\n    itwTopLevelUnitIRP: process.env.VUE_APP_IWT_TOP_UNIT_IRP,\n    itwTopLevelUnitLT: process.env.VUE_APP_IWT_TOP_UNIT_LT, \n\n    // Is today a state holiday?\n    isStateHoliday:false,\n\n    // IWT Allowed Dates and Times\n    allowedDateTime: null,\n    mapPollingInterval: null,\n\n    // Has IWT Loaded?\n    isIWTLoaded:false,\n\n    // Show Only Kiosk Layers\n    // Special flag for query string loading of kiosk layers\n    showOnlyKiosk:false,\n\n    // Customer requested IWT not load before noon\n    iwtLoadWindow:false,\n\n    // Which counties allow kiosks at LPA offices?\n    // As of April 2024, it was only Wake, Meck, and Cumberland counties:\n    lpaKioskAllowed:[],\n\n    // \n    mapMode:false,\n\n    // Bing Maps\n    mapAPIresponse:[],\n    mapAPIkey:\"\",\n    \n    // Current location\n    userLocation:\"\",\n\n    zoomedLocation:[],\n\n    // Loaded Office Data\n    officekDLwithKiosks:[],\n    officeDL:[],\n    officeLPAwithKiosks:[],\n    officeLPA:[],\n\n    // Saturday offices\n    officeDLSaturdayWithKiosks:[],\n    officeDLSaturday:[],\n    officeLPASaturday:[],\n\n    // officeMO:[],\n    officeIRP:[],\n    officeLT:[],\n\n    closedOfficeKioskDL:[],\n    closedOfficeDL:[],\n    closedOfficeKioskDLVR:[],\n    closedOfficeKioskVR:[],\n    closedOfficeLPA:[],\n    closedOfficeIRP:[],\n    closedOfficeLT:[],\n\n\n    officesNearby:[],\n    officesNearbySecondary:[],\n    officesNearbyFurtherOut:[],\n    dataLoaded:false,\n    \n    // Switches\n    toggleDL:true,\n    toggleLPA:true,\n    // toggleMO:true,\n    toggleIRP:false,\n    toggleLT:false,\n    toggleClosed:true,\n\n    toggleDLSaturday:false,\n    toggleKioskDL:true,\n    toggleKioskVR:true,\n    toggleKioskDLVR:true,\n\n  \n    primaryCard:[],\n    searchData:[],\n\n  }),\n  getters: {\n    getMapMode: state =>state.mapMode,\n    getLocationsURL: state =>state.locationsURL,\n    getLocationsURLsearch: state =>state.locationsURLsearch,\n    \n    mapAPIresponse: state =>state.mapAPIresponse,\n    getMapAPIkey: state => state.mapAPIkey,\n    getUserLocation: state => state.userLocation,\n    getZoomedLocation: state => state.zoomedLocation,\n\n    // IWT get Allowed Dates and Times\n\n    getallowedDateTime: state => state.allowedDateTime,\n    getmapPollingInterval: state => state.mapPollingInterval,\n\n    // Holiday status\n    getIsStateHoliday: state => state.isStateHoliday,\n\n    // Kiosks\n    getShowOnlyKiosk: state => state.showOnlyKiosk,\n    getLpaKioskAllowed: state => state.lpaKioskAllowed,\n\n    // Offices\n    getOfficekDLwithKiosks: state => state.officekDLwithKiosks,\n    getOfficeDL: state => state.officeDL,\n\n    getOfficeLPAwithKiosks: state => state.officeLPAwithKiosks,\n    getOfficeLPA: state => state.officeLPA,\n\n\n    getofficeDLSaturdayWithKiosks: state => state.officeDLSaturdayWithKiosks,\n    getOfficeDLSaturday: state => state.officeDLSaturday,\n    getOfficeLPASaturday: state => state.officeLPASaturday,\n\n    getOfficeKAllKiosks: state =>state.officeKAllKiosks,\n    getofficeKAllKiosksLPA: state =>state.officeKAllKiosksLPA,\n\n\n    // getOfficeMO: state => state.officeMO,\n    getOfficeLT: state => state.officeLT,\n    getOfficeIRP: state => state.officeIRP,\n\n    \n    getClosedOfficeDL: state => state.closedOfficeDL,\n    getClosedOfficeKioskDLVR: state => state.closedOfficeKioskDLVR,\n    getClosedOfficeKioskVR: state => state.closedOfficeKioskVR,\n    getClosedOfficeLPA: state => state.closedOfficeLPA,\n    getClosedOfficeIRP: state => state.closedOfficeIRP,\n    getClosedOfficeLT: state => state.closedOfficeLT,\n    getClosedOfficeKioskDL: state => state.closedOfficeKioskDL,\n\n  \n\n\n    /* \n    getOfficeDL: state => state.officeDL,\n    getOfficeLPA: state => state.officeLPA,\n    // getOfficeMO: state => state.officeMO,\n    getOfficeLT: state => state.officeLT,\n    getOfficeIRP: state => state.officeIRP,\n\n    getOfficeDLSaturday: state => state.officeDLSaturday,\n    getOfficeLPASaturday: state => state.officeLPASaturday,\n\n    getOfficeKioskDL:state =>state.officeKioskDL,\n    getOfficeKioskVR: state =>state.officeKioskVR,\n    getOfficeKioskDLVR: state =>state.officeKioskDLVR,\n    \n    getClosedOfficeDL: state => state.closedOfficeDL,\n    getClosedOfficeLPA: state => state.closedOfficeLPA,\n    // getClosedOfficeMO: state => state.closedOfficeMO,\n    getClosedOfficeLT: state => state.closedOfficeLT,\n    getClosedOfficeIRP: state => state.closedOfficeIRP,\n\n    getClosedOfficeKioskDL:state =>state.closedOfficeKioskDL,\n    getClosedOfficeKioskVR: state =>state.closedOfficeKioskVR,\n    getClosedOfficeKioskDLVR: state =>state.closedOfficeKioskDLVR,\n\n    */\n\n    getOfficesNearby: state => state.officesNearby,\n    getOfficesNearbySecondary: state => state.officesNearbySecondary,\n    getOfficesNearbyFurtherOut: state => state.officesNearbyFurtherOut,    \n    getDataLoaded: state => state.dataLoaded,\n    getPrimaryCard:state => state.primaryCard,\n\n    // Toggles\n    getToggleDL:state => state.toggleDL,\n    getToggleLPA:state => state.toggleLPA,\n    // getToggleMO:state => state.toggleMO,\n    getToggleIRP:state => state.toggleIRP,\n    getToggleLT:state => state.toggleLT,\n    getToggleClosed:state => state.toggleClosed,\n    getToggleDLSaturday:state => state.toggleDLSaturday,\n    getToggleDLkiosk:state => state.toggleKioskDL,\n    getToggleVRkiosk:state => state.toggleKioskVR,\n    getToggleDLVRkiosk:state => state.toggleKioskDLVR,\n\n    \n    getSearchData:state => state.searchData,\n\n    // IWT\n    getIWTTopLevelUnitDL:   state => state.itwTopLevelUnitDL,\n    getIWTTopLevelUnitLPA:  state => state.itwTopLevelUnitLPA,\n    getIWTTopLevelUnitIRP:  state => state.itwTopLevelUnitIRP,\n    getIWTTopLevelUnitLT:   state => state.itwTopLevelUnitLT,\n    getIWTLoadWindow:       state => state.iwtLoadWindow,\n    getIsIWTLoaded:         state => state.isIWTLoaded\n  },\n  \n  actions: {\n    //updateStoreData(storeToUpdate, data) {\n      // if(storeToUpdate && data) {\n      //   this[storeToUpdate](data);\n      // }\n    //},\n    async fetchZipCityCountydata() {\n      const fetchData = await zipCityCountyConfigAction(); // api call to get zip-city-county data\n      this.SET_SEARCH_DATA(fetchData);\n      if (location.search && fetchData) {\n        const filteredCountyData = await filterCountyLocationAction(location.search, fetchData)\n        this.SET_USER_LOCATION(filteredCountyData);\n      }\n    },\n    clearClosedOfficeMode() {\n      if (this.getMapMode) {\n          this.SET_MAPMODE(false)\n          const url = new URL(window.location.href);\n          url?.searchParams.delete('mode');\n          history.pushState({}, '', url.href)\n      }\n    },\n    SET_LPAKIOSKALLOWED(data){\n      this.lpaKioskAllowed = data\n    },\n    SET_ISSTATEHOLIDAY(data){\n      this.isStateHoliday = data\n    },\n    SET_SHOWONLYKIOSK(data){\n      this.showOnlyKiosk = data\n    },\n    SET_IWTLOADWINDOW(data){\n      this.iwtLoadWindow = data\n    },\n    SET_ISIWTLOADED(data){\n      this.isIWTLoaded = data\n    },\n    SET_MAPMODE(data){\n      this.mapMode = data\n    },\n    SET_TIER_LOCATIONS_URL(data){\n      this.locationsURL = data\n    },\n    SET_TIER_LOCATIONS_URL_SEARCH(data){\n      this.locationsURLsearch = data\n    },\n    SET_TIER_LOCATIONS_IWT(data){\n      this.iwtURL = data\n    },\n    UPDATE_MAP_API_KEY(data){\n      this.mapAPIkey = data\n    },\n    SET_ALLOWED_IWT_DATE_TIME(data){\n      this.allowedDateTime = data\n    },\n    SET_MAP_POLLING_INTERVAl(data){\n      this.mapPollingInterval = data\n    },\n\n    SET_MAPAPI_RESPONSE(data){\n      this.mapAPIresponse = data;\n    },\n    SET_SEARCH_DATA(data){\n      this.searchData = data;\n    },\n    SET_USER_LOCATION(data){\n      this.userLocation = data;\n    },\n    SET_ZOOMED_LOCATION(data){\n      this.zoomedLocation = data;\n    },\n    CLEAR_NEARBY_OFFICES(data){\n      this.officesNearby = data;\n    },\n    SET_NEARBY_OFFICES(data){\n      this.officesNearby = data  // this one is good for geolocation\n    },\n    SET_NEARBY_OFFICES_SECONDARY(data){\n      this.officesNearbySecondary = data;\n    },\n    SET_NEARBY_OFFICES_FURTHEROUT(data){\n      this.officesNearbyFurtherOut = data;\n    },\n    SET_PRIMARY_CARD(data){\n      this.primaryCard = data\n    },\n    TOGGLE_SWITCH_DL(data){\n      this.toggleDL = data\n    },\n    TOGGLE_SWITCH_LPA(data){\n      this.toggleLPA = data\n    },\n    // TOGGLE_SWITCH_MO:(state,data) =>{\n    //   this.toggleMO = data\n    // },\n    TOGGLE_SWITCH_LT(data){\n      this.toggleLT = data\n    },\n    TOGGLE_SWITCH_IRP(data){\n      this.toggleIRP = data\n    },\n    // TOGGLE_SWITCH_APT:(state,data) =>{\n    //   this.toggleApt = data\n    // },\n    TOGGLE_SWITCH_CLOSED(data){\n      this.toggleClosed = data\n    },\n    TOGGLE_SWITCH_DL_SATURDAY(data){\n      this.toggleDLSaturday = data\n    },\n    TOGGLE_SWITCH_KIOSK_DL(data){\n      this.toggleKioskDL = data\n    },\n    TOGGLE_SWITCH_KIOSK_VR(data){\n      this.toggleKioskVR = data\n    },\n    TOGGLE_SWITCH_KIOSK_DLVR(data){\n      this.toggleKioskDLVR = data\n    },\n    SET_DATALOADED(data){\n      this.dataLoaded = data\n    },\n\n    // DL data\n    SET_OFFICE_DL_WITHKIOSKS(data){\n      this.officekDLwithKiosks = data\n    },\n    SET_OFFICE_DL(data){\n      this.officeDL = data\n    },\n\n    // LPA data\n    SET_OFFICE_LPA_WITHKIOSKS(data){\n      this.officeLPAwithKiosks = data\n    },\n    SET_OFFICE_LPA(data){\n      this.officeLPA = data\n    },\n\n\n    // Saturdays\n    SET_OFFICE_DL_SATURDAYWITHKIOSKS(data){\n      this.officeDLSaturdayWithKiosks = data\n    },\n    SET_OFFICE_DL_SATURDAY(data){\n      this.officeDLSaturday = data\n    },\n\n    // All Kiosks\n    SET_OFFICE_ALL_KIOSKS(data){\n      this.officeKAllKiosks = data\n    },\n\n    SET_OFFICE_ONLY_LPA_KIOSKS(data){\n      this.officeKAllKiosksLPA = data\n    },\n\n\n    SET_OFFICE_IRP(data){\n      this.officeIRP = data\n    },\n    SET_OFFICE_LT(data){\n      this.officeLT = data\n    },\n\n\n\n    SET_OFFICE_DL_WITHKIOSKS_CLOSED(data){\n      this.closedOfficeKioskDL = data\n    },\n    SET_OFFICE_DL_CLOSED(data){\n      this.closedOfficeDL = data\n    },\n    SET_OFFICE_ALL_KIOSKS_CLOSED(data){\n      this.closedOfficeKioskDLVR = data\n    },\n    SET_OFFICE_LPA_WITHKIOSKS_CLOSED(data){\n      this.closedOfficeKioskVR = data\n    },\n    SET_OFFICE_LPA_CLOSED(data){\n      this.closedOfficeLPA = data\n    },\n    SET_OFFICE_IRP_CLOSED(data){\n      this.closedOfficeIRP = data\n    },\n    SET_OFFICE_LT_CLOSED(data){\n      this.closedOfficeLT = data\n    },\n\n\n    /*\n    SET_OFFICEDL: (state,data) =>{\n      state.officeDL = data\n    },\n    SET_OFFICELPA: (state,data) =>{\n      state.officeLPA = data\n    },\n    // SET_OFFICEMO: (state,data) =>{\n    //   // state.officeMO = Object.assign({},data)\n    //   // state.officeMO = [...state.officeMO, data]\n    //   state.officeMO = data\n    // },\n    SET_OFFICEIRP: (state,data) =>{\n      state.officeIRP = data\n    },\n    SET_OFFICELT: (state,data) =>{\n      state.officeLT = data\n    },\n\n    SET_OFFICEKIOSKDL: (state,data) =>{\n      state.officeKioskDL = data\n    },\n\n    SET_OFFICEKIOSKVR: (state,data) =>{\n      state.officeKioskVR = data\n    },\n\n    SET_OFFICEKIOSKDLVR: (state,data) =>{\n      state.officeKioskDLVR = data\n    },\n\n    SET_OFFICEDLSATURDAY: (state,data) =>{\n      state.officeDLSaturday = data\n    },\n    SET_OFFICELPASATURDAY: (state,data) =>{\n      state.officeLPASaturday = data\n    },\n    SET_CLOSEDOFFICEDL: (state,data) =>{\n      state.closedOfficeDL = data\n    },\n    SET_CLOSEDOFFICELPA: (state,data) =>{\n      state.closedOfficeLPA = data\n    },\n    // SET_CLOSEDOFFICEMO: (state,data) =>{\n    //   // state.officeMO = Object.assign({},data)\n    //   // state.officeMO = [...state.officeMO, data]\n    //   state.closedOfficeMO = data\n    // },\n    SET_CLOSEDOFFICEIRP: (state,data) =>{\n      state.closedOfficeIRP = data\n    },\n    SET_CLOSEDOFFICELT: (state,data) =>{\n      state.closedOfficeLT = data\n    },\n\n    SET_CLOSEDOFFICEKIOSKDL: (state,data) =>{\n      state.closedOfficeKioskDL = data\n    },\n    SET_CLOSEDOFFICEKIOSKVR: (state,data) =>{\n      state.closedOfficeKioskVR = data\n    },\n\n    SET_CLOSEDOFFICEKIOSKDLVR: (state,data) =>{\n      state.closedOfficeKioskDLVR = data\n    },\n\n    */\n  }\n\n})\n","<script>\n// This component loads data for internet wait time (IWT), merges and transforms it, then updates the Vuex store.\n\n  // Component loads\n  // Waits for Office Locations App data to load\n  // Waits for Office Locs + IWT Key JSON to load\n  // Loads IWT data\n  // Merges the two data sources by key\n  // Updates Vue state\n\n// This renders nothing on the screen.\n\n// All this should be in a web worker\n\nimport { useRootStore } from \"../store\";\nimport { toRaw } from \"vue\";\n\n/*eslint no-useless-escape: */\n/*eslint no-redeclare: */\nexport default {\n  name: \"InternetWaitTimeLoader\",\n  data() {\n    return {\n      rootStore: useRootStore(),\n      IWTdataDL:\"\",\n      IWTdataLPA:\"\",\n      IWTdataIRP:\"\",\n      IWTdataLT:\"\",\n      loadIWTFlag: false,\n      IWTdataLoadedDL: false,\n      IWTdataLoadedLPA: false,\n      // IWTdataLoadedIRP: false,\n      // IWTdataLoadedLT: false,\n\n      // Have the Office Locations app locations loaded?\n      officeLocsDLloaded:false,\n      officeLocsDLKioskLoaded:false,\n      officeLocsLPAloaded:false,\n      officeLocsLPAKioskLoaded:false,\n      // officeLocsIRPloaded:false,\n      // officeLocsLTloaded:false,\n\n      // Have the IWT office keys loaded?\n      officeKeysDLloaded: false, \n      officeKeysLPAloaded: false, \n      // officeKeysMOloaded: false, \n      // officeKeysIRPloaded: false, \n      // officeKeysLTloaded: false,\n\n      // Temporary table that connects NCDMV and IWT locations\n      officeKeysDL: [], \n      officeKeysLPA: [], \n      // officeKeysMO: [], \n      // officeKeysIRP: [], \n      // officeKeysLT: []\n    };\n  },\n\n\ncreated(){\n   \n    // Load the keys that match DMV Office Locs with IWT locs\n    console.log(\"PROGRESS: Internet Wait Time component mounted\")\n\n    this.loadITWtimeKeys()\n\n      // now.toLocaleTimeString('en-US',{timeZone:'America/New_York'})\n\n      // Get the current date\n      // this.loadIWTFlag = true;\n    \n},\nwatch: {\n    getallowedDateTime:function() {\n      if(this.getallowedDateTime){\n       return this.loadIWTFlag = true;\n      }\n    },\n    // Add a flag for when office locations data has loaded\n    // Need that fully loaded before trying to mix in IWT data\n    getOfficeDL:function(){\n      if(this.getOfficeDL.length > 50){     \n        return this.officeLocsDLloaded = true\n      }\n    },\n    getOfficeDLkiosk:function(){\n      if(this.getOfficeDL.length > 50){     \n        return this.officeLocsDLKioskLoaded = true\n      }\n    },\n    getOfficeLPA:function(){\n      if(this.getOfficeLPA.length > 50){\n        return this.officeLocsLPAloaded = true\n      }\n    },\n    getOfficeLPAkiosk:function(){\n      if(this.getOfficeLPA.length > 50){\n        return this.officeLocsLPAKioskLoaded = true\n      }\n    },\n    // getOfficeLT:function(){\n    //   if(this.getOfficeLT.length > 1){\n    //     return this.officeLocsLTloaded = true\n    //   }\n    // },\n    // getOfficeIRP:function(){\n    //   if(this.getOfficeIRP.length > 1){\n    //     return this.officeLocsIRPloaded = true\n    //   }\n    // },\n\n    // Error appears to be here. Watcher goes true, then false and doesn't load\n    // When office location data is loaded, start the IWT web service loading\n    officeLocsDLloaded:function(){\n      //   console.log('officeKeysDLloaded is now true ')\n      // if(this.officeKeysDLloaded === true){\n        return [console.log(\"PROGRESS: NCDMV Office location data is loaded, start loading IWT data\"),\n        this.loadIWTPolling()\n        // this.loadIWTdata(this.getIWTTopLevelUnitIRP,\"IRP\"),\n        // this.loadIWTdata(this.getIWTTopLevelUnitLT,\"LT\")\n        ]\n      // } else {\n      //   return console.log(\"officeKeysDLloaded is still false\")\n      // }\n    },\n\n\n  // These bothsides watchers listen for when both IWT and DMV office data is loaded, and then starts the merging process\n    bothSidesLoadedDL:function(){\n        if(this.bothSidesLoadedDL !== undefined && this.bothSidesLoadedDL === true ){\n            // console.log(this.bothSidesLoadedDL)\n            // console.log(this.getOfficeDL)\n            // console.log(this.officeKeysDL)\n            // console.log(this.IWTdataDL)\n            console.log(\"PROGRESS: Starting to merge DL Office location data with IWT data\")\n            return [\n              this.mergeIWTkeysWithNCDMV(this.getOfficeDL,this.officeKeysDL,\"SET_OFFICE_DL\",this.IWTdataDL),\n              this.mergeIWTkeysWithNCDMV(this.getOfficeDLkiosk,this.officeKeysDL,\"SET_OFFICE_DL_WITHKIOSKS\",this.IWTdataDL),\n              this.mergeIWTkeysWithNCDMV(this.getOfficeDLSaturday,this.officeKeysDL,\"SET_OFFICE_DL_SATURDAY\",this.IWTdataDL),\n            ]\n        }        \n    },\n\n    bothSidesLoadedLPA:function(){\n        if(this.bothSidesLoadedLPA !== undefined && this.bothSidesLoadedLPA === true){\n            console.log(\"PROGRESS: Starting to merge LPA Office location data with IWT data\")\n            return this.mergeIWTkeysWithNCDMV(this.getOfficeLPA,this.officeKeysLPA,\"SET_OFFICELPA\",this.IWTdataLPA)\n        }        \n    },\n    loadIWTFlag() {\n      \n      const allowedDateTimeObj = this.getallowedDateTime;\n      \n      const iwtWindowCheck = () => {\n        let now = new Date();\n        // Create an instance of this date based on the correct time zone\n        let nowAdjusted = new Date(now.toLocaleString('en-US', { timeZone: 'America/New_York' }))\n\n        // Identify the date\n        let day = nowAdjusted.getDay()\n\n        let hours = nowAdjusted.getHours()\n\n        console.log(\"TIME: The user's browser time is \" + now + \" and we've converted it to \" + nowAdjusted + \". The numerical day of the week is \" + day + \", and the hour is \" + hours + \".\")\n        // If its a weekday and before noooooon\n        if ((day === allowedDateTimeObj.endDate) || (day > allowedDateTimeObj.startDate && day < allowedDateTimeObj.endDate && hours >= allowedDateTimeObj.startTime)) {\n          console.log(\"RULE SETTING: Since it is after noon on a weekday, or a Saturday, we can display Internet Wait Time\")\n          this.rootStore.SET_IWTLOADWINDOW(true)\n          return true;\n        } else {\n          console.log(\"RULE SETTING: It is before noon on a weekday or a Sunday, so we don't load Internet Wait Time\")\n          this.rootStore.SET_IWTLOADWINDOW(false)\n          return false;\n        }\n      }\n      iwtWindowCheck();\n      // seperate it out based on  getmapPollingInterval watcher \n      const pollingInterval = this.rootStore.mapPollingInterval;\n      setInterval(async () => {\n        if (this.rootStore.iwtLoadWindow || iwtWindowCheck()) {\n          await this.loadIWTPolling();\n          await this.updatePrimaryCard();\n          if (this.IWTdataDL) {\n            this.mergeIWTkeysWithNCDMV(this.getOfficeDL, this.officeKeysDL, \"SET_OFFICE_DL\", this.IWTdataDL);\n            this.mergeIWTkeysWithNCDMV(this.getOfficeDLkiosk, this.officeKeysDL, \"SET_OFFICE_DL_WITHKIOSKS\", this.IWTdataDL);\n            this.mergeIWTkeysWithNCDMV(this.getOfficeDLSaturday, this.officeKeysDL, \"SET_OFFICE_DL_SATURDAY\", this.IWTdataDL);\n          }\n          if (this.IWTdataLPA) {\n            this.mergeIWTkeysWithNCDMV(this.getOfficeLPA, this.officeKeysLPA, \"SET_OFFICELPA\", this.IWTdataLPA);\n          }\n\n        }\n      }, pollingInterval);\n\n    }\n    // bothSidesLoadedMO:function(){\n    //     if(this.bothSidesLoadedMO !== undefined && this.bothSidesLoadedMO === true){\n    //         console.log(\"PROGRESS: Starting to merge MO Office location data with IWT data\")\n    //         return this.mergeIWTkeysWithNCDMV(this.getOfficeMO,this.officeKeysLPA,\"SET_OFFICEMO\",this.IWTdataMO)\n    //     }        \n    // },\n\n    // bothSidesLoadedIRP:function(){\n    //     if(this.bothSidesLoadedIRP !== undefined && this.bothSidesLoadedIRP === true){\n    //         console.log(\"PROGRESS: Starting to merge DL Office location data with IRP data\")\n    //         return this.mergeIWTkeysWithNCDMV(this.getOfficeIRP,this.officeKeysLPA,\"SET_OFFICEIRP\",this.IWTdataIRP)\n    //     }        \n    // },\n\n    // bothSidesLoadedLT:function(){\n    //     if(this.bothSidesLoadedLT !== undefined && this.bothSidesLoadedLT === true){\n    //         console.log(\"PROGRESS: Starting to merge DL Office location data with LT data\")\n    //         return this.mergeIWTkeysWithNCDMV(this.getOfficeLT,this.officeKeysLPA,\"SET_OFFICELT\",this.IWTdataLT)\n    //     }        \n    // },\n  },\n  methods: {\n    updatePrimaryCard() {\n      let currentMarker = this.rootStore.primaryCard;\n            if(currentMarker?.IWTOffice) {\n              let newWaitTime = this.IWTdataDL.find(item => item.IWTOffice === currentMarker?.IWTOffice);\n              currentMarker.IWTavgWT = newWaitTime.IWTavgWT;\n              this.rootStore.SET_PRIMARY_CARD(currentMarker);\n            }\n    },\n    async loadIWTPolling() { \n        await this.loadIWTdata(this.rootStore.itwTopLevelUnitDL,\"DL\");\n        await this.loadIWTdata(this.rootStore.itwTopLevelUnitLPA,\"LPA\");\n    },\n    \n    // Loads IWT keys, a JSON/.data file that is used to\n    // match up IWT's offices with DMV Office Locations app\n    // locations. \n    \n    // Once loaded, state is updated and a flag\n    // is set to true.\n    loadITWtimeKeys() {\n      console.log(\"PROGRESS: Starting to load IWT keys\")\n      // To do:  These four should be a single function. Stuck right now because we're\n      // fetching environmental variables.\n      fetch(process.env.VUE_APP_OFFICEMATCHDL)\n        .then((response) => response.json())\n        .then((data) => {\n            return [this.officeKeysDL = data, this.officeKeysDLloaded = true]\n        }).catch((error) => {\n            return console.error('Error loading matching key for ' + process.env.VUE_APP_OFFICEMATCHDL + ':\\n', error);\n        });\n\n      fetch(process.env.VUE_APP_OFFICEMATCHLPA)\n        .then((response) => response.json())\n        .then((data) => {\n            return [this.officeKeysLPA = data, this.officeKeysLPAloaded = true]\n        }).catch((error) => {\n            return console.error('Error loading matching key for  ' + process.env.VUE_APP_OFFICEMATCHDL + ':\\n', error);\n        });\n\n      // fetch(process.env.VUE_APP_OFFICEMATCHMO)\n      //   .then((response) => response.json())\n      //   .then((data) => {\n      //       return [this.officeKeysMO = data, this.officeKeysMOloaded = true]\n      //   }).catch((error) => {\n      //       return console.error('Error loading matching key for  ' + process.env.VUE_APP_OFFICEMATCHDL + ':\\n', error);\n      //   });\n\n      fetch(process.env.VUE_APP_OFFICEMATCHLT)\n        .then((response) => response.json())\n        .then((data) => {\n            return [this.officeKeysLT = data, this.officeKeysLTloaded = true]\n        }).catch((error) => {\n            return console.error('Error loading matching key for  ' + process.env.VUE_APP_OFFICEMATCHDL + ':\\n', error);\n        });\n\n      fetch(process.env.VUE_APP_OFFICEMATCHIRP)\n        .then((response) => response.json())\n        .then((data) => {\n            return [this.officeKeysIRP = data, this.officeKeysIRPloaded = true]\n        }).catch((error) => {\n            return console.error('Error loading matching key for  ' + process.env.VUE_APP_OFFICEMATCHDL + ':\\n', error);\n        });\n    },\n\n\n  // Returns a \"red, yellow, green\" status for each office\n    buildIWTwaitLevel(passedTime){\n\n          const timeArray = passedTime.split(\":\")\n\n          // Handle 1 to 2 hours\n          if(timeArray[0] === '1' && timeArray[1] !== '00' ){\n            return \"yellow\"\n          }\n\n          // Handle greater than two hours\n          if(timeArray[0] !== '0' && timeArray[0] !== '1'){\n            return \"red\"\n          }\n\n          // Under an hour makes you green\n          return \"green\"\n\n    },\n\n\n    // IWT teturns a response of \"0:00:00\" to, this function returns\n    // a more human readable syntax for display\n    buildTimeString(passedTime){       \n\n        // Break the default returned time into an array\n        const timeArray = passedTime.split(\":\")\n\n        // Numbers are strings here. \n\n        // Handle exactly zero hours, zero minutes, aka \"excellent timing on the customer's part\" \n        if(timeArray[0] === '0' && timeArray[1] === '00' ){  \n          return \"0 minutes\"\n        }\n\n        // Handle exactly 1 minute\n        if(timeArray[0] === '0' && timeArray[1] === '01' ){  \n          return parseInt(timeArray[1]) + \" minute\"\n        }\n\n        // Handle exactly 1 hour no minutes\n        if(timeArray[0] === '1' && timeArray[1] === '00' ){\n            return \"1 hour\"\n        }\n\n        // Handle 1 hour and some minutes\n        if(timeArray[0] === '1' && timeArray[1] !== '00' ){\n          return \"1 hour, \" + timeArray[1] + \" minutes\"\n        }\n\n        // Handle \"some number of minutes and zero hours\"\n        if(timeArray[0] === '0' && timeArray[1] !== '00' ){  \n          return parseInt(timeArray[1]) + \" minutes\"\n        }\n\n        // Handle >1 hours, no minutes\n        if(timeArray[0] !== '1' && timeArray[0] !== '0' && timeArray[1] === '00' ){\n            return timeArray[0] + \" hours\"\n        }\n\n        // Handle some combination of hours and exactly 1 minute\n        if(timeArray[0] !== '0' && timeArray[1] === '01' ){\n          return timeArray[0] + \" hours, \" + parseInt(timeArray[1]) + \" minute\"\n        }\n        \n        // Handle some combination of hours and minutes (The most common scenario)\n        if(timeArray[0] !== '0' && timeArray[1] !== '00' ){\n            return timeArray[0] + \" hours, \" + parseInt(timeArray[1]) + \" minutes\"\n        }\n\n\n        return \"\"\n    },\n\n    // Loads IWT times from ACF product.\n    // Expects the top level unit from computed properties, \n    // and then the two letter code for the type office\n   async loadIWTdata(iwtType,ncdmvType) {\n      if(iwtType !== undefined && iwtType !==null && iwtType !==\"\"){\n\n        console.log(\"loadIWTdata is starting for \" + ncdmvType )\n      // rootStore-iwtURL Returns this tier's IWT REST API URL\n       await fetch(this.rootStore.iwtURL + iwtType)\n          .then((response) => response.text())\n          .then((data) => {\n            \n            console.log(\"PROGRESS: Starting to load IWT data for \" + ncdmvType)\n\n            // Convert ACF's IWT data into XML, since that's what\n            // its being sent as.\n            const parser = new DOMParser();\n            const xml = parser.parseFromString(data, \"application/xml\");\n\n            // Convert the XML to JSON\n            let returnedJSON = this.xmlToJson(xml)\n\n            // Just the Unit level \n            let unitReturnedJson = returnedJSON.Units.Unit\n\n            // Handle edge case. If there's only 1 location retunred, unitReturnedJson \n            // comes back as an object instead of an array of objects.\n            const checkArray = Array.isArray(unitReturnedJson)\n\n            if(checkArray === false){\n              console.log('Note: Only 1 location returned for office type ' + ncdmvType)\n              const tempArray = []\n              tempArray.push(unitReturnedJson)\n              unitReturnedJson = tempArray\n            }\n        \n            // Clean up some oddly-structured nested objects\n            for (const i of unitReturnedJson){\n              i.ParentUnitName = i.ParentUnitName[\"#text\"]\n              i.ParentUnitId = parseInt(i.ParentUnitId[\"#text\"])\n              i.IWTOffice = parseInt(i[\"@attributes\"][\"UnitId\"])\n              delete i[\"@attributes\"]\n              delete i.Description\n              delete i.OfficePhone\n              i.IWTaddress = i.Address[\"#text\"]\n              delete i.Address\n              i.IWThours = i.OfficeHours[\"#text\"]\n              delete i.OfficeHours\n              i.IWTstatus = i.OfficeStatus[\"#text\"]\n              delete i.OfficeStatus\n              i.IWTunitlevel = i.UnitLevel[\"#text\"]\n              delete i.UnitLevel\n              i.IWTunitName = i.UnitName[\"#text\"]\n              delete i.UnitName\n              i.IWTparentUnitId = i.ParentUnitId\n              delete i.ParentUnitId\n              i.IWTparentUnitName = i.ParentUnitName\n              delete i.ParentUnitName\n              i.IWTMaxWT = i.MaxWT[\"#text\"]\n              delete i.MaxWT\n              i.IWTavgWT = i.AvgWT[\"#text\"]\n              delete i.AvgWT   \n\n              // Add a green, yellow, red 3 tier alert system\n              i.IWTwaitLevel = this.buildIWTwaitLevel(i.IWTavgWT)\n\n              // Convert average wait time to human-readable\n              i.IWTavgWToriginal = i.IWTavgWT  // The generated time before transforming it\n              i.IWTavgWT = this.buildTimeString(i.IWTavgWT)\n            }\n\n            // Data is now fully loaded for each office. Time to\n            // assign that data to component state, and set the loaded\n            // flag to true.\n            if(ncdmvType === \"DL\"){\n              return [\n                this.IWTdataDL = unitReturnedJson,\n                this.IWTdataLoadedDL = true,\n                console.log(\"PROGRESS: Store now knows IWT data is loaded\"),\n                this.rootStore.SET_ISIWTLOADED(true)\n                ]\n            } else if(ncdmvType === \"LPA\"){\n              return [\n                this.IWTdataLPA = unitReturnedJson,\n                this.IWTdataLoadedLPA = true\n                ]\n            // } else if(ncdmvType === \"IRP\"){\n            //   return [\n            //     this.IWTdataIRP = unitReturnedJson,\n            //     this.IWTdataLoadedIRP = true\n            //     ]\n            // } else if(ncdmvType === \"LT\") {\n            //     return [\n            //       this.IWTdataLT = unitReturnedJson,\n            //       this.IWTdataLoadedLT = true\n            //     ]\n            } else{\n              return false\n            }\n        }).catch((error) => {\n            return [\n              console.error('Unable to load Internet Wait Time from ' + process.env.VUE_APP_LOCATIONS_IWT_URL),\n              console.error('The Internet Wait Time webservice error is ' + error)\n            ];\n        });\n\n      } else{\n        return false\n      }\n    },\n   \n   // Merges IWT keys (just the keys) loaded NCDMV Office Locations app data.\n   mergeIWTkeysWithNCDMV(officeStore,iwtOfficeKeys,storeToUpdate,IWTdataByType) {\n\n      let mergeById = (a1, a2) =>\n          a1.map(itm => ({\n              ...a2.find((item) => (item.id === itm.id) && item),\n              ...itm\n          }));\n\n      const mergedIDs = mergeById(toRaw(officeStore), toRaw(iwtOfficeKeys))\n\n      console.log(\"PROGRESS: Starting to merge IWT key with NCDMV Office Locs data for \" + storeToUpdate)\n      return this.mergeIWTdatawithNCDMV(mergedIDs,storeToUpdate,IWTdataByType)        \n    },\n    \n    // Merge keyed DMV Office Data with now loaded IWT times. \n    // Updates Vuex state with results\n    mergeIWTdatawithNCDMV(mergedKeyNumbers, storeToUpdate, IWTdataByType){\n\n        let mergeByIWTOffice = (a1, a2) =>\n          a1.map(itm => ({\n              ...itm,\n              ...((a2.find((item) => (item.IWTOffice === itm.IWTOffice) && item)) || {})\n          }));\n\n        const mergedData = mergeByIWTOffice(mergedKeyNumbers, toRaw(IWTdataByType))  // needs to be office type bucket of IWT\n        // console.log(mergedData)\n        console.log(\"PROGRESS: Starting final merge between DMV Office data and IWT data for \" + storeToUpdate)\n        return this.rootStore[storeToUpdate] ? this.rootStore[storeToUpdate](mergedData) : null;\n    },\n\n    // Helper funciton to convert IWT's XML data to JSON\n    xmlToJson(xml) {\n      var obj = {};\n\n      if (xml.nodeType == 1) {\n        // element\n        // do attributes\n        if (xml.attributes.length > 0) {\n          obj[\"@attributes\"] = {};\n          for (var j = 0; j < xml.attributes.length; j++) {\n            var attribute = xml.attributes.item(j);\n            obj[\"@attributes\"][attribute.nodeName] = attribute.nodeValue;\n          }\n        }\n      } else if (xml.nodeType == 3) {\n        // text\n        obj = xml.nodeValue;\n      }\n\n      // elements children\n      if (xml.hasChildNodes()) {\n        for (var i = 0; i < xml.childNodes.length; i++) {\n          var item = xml.childNodes.item(i);\n          var nodeName = item.nodeName;\n          if (typeof obj[nodeName] == \"undefined\") {\n            obj[nodeName] = this.xmlToJson(item);\n          } else {\n            if (typeof obj[nodeName].push == \"undefined\") {\n              var old = obj[nodeName];\n              obj[nodeName] = [];\n              obj[nodeName].push(old);\n            }\n            obj[nodeName].push(this.xmlToJson(item));\n          }\n        }\n      }\n      return obj;\n    },\n  },\n  computed: {\n      // Fires when:\n        // IWT data is loaded\n        // All offices for this type are loaded\n        // The IWT matching keys are loaded\n    bothSidesLoadedDL(){ \n\n        if(this.IWTdataLoadedDL === true && this.rootStore.officeDL.length > 0 && this.officeKeysDLloaded === true){\n        // if(this.officeKeysDLloaded === true && ){\n          return true\n        } else \n            return false\n    },\n\n    bothSidesLoadedLPA(){ \n        if(this.IWTdataLoadedLPA === true && this.rootStore.officeLPA.length > 0 && this.officeKeysLPAloaded === true){\n                return true\n            } else \n        return false\n    },\n\n    // bothSidesLoadedMO(){\n    //      if(this.IWTdataLoadedMO === true && this.rootStore.officeMO.length > 0 && this.officeKeysMOloaded === true){\n    //         return true\n    //     } else \n    //         return false\n    // },\n\n    // bothSidesLoadedIRP(){\n    //     if(this.IWTdataLoadedIRP === true && this.rootStore.officeIRP.length > 0 && this.officeKeysIRPloaded === true){\n    //         return true\n    //     } else \n    //         return false\n    // },\n\n    // bothSidesLoadedLT(){\n    //     if(this.IWTdataLoadedLT === true && this.rootStore.officeLT.length > 0 && this.officeKeysLTloaded === true){\n    //         return true\n    //     } else \n    //         return false\n    // },\n\n    // Returns office locations loaded data\n    getOfficeDL() { \n      console.log(\"PROGRESS: getOfficeDL exists in Vuex\")\n      return this.rootStore.officeDL;\n    },\n\n    getOfficeDLkiosk() {  \n      return this.rootStore.officekDLwithKiosks;\n    },\n\n    // DL Saturday offices\n    getOfficeDLSaturday(){\n      return this.rootStore.officeDLSaturday\n    },\n\n    getOfficeLPA() { \n      return this.rootStore.officeLPA;\n    },\n\n    getOfficeLPAkiosk() { \n      return this.rootStore.officeLPAwithKiosks;\n    },\n \n    getallowedDateTime() { \n      return this.rootStore.allowedDateTime;\n    },\n    \n    // getOfficeMO() {\n    //   return this.rootStore.officeMO;\n    // },\n    // getOfficeIRP() {\n    //   return this.rootStore.officeIRP;\n    // },\n    // getOfficeLT() {\n    //   return this.rootStore.officeLT;\n    // },\n\n    // Top level unit IDs for each type of IWT office\n    // getIWTTopLevelUnitDL() {\n    //   return this.rootStore.itwTopLevelUnitDL\n    // },\n    // getIWTTopLevelUnitLPA() {\n    //   return this.rootStore.itwTopLevelUnitLPA\n    // },\n\n\n    // getIWTTopLevelUnitIRP() {\n    //   return this.rootStore.itwTopLevelUnitIRP\n    // },\n    // getIWTTopLevelUnitLT() {\n    //   return this.rootStore.itwTopLevelUnitLT\n    // }\n  }\n}\n</script>","import script from \"./InternetWaitTimeLoader.vue?vue&type=script&lang=js\"\nexport * from \"./InternetWaitTimeLoader.vue?vue&type=script&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\n  <div>\n    <!-- Search, Map, Filtering pieces -->\n    <section\n      id=\"mapInterface\"\n      class=\"\n        page-layout__section\n        u-display\n        xu-display--medium\n        page-layout__section--w-bg\n        u-bg-white\n        page-layout__section--touch-next\n      \">\n\n      <div class=\"page-layout__section-inner\">\n\n   \n        <div class=\"row\">\n          <SearchBox />\n          <sidebarMobile class=\"d-lg-none\" /> \n        </div>\n                        \n\n        <div class=\"row\" id=\"interfaceHolder\">\n          <div class=\"col-lg-10\" id=\"mapHolder\">\n            <Map />\n          </div>\n          <div class=\"col-md-2\" id=\"sideBarBox\">\n            <Sidebar class=\"d-none d-lg-block\" />\n          </div>\n        </div>\n      </div>\n\n          <!-- Internet Wait Time Legend. \n              Show only if we're in the wait time window\n              And only if IWT is successfully loaded -->\n              <!-- Are we in the window of time to display Internet Wait Time?  Boolean   || isIWTLoaded -> Is IWT data loaded? Boolean-->\n          <div v-if=\"this.rootStore.iwtLoadWindow === true && this.rootStore.isIWTLoaded === true\" class=\"page-layout__section-inner\" id=\"IWTlegend\" style=\"margin-top:5px;\">\n            <p class='caption'><span>Driver License wait times:</span>\n              <img loading=\"lazy\" alt=\"Icon representing an office with under an hour wait time\" src=\"assets/pin_dl_open.svg\" /> Under an hour  \n              <img loading=\"lazy\" alt=\"Icon representing an office with a one to two hour wait time\" src=\"assets/pin_dl_open_yellow_dot_triangle.svg\" /> 1 - 2 hours  \n              <img loading=\"lazy\" alt=\"Icon representing an office with a wait time greater than two hours\" src=\"assets/pin_dl_open_red_dot_stripe.svg\" /> 2+ hours\n            </p>\n          </div>\n    </section>\n\n    <!-- result cards -->\n    <section\n      class=\"\n        page-layout__section\n        u-display\n        xu-display--medium\n        page-layout__section--w-bg\n        u-bg-light-gray\n        page-layout__section--touch-next\n      \"\n    >\n      <div\n        class=\"page-layout__section-inner container-fluid no-gutters\"\n        style=\"max-width: 85rem;margin:0 auto\"\n      >\n        <div class=\"row\" id=\"selectedNearby\">\n          <div class=\"col-sm-12 col-lg-9\" v-if=\"this.rootStore.primaryCard.length !== 0\">\n            <h2\n              class=\"heading heading--beta section-title section-title--alt\"\n              v-if=\"this.rootStore.primaryCard.length !== 0\"\n            >\n              <span class=\"section-title__text\">Selected Location</span>\n            </h2>\n          </div>\n\n          <div\n            class=\"col-lg-3 d-none d-lg-block\"\n            v-if=\"this.rootStore.officesNearby.length !== 0 && this.rootStore.primaryCard.length !== 0\"\n            style=\"text-align: right\"\n          >\n            <em v-if=\"this.rootStore.officesNearby.length !== 0\">Nearby Offices</em>\n          </div>\n        </div>\n\n        <div class=\"col-sm-12\" id=\"locationCards\">\n          <SecondaryCards />\n        </div>\n      </div>\n    </section>\n\n    <!--  stats -->\n    <section\n      id=\"officeStatsCallout\"\n      class=\"\n        page-layout__section\n        u-display u-display--medium\n        page-layout__section--w-bg\n        u-bg-accent-light-blue\n      \"\n    >\n      <div class=\"page-layout__section-inner container-fluid\">\n        <h3\n          class=\"\n            heading heading--beta\n            section-title section-title--alt\n            u-color-white\n          \"\n        >\n          <span class=\"section-title__text\">Statewide NCDMV Office Stats</span>\n        </h3>\n        <div class=\"row\">\n          <div class=\"col-sm-12\">\n            <Callouts />\n          </div>\n        </div>\n      </div>\n    </section>\n  </div>\n</template>\n\n\n\n\n\n\n\n\n<script>\nimport SearchBox from \"./SearchBox.vue\";\nimport sidebarMobile from \"./SidebarMobile.vue\";\nimport Sidebar from \"./Sidebar.vue\";\nimport Map from \"./MapComponent.vue\";\nimport Callouts from \"./Callouts.vue\";\nimport SecondaryCards from \"./SecondaryCards.vue\";\nimport { useRootStore } from \"../store\";\n\nexport default {\n  name: \"PublicOfficeLocations\",\n  components: {\n    Sidebar,\n    sidebarMobile,\n    SearchBox,\n    Callouts,\n    Map,\n    SecondaryCards,\n  },\n  data() {\n    return {\n      rootStore: useRootStore()\n    }\n  },\n  computed: {\n  },\n};\n</script>","<template>\n  <div class=\"container\">\n    <!-- GPS Error Modal -->\n    <template v-if=\"gpsErrorModal === true\">\n      <transition name=\"modal\">\n        <div class=\"modal-mask\">\n          <div class=\"modal-wrapper\">\n            <div class=\"modal-dialog\">\n              <div class=\"modal-content\">\n                <div class=\"modal-header bg-warning\">\n                  <h5 class=\"modal-title\">\n                    Unable to acces your device location\n                  </h5>\n                </div>\n                <div class=\"modal-body\">\n                  <p>\n                    Your privacy and/or location settings are preventing this\n                    page from getting your location.\n                  </p>\n                  <p>\n                    You can still enter your zip code, county, or city into the\n                    search box for results near you.\n                  </p>\n                </div>\n                <div class=\"modal-footer\">\n                  <span\n                    type=\"button\"\n                    class=\"btn btn-secondary\"\n                    v-on:click=\"gpsErrorModal = false\"\n                    >Ok</span\n                  >\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </transition>\n    </template>\n\n    <div class=\"row\">\n      <div class=\"col-xs-12 col-sm-12 col-md-4 col-lg-3\">\n        <button\n          v-bind:class=\"[unableToLocate ? 'btn disabled' : 'btn']\"\n          id=\"findme\"\n          v-on:click.prevent=\"golocateme\"\n          v-if=\"this.canGeolocate === true\"\n        >\n          <div\n            v-if=\"geoButtonText == 'Locating…'\"\n            class=\"spinner-border spinner-border-sm text-light\"\n            role=\"status\"\n          ></div>\n\n          {{ this.geoButtonText }}\n        </button>\n      </div>\n\n      <div\n        id=\"geolocateOr\"\n        class=\"col-md-0 d-none d-lg-block\"\n        v-if=\"this.canGeolocate === true\"\n      >\n        <em>or</em>\n      </div>\n\n      <div class=\"col col-md-4\">\n        <div id=\"searchboxWrapper\">\n          \n          <v-select\n            v-model=\"selectedResult\"\n            placeholder=\"Search by zip, city or county\"\n            label=\"l\"\n            :options=\"this.rootStore.searchData\"\n          >\n          </v-select>\n\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\n// import axios from \"axios\";\nimport { useRootStore } from \"../store\";\nimport vSelect from \"vue-select\";\nimport \"vue-select/dist/vue-select.css\";\n import { toRaw } from \"vue\";\n\nexport default {\n  name: \"SearchBox\",\n  components: {\n    vSelect,\n  },\n  data() {\n    return {\n      rootStore: useRootStore(),\n      canGeolocate: false,\n      gpsErrorModal: false,\n      unableToLocate: false,\n      geoResult: [],\n      selectedResult: [],\n      geoButtonText: \"Use my location\",\n    };\n  },\n  watch: {\n    geoResult: function () {\n      if (typeof this.geoResult === \"object\") {\n        this.rootStore.SET_USER_LOCATION(this.geoResult);\n      }\n    },\n    getUserLocation: function () {\n      // Sets the County Param in Search field\n      const userLocation = toRaw(this.getUserLocation);\n      const countySelected = userLocation?.County;\n      const searchData = this.rootStore.searchData\n      const finalObject = searchData.find(item => (item?.f === \"county\" && item?.l?.toUpperCase() === (`${countySelected} County`).toUpperCase()))\n      if (finalObject) {\n        this.selectedResult = finalObject;\n      }\n      // Sets the County Param in url\n      const url = new URL(window.location.href);\n      const currentCounty = url.searchParams.get('county')\n      if (finalObject && finalObject.l && finalObject.a && finalObject.o) {\n        const filteredCounty = finalObject.l.replace(\" County\", \"\")\n        if (currentCounty !== filteredCounty) {\n          url.searchParams.set('county', filteredCounty);\n          history.pushState({}, '', url.href)\n        }\n      } else {\n        url.searchParams.delete('county');\n        history.pushState({}, '', url.href)\n      }\n\n    },\n    selectedResult: function () {\n\n\n      if (this.selectedResult !== undefined && this.selectedResult !== null && typeof this.selectedResult === \"object\") {\n        var _userCoords = {};\n\n        _userCoords.Lat = this.selectedResult.a;\n        _userCoords.Long = this.selectedResult.o;\n\n        if (this.selectedResult.f === \"county\") {\n          _userCoords.County = this.selectedResult.l.replace(\" County\", \"\");\n        }\n\n        if (this.selectedResult.f === \"city\") {\n          _userCoords.City = this.selectedResult.l;\n        }\n\n\n        this.rootStore.SET_USER_LOCATION(_userCoords);\n      }\n    },\n  },\n  methods: {\n  // User may have indicated a location preference. \n    // Check if it is set and apply it on load.\n    getSiteCookies(){\n        if(document.cookie.search('ncdot-gov-zip-lat') !== -1 && document.cookie.search('ncdot-gov-zip-long') !== -1){\n        const cookieLat = document.cookie\n            .split('; ')\n            .find(row => row.startsWith('ncdot-gov-zip-lat='))\n            .split('=')[1];\n        const cookieLong = document.cookie\n            .split('; ')\n            .find(row => row.startsWith('ncdot-gov-zip-long='))\n            .split('=')[1];\n\n\n          console.log('Use users existing location of ' + cookieLat + ' and ' + cookieLong)\n\n          // Add check for any user who had a location and cleared it out,\n          // which leaves the cookies in an odd place of existing but not\n          // having any values\n          if(cookieLat !=='' && cookieLong !==''){\n            const getUserSiteLoc = {}\n\n            getUserSiteLoc.Lat = cookieLat;\n            getUserSiteLoc.Long = cookieLong;\n\n            this.geoResult = getUserSiteLoc;\n          }\n\n    }\n\n    },\n\n\n    golocatemeError: function () {\n      var thisGoLocateme = this;\n      thisGoLocateme.geoButtonText = \"Unable to access location\";\n      thisGoLocateme.gpsErrorModal = true;\n      thisGoLocateme.unableToLocate = true;\n      console.log(\"GPS ERROR\");\n    },\n\n    golocatemeSuccess: function (position) {\n      var thisGoLocateme = this;\n\n      var _geoCordResult = {};\n\n      _geoCordResult.Lat = position.coords.latitude;\n      _geoCordResult.Long = position.coords.longitude;\n\n      thisGoLocateme.geoResult = _geoCordResult;\n\n      thisGoLocateme.geoButtonText = \"Located!\";\n      console.log(\"geolocating end\");\n    },\n    golocateme: function () {\n      var thisGoLocateme = this;\n\n      if (!navigator.geolocation) {\n        // thisGoLocateme.errorModal = true;\n      } else {\n        thisGoLocateme.geoButtonText = \"Locating…\";\n        console.log(\"Geolocating start\");\n        navigator.geolocation.getCurrentPosition(\n          thisGoLocateme.golocatemeSuccess,\n          thisGoLocateme.golocatemeError\n        );\n      }\n    },\n  },\n  computed: {\n    getUserLocation() {\n      return this.rootStore.userLocation;\n  },\n  },\n  mounted() {\n    // Shows geolocate button if we can geolocate\n    if (!navigator.geolocation) {\n      console.log(\"No geolocation available\");\n      this.canGeolocate = false;\n    } else {\n      this.canGeolocate = true;\n    }\n  \n    \n    this.getSiteCookies()\n  },\n};\n</script>","import { render } from \"./SearchBox.vue?vue&type=template&id=493fc8ea\"\nimport script from \"./SearchBox.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBox.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div>\n    <div class=\"container\" id=\"mobileToggles\">\n      <em>Toggle Offices types: </em>\n      \n      \n      <span\n        v-on:click=\"toggleDLswitch\"\n        v-bind:class=\"[this.rootStore.toggleDL ? 'badge badge-success' : 'badge']\">\n        License\n      </span>\n\n \n\n       <!-- Show Saturday checkbox if any are available --> \n        <span v-if=\"this.rootStore.officeDLSaturday.length > 0\">\n          \n          <input \n            @change=\"toggleSaturdayDLswitch\"\n            :disabled=\"this.rootStore.toggleDL === false\"\n            type=\"checkbox\" id=\"satudayMobileDLcheckbox\" v-model=\"this.rootStore.toggleDLSaturday\" />\n          \n          <label for=\"satudayMobileDLcheckbox\">Saturday license hours</label>\n\n        </span>\n\n      <span class=\"closedCheckboxMobile\">\n        <input @change=\"toggleCLOSEDswitch\" type=\"checkbox\" id=\"settingsClosedcheckbox\"\n          v-model=\"this.rootStore.toggleClosed\" /> \n        <label for=\"settingsClosedcheckbox\">Closed temporarily</label>\n      </span>\n        <hr v-if=\"this.rootStore.officeDLSaturday.length > 0\" />\n\n      <span\n        v-on:click=\"toggleLPAswitch\"\n        v-bind:class=\"[this.rootStore.toggleLPA ? 'badge badge-success' : 'badge']\"\n      >\n        Plate / Vehicle\n      </span>\n      <!-- <span\n        v-on:click=\"toggleMOswitch\"\n        v-bind:class=\"[getToggleMO ? 'badge badge-success' : 'badge']\"\n      >\n        Mobile\n      </span> -->\n      <span\n        v-on:click=\"toggleLTswitch\"\n        v-bind:class=\"[this.rootStore.toggleLT ? 'badge badge-success' : 'badge']\"\n      >\n        License &amp; Theft\n      </span>\n      <span\n        v-on:click=\"toggleIRPswitch\"\n        v-bind:class=\"[this.rootStore.toggleIRP ? 'badge badge-success' : 'badge']\"\n        >Trucking (IRP)\n      </span>\n    </div>\n \n  </div>\n</template>\n\n\n<script>\nimport { useRootStore } from \"../store\";\n\nexport default {\n  data() {\n    return {\n      rootStore: useRootStore()\n    }\n  },\n  methods: {\n    zoomBigMapToOffice(plat, plong) {\n      var _zoomCoords = {};\n\n      _zoomCoords.Lat = plat;\n      _zoomCoords.Long = plong;\n\n      document\n        .getElementById(\"dmvLocsDashboard\")\n        .scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n\n      // clear any primary selected result\n      this.rootStore.SET_PRIMARY_CARD(\"\");\n\n      this.rootStore.SET_ZOOMED_LOCATION(_zoomCoords);\n    },\n\n    toggleCLOSEDswitch: function (event) {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.TOGGLE_SWITCH_CLOSED(event.target.checked);\n    },\n\n    toggleSaturdayDLswitch: function () {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.SET_PRIMARY_CARD([]);\n      this.rootStore.TOGGLE_SWITCH_LPA(false);      \n      this.rootStore.TOGGLE_SWITCH_IRP(false);\n      this.rootStore.TOGGLE_SWITCH_LT(false);\n\n      this.rootStore.TOGGLE_SWITCH_DL(true);\n\n\n      if (this.rootStore.toggleDLSaturday === false) {\n        return this.rootStore.TOGGLE_SWITCH_DL_SATURDAY(true);\n      } else {\n        return this.rootStore.TOGGLE_SWITCH_DL_SATURDAY(false);\n      }\n    },\n\n    toggleDLswitch: function () {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.SET_PRIMARY_CARD([]);\n      if (this.getToggleDL === false) {\n        this.rootStore.TOGGLE_SWITCH_DL_SATURDAY(false);\n        this.rootStore.TOGGLE_SWITCH_DL(true);\n      } else {\n        this.rootStore.TOGGLE_SWITCH_DL(false);\n      }\n    },\n    toggleLPAswitch: function () {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.SET_PRIMARY_CARD([]);\n\n      if (this.rootStore.toggleLPA === false) {\n        this.rootStore.TOGGLE_SWITCH_LPA(true);\n      } else {\n        this.rootStore.TOGGLE_SWITCH_LPA(false);\n      }\n    },\n    // toggleMOswitch: function () {\n    //   this.rootStore.SET_PRIMARY_CARD\", []);\n\n    //   if (this.getToggleMO === false) {\n    //     this.rootStore.TOGGLE_SWITCH_MO\", true);\n    //   } else {\n    //     this.rootStore.TOGGLE_SWITCH_MO\", false);\n    //   }\n    // },\n    toggleLTswitch: function () {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.SET_PRIMARY_CARD([]);\n\n      if (this.rootStore.toggleLT === false) {\n        this.rootStore.TOGGLE_SWITCH_LT(true);\n      } else {\n        this.rootStore.TOGGLE_SWITCH_LT(false);\n      }\n    },\n    toggleIRPswitch: function () {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.SET_PRIMARY_CARD([]);\n\n      if (this.rootStore.toggleIRP === false) {\n        this.rootStore.TOGGLE_SWITCH_IRP(true);\n      } else {\n        this.rootStore.TOGGLE_SWITCH_IRP(false);\n      }\n    },\n    // toggleClosedswitch: function () {\n    //   this.rootStore.SET_PRIMARY_CARD\", []);\n\n    //   if (this.getToggleClosed === false) {\n    //     this.rootStore.TOGGLE_SWITCH_CLOSED\", true);\n    //   } else {\n    //     this.rootStore.TOGGLE_SWITCH_CLOSED\", false);\n    //   }\n    // },\n  },\n  computed: {\n   \n  },\n};\n</script>","import { render } from \"./SidebarMobile.vue?vue&type=template&id=8fff2ca0\"\nimport script from \"./SidebarMobile.vue?vue&type=script&lang=js\"\nexport * from \"./SidebarMobile.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div>\n    <ul class=\"list-group list-group-flush\">\n      <li class=\"list-group-item\">\n        <h6>Choose Office Types</h6>\n      </li>\n\n      <li class=\"list-group-item\">\n\n        <span v-on:change=\"toggleDLswitch\">\n\n          <switches\n            theme=\"bootstrap\"\n            color=\"success\"\n            :emit-on-mount=\"true\"\n            :value=\"this.rootStore.toggleDL\"\n            label=\"Driver License\"\n          ></switches>\n\n        </span>\n\n\n        <span v-if=\"this.rootStore.officeDLSaturday.length > 0\" class=\"checkboxUnderToggle\">\n          <input \n            @change=\"toggleSATURDAYswitch\"\n            \n            type=\"checkbox\" id=\"satudayDLcheckbox\" v-model=\"this.rootStore.toggleDLSaturday\" />\n          <label for=\"satudayDLcheckbox\">Saturday hours</label>\n        </span>\n\n        <span v-if=\"this.rootStore.officeKAllKiosks !== undefined && this.rootStore.officeKAllKiosks.length > 0\" class=\"checkboxUnderToggle\">\n          <input \n            @change=\"toggleKIOSKswitchDL\"\n               \n            type=\"checkbox\" id=\"kioskDLcheckbox\" v-model=\"this.rootStore.toggleKioskDL\" />\n          <label for=\"kioskDLcheckbox\">Include kiosks</label>\n        </span>\n\n      </li>\n\n   \n\n      <li class=\"list-group-item\">\n        <span v-on:change=\"toggleLPAswitch\">\n        <switches\n          theme=\"bootstrap\"\n          color=\"success\"\n          :emit-on-mount=\"true\"\n          :value=\"this.rootStore.toggleLPA\"\n          label=\"Plate &amp; Vehicle\"\n        ></switches>\n        </span>\n\n        <span v-if=\"this.rootStore.officeKAllKiosks !== undefined && this.rootStore.officeKAllKiosks.length > 0\" class=\"checkboxUnderToggle\">\n          <input \n            @change=\"toggleKIOSKswitchLPA\"\n               \n            type=\"checkbox\" id=\"kioskLPAcheckbox\" v-model=\"this.rootStore.toggleKioskVR\" />\n          <label for=\"kioskLPAcheckbox\">Include kiosks</label>\n        </span>\n\n\n      </li>\n\n      <li class=\"list-group-item\" v-on:change=\"toggleLTswitch\">\n        <switches\n          theme=\"bootstrap\"\n          color=\"success\"\n          :emit-on-mount=\"true\"\n          :value=\"this.rootStore.toggleLT\"\n          label=\"License &amp; Theft Bureau\"\n        ></switches>\n      </li>\n\n      <li class=\"list-group-item\" v-on:change=\"toggleIRPswitch\">\n        <switches\n          theme=\"bootstrap\"\n          color=\"success\"\n          :emit-on-mount=\"true\"\n          :value=\"this.rootStore.toggleIRP\"\n          label=\"Commercial Trucking (IRP)\"\n        ></switches>\n      </li>\n      \n    </ul>\n    \n    <div class=\"col\" id=\"settingsToggle\">\n      <div class=\"row\">\n        <div class=\"col-12\">\n          <span class=\"list-group-item checkboxInput\">\n            <input @change=\"toggleCLOSEDswitch\" type=\"checkbox\" id=\"settingsClosedcheckbox\" v-model=\"this.rootStore.toggleClosed\" />\n            <label for=\"settingsClosedcheckbox\">Closed temporarily</label>\n          </span>\n        </div>\n      </div>\n    </div>\n\n\n  </div>\n</template>\n\n\n\n\n\n<script>\nimport { useRootStore } from \"../store\";\nimport Switches from \"vue-switches\";\n\nexport default {\n  name: \"SideBar\",\n  components: {\n    Switches,\n  },\n  data() {\n    return {\n      rootStore: useRootStore()\n    }\n  },\n  methods: {\n\n    toggleDLswitch: function (event) {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.SET_PRIMARY_CARD([]); // Clears out the primary card\n      this.rootStore.TOGGLE_SWITCH_DL(event.target.checked); // Signals to Vuex that the status has changed.\n    },\n\n    toggleLPAswitch: function (event) {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.SET_PRIMARY_CARD([]);\n      this.rootStore.TOGGLE_SWITCH_LPA(event.target.checked);\n    },\n\n     toggleLTswitch: function (event) {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.SET_PRIMARY_CARD([]);\n      this.rootStore.TOGGLE_SWITCH_LT(event.target.checked);\n    },\n    toggleIRPswitch: function (event) {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.SET_PRIMARY_CARD([]);\n      this.rootStore.TOGGLE_SWITCH_IRP(event.target.checked);\n    },\n    \n    toggleCLOSEDswitch: function (event) {\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.TOGGLE_SWITCH_CLOSED(event.target.checked);\n    },\n\n    toggleSATURDAYswitch:function(event){\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.TOGGLE_SWITCH_DL_SATURDAY(event.target.checked);\n    },\n\n    toggleKIOSKswitchDL(event){\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.TOGGLE_SWITCH_KIOSK_DL(event.target.checked); // \n    },\n\n    toggleKIOSKswitchLPA(event){\n      this.rootStore.clearClosedOfficeMode();\n      this.rootStore.TOGGLE_SWITCH_KIOSK_VR(event.target.checked);\n    },\n\n  },\nwatch: {\n\n  },\n  computed: {\n    \n\n  },\n};\n\n</script>","import { render } from \"./Sidebar.vue?vue&type=template&id=54618cc8\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div id=\"dmvLocsDashboard\"></div>\n</template>\n\n<script>\n/* global L */\n/*eslint no-inner-declarations: */\nimport { useRootStore } from \"../store\";\nimport { toRaw } from \"vue\";\n\nexport default {\n  name: \"MapComponent\",\n  computed: {\n    getIsStateHoliday(){\n      return this.rootStore.isStateHoliday;\n    },\n\n    // Is the page in the special \"show only kiosks\" mode\n    getShowOnlyKiosk(){\n      return this.rootStore.showOnlyKiosk;\n    },\n\n    // DL Locations with Kiosks included\n    getOfficekDLwithKiosks(){\n        return this.rootStore.officekDLwithKiosks;\n    },\n\n    // DL only, no kiosks\n    getOfficeDL() {\n        return this.rootStore.officeDL;\n    },\n\n    // Saturday only DL offices\n    getOfficeDLSaturday(){\n       return this.rootStore.officeDLSaturday;\n    },\n\n    // LPA Locations with Kiosks included\n    getOfficeLPAwithKiosks(){\n        return this.rootStore.officeLPAwithKiosks;\n    },\n\n    // LPA only, no kiosks\n    getOfficeLPA() {\n        return this.rootStore.officeLPA;\n    },\n\n    // All kiosk locations\n    getOfficeKAllKiosks(){\n      return this.rootStore.officeKAllKiosks;\n    },\n\n    // ONly LPA Kiosk locations\n    getOfficeKAllKiosksLPA(){\n      return this.rootStore.officeKAllKiosksLPA;\n    },\n\n    // IRP offices\n    getOfficeIRP() {\n        return this.rootStore.officeIRP;\n    },\n\n    // License and theft offices\n    getOfficeLT() {\n        return this.rootStore.officeLT;\n    },\n\n\n    getClosedOfficeDL() {\n        return this.rootStore.closedOfficeDL;\n    },\n    getClosedOfficeLPA() {\n        return this.rootStore.closedOfficeLPA;\n    },\n    getClosedOfficeLT() {\n        return this.rootStore.closedOfficeLT;\n    },\n    getClosedOfficeIRP() {\n        return this.rootStore.closedOfficeIRP;\n    },\n \n\n\n    getMapAPIkey() {\n      return this.rootStore.mapAPIkey;\n    },\n    getUserLocation() {\n      return this.rootStore.userLocation;\n    },\n    getZoomedLocation() {\n      return this.rootStore.zoomedLocation;\n    },\n    getDataLoaded() {\n      return this.rootStore.dataLoaded;\n    },\n    getToggleDL() {\n      return this.rootStore.toggleDL;\n    },\n    getToggleLPA() {\n      return this.rootStore.toggleLPA;\n    },\n    getToggleMO() {\n      return this.rootStore.toggleMO;\n    },\n    getToggleLT() {\n      return this.rootStore.toggleLT;\n    },\n    getToggleIRP() {\n      return this.rootStore.toggleIRP;\n    },\n    getToggleClosed() {\n      return this.rootStore.toggleClosed;\n    },\n    getToggleDLSaturday() {\n      return this.rootStore.toggleDLSaturday;\n    },\n\n    getToggleDLkiosk(){\n      return this.rootStore.toggleKioskDL;\n    },\n\n    getToggleLPAkiosk(){\n      return this.rootStore.toggleKioskVR;\n    },\n\n    getPrimaryCard: function () {\n      return this.rootStore.primaryCard;\n    },\n    getIWTLoadWindow() {\n      return this.rootStore.iwtLoadWindow;\n    },\n    getClosedOfficeMode() {\n      return this.rootStore.mapMode;\n    }\n  },\n  data: function () {\n    return {\n      rootStore: useRootStore(),\n      // districtLayerFeatures: [],\n      kioskMode:false,\n      satrudayMode:false,\n      iconUrlSize: [30, 30],\n      setView: [35.24927, -79.99741],\n      AVMoptions: {\n        bingMapsKey:\n          \"AhZV-7p6O0GkB7SWeEMYX3AGi9jxHMOaI7H9aqlymzHRWRomi3YMKxf3G4jzmnCp\",\n        imagerySet: \"RoadOnDemand\",\n        style:\n          \"&st=wt|fc:ffffff_me|lbc:CCCCCC;loc:ffffff_cah|lbc:CCCCCC;fc:CCCCCC;sc:CCCCCC_tr|lbc:CCCCCC;fc:CCCCCC;sc:CCCCCC_nh|v:0;lv:0_pl|v:0;lv:0_vg|v:0;lv:0_ad|v:0;lv:0\",\n      },\n\n      markerIconDLOkioskopen: L.icon({\n        iconUrl: \"./assets/pin_dl_open_kiosk.svg\",\n        iconSize: [30, 30],\n      }),\n\n      markerIconDLSaturdayopen: L.icon({\n        iconUrl: \"./assets/pin_dl_open.svg\",\n        iconSize: [30, 30],\n      }),\n      markerIconDLOopen: L.icon({\n        iconUrl: \"./assets/pin_dl_open.svg\",\n        iconSize: [30, 30],\n      }),\n\n      // Shows a little yellow dot when the wait is 1+ hours\n      markerIconDLOopenYellow: L.icon({\n        iconUrl: \"./assets/pin_dl_open_yellow_dot_triangle.svg\",\n        iconSize: [30, 30],\n      }),\n\n      // Shows a little red dot when the wait is 2+ hours\n      markerIconDLOopenRed: L.icon({\n        iconUrl: \"./assets/pin_dl_open_red_dot_stripe.svg\",\n        iconSize: [30, 30],\n      }),\n\n      markerIconDLClosed: L.icon({\n        iconUrl: \"./assets/pin_dl_closed.svg\",\n        iconSize: [30, 30],\n      }),\n\n\n      // LPA office with kiosks\n      markerIconLPAOkioskopen: L.icon({\n        iconUrl: \"./assets/pin_lpa_open_kiosk.svg\",\n        iconSize: [30, 30],\n      }),\n\n      markerIconLPAOpen: L.icon({\n        iconUrl: \"./assets/pin_lpa_open.svg\",\n        iconSize: [30, 30],\n      }),\n      markerIconLPAClosed: L.icon({\n        iconUrl: \"./assets/pin_lpa_closed.svg\",\n        iconSize: [30, 30],\n      }),\n      markerIconIRPOpen: L.icon({\n        iconUrl: \"./assets/pin_irp_open.svg\",\n        iconSize: [30, 30],\n      }),\n      markerIconIRPClosed: L.icon({\n        iconUrl: \"./assets/pin_irp_closed.svg\",\n        iconSize: [30, 30],\n      }),\n      markerIconLTOpen: L.icon({\n        iconUrl: \"./assets/pin_lt_open.svg\",\n        iconSize: [30, 30],\n      }),\n      markerIconLTClosed: L.icon({\n        iconUrl: \"./assets/pin_lt_closed.svg\",\n        iconSize: [30, 30],\n      }),\n\n      layerClosedLTOffice: new L.layerGroup(),\n      layerClosedIRPOffice: new L.layerGroup(),\n      layerClosedLPAOffice: new L.layerGroup(),\n      layerClosedDLOffice: new L.layerGroup(),\n      // layerClosedMOOffice: new L.layerGroup(),\n\n      layerOpenIRPOffice: new L.layerGroup(),\n      layerOpenLTOffice: new L.layerGroup(),\n      // layerOpenMOOffice: new L.layerGroup(),\n     \n      layerOpenKioskDLOffices: new L.layerGroup(),\n      layerOpenKioskLPAOffices: new L.layerGroup(),\n\n      layerOpenLPAOffice: new L.layerGroup(),\n      layerOpenLPAOfficeWithKiosks: new L.layerGroup(),\n      \n      layerOpenDLOffice: new L.layerGroup(),\n      layerOpenDLOfficeWithKiosks: new L.layerGroup(),\n      layerOpenDLSaturdayOffice: new L.layerGroup(),\n      layerOpenDLSaturdayOfficeWithKiosks: new L.layerGroup(),\n\n      dmvMap: \"\",\n    };\n  },\n  created() {\n    \n    \n  },\n  methods: {\n    // Sets selected marker\n    makeCardPrimary(marker) {\n      this.primaryCard = marker;\n    },\n    clearPins() {\n      this.layerClosedLTOffice.clearLayers();\n      this.layerClosedIRPOffice.clearLayers();\n      this.layerClosedLPAOffice.clearLayers();\n      this.layerClosedDLOffice.clearLayers();\n      // this.layerClosedMOOffice.clearLayers();\n\n      this.layerOpenIRPOffice.clearLayers();\n      this.layerOpenLTOffice.clearLayers();\n      // this.layerOpenMOOffice.clearLayers();\n      this.layerOpenLPAOffice.clearLayers();\n      this.layerOpenDLOfficeSaturday.clearLayers();\n      this.layerOpenDLOffice.clearLayers();\n    },\n    \n    removeLayerFromMap(currentLayer) {\n      if(this.dmvMap.hasLayer(this[currentLayer])) {\n        this.dmvMap.removeLayer(this[currentLayer]);\n      }\n    },\n  \n\n      // When computed offices are loaded/update, loads map\n    async loadPins() {\n     \n      this.showClosedMarkers(this.getToggleClosed);\n      // Pins for open DL offices, including kiosks. This is defaulted to \"on\" on page load.\n      this.getOfficekDLwithKiosks.forEach((_loc) => {\n\n        // Add a way to show a yellow icon for busy offices and a red icon for very busy offices, or for kiosk locations\n        let DLofficeMarker = this.markerIconDLOopen\n\n        // Handle IWT times\n        if(this.getIWTLoadWindow !== undefined && this.getIWTLoadWindow === true && _loc.IWTwaitLevel === \"yellow\"){\n          DLofficeMarker = this.markerIconDLOopenYellow\n        } else if(this.getIWTLoadWindow !== undefined && this.getIWTLoadWindow === true && _loc.IWTwaitLevel === \"red\"){\n          DLofficeMarker = this.markerIconDLOopenRed\n        } else{\n          DLofficeMarker = this.markerIconDLOopen\n        }\n\n\n        // Add a way to show Kiosk locations with a different icon\n        if(_loc.officeTypes.includes(\"kiosk\") === true){\n          DLofficeMarker = this.markerIconDLOkioskopen\n        }\n\n        this.renderDMVLocs(\n          _loc,\n          \"license\",\n          this.layerOpenDLOfficeWithKiosks,\n          DLofficeMarker \n        );\n      });\n\n\n      // Pins for DL offices with no kiosks shown. Hidden on page load.\n      this.getOfficeDL.forEach((_loc) => {\n\n        // Add a way to show a yellow icon for busy  offices and a red icon for very busy offices\n        let IWTMarker = this.markerIconDLOopen\n\n        if(this.getIWTLoadWindow !== undefined && this.getIWTLoadWindow === true && _loc.IWTwaitLevel === \"yellow\"){\n          IWTMarker = this.markerIconDLOopenYellow\n        } else if(this.getIWTLoadWindow !== undefined && this.getIWTLoadWindow === true && _loc.IWTwaitLevel === \"red\"){\n          IWTMarker = this.markerIconDLOopenRed\n        } else{\n          IWTMarker = this.markerIconDLOopen\n        }\n\n        this.renderDMVLocs(\n          _loc,\n          \"license\",\n          this.layerOpenDLOffice,\n          IWTMarker \n        );\n      });\n\n      // Pins for Saturday Open offices. This layer is hidden on load\n      this.getOfficeDLSaturday.forEach((_loc) => {\n\n        // Add a way to show a yellow icon for busy  offices and a red icon for very busy offices\n         let IWTMarker = this.markerIconDLOopen\n\n        if(this.getIWTLoadWindow !== undefined && this.getIWTLoadWindow === true && _loc.IWTwaitLevel === \"yellow\"){\n          IWTMarker = this.markerIconDLOopenYellow\n        } else if(this.getIWTLoadWindow !== undefined && this.getIWTLoadWindow === true && _loc.IWTwaitLevel === \"red\"){\n          IWTMarker = this.markerIconDLOopenRed\n        } else{\n          IWTMarker = this.markerIconDLOopen\n        }\n\n        this.renderDMVLocs(\n          _loc,\n          \"DLsaturday\",\n          this.layerOpenDLSaturdayOffice,\n          IWTMarker\n        );\n      });\n\n      // LPA offices, including those with kiosks. Default to \"on\" on page load\n        // NO IWT as of 3/24\n      this.getOfficeLPAwithKiosks.forEach((_loc) => {\n\n        let LPAofficeMarker = this.markerIconLPAOpen\n\n        // Add a way to show Kiosk locations with a different icon\n        if(_loc.officeTypes.includes(\"kiosk\") === true){\n          LPAofficeMarker = this.markerIconLPAOkioskopen\n        }\n\n        this.renderDMVLocs(\n          _loc,\n          \"plate\",\n          this.layerOpenLPAOfficeWithKiosks,\n          LPAofficeMarker\n        );\n      });\n\n      // Pins for LPA offices with no kiosks shown. Hidden on page load\n      this.getOfficeLPA.forEach((_loc) => {\n        this.renderDMVLocs(\n          _loc,\n          \"plate\",\n          this.layerOpenLPAOffice,\n          this.markerIconLPAOpen\n        );\n      });\n\n      // Pins for all kiosk locations. Hidden on page load getOfficeKAllKiosks\n      this.getOfficeKAllKiosks.forEach((_loc) => {\n        let KioskOfficeMarker = this.markerIconDLOkioskopen\n\n        // Add a way to show Kiosk locations with a different icon\n        if(_loc.officeTypes.includes(\"plate\") === true){\n          KioskOfficeMarker = this.markerIconLPAOkioskopen\n        }\n\n        this.renderDMVLocs(\n          _loc,\n          \"kiosk\",\n          this.layerOpenKioskDLOffices,\n          KioskOfficeMarker\n        );\n      });\n\n      // Pins for all kiosk LPA locations. Hidden on page load.\n      this.getOfficeKAllKiosksLPA.forEach((_loc) => {\n          \n          let KioskOfficeMarker = this.markerIconDLOkioskopen\n\n          // // Add a way to show Kiosk locations with a different icon\n          // if(_loc.officeTypes.includes(\"plate\") === true){\n          //   KioskOfficeMarker = this.markerIconLPAOkioskopen\n          // }\n\n          this.renderDMVLocs(\n            _loc,\n            \"kiosk\",\n            this.layerOpenKioskLPAOffices,\n            KioskOfficeMarker\n          );\n      });\n\n\n      // Pins for License and theft offices, hidden on page load\n      this.getOfficeLT.forEach((_loc) => {\n        this.renderDMVLocs(\n          _loc,\n          \"lt\",\n          this.layerOpenLTOffice,\n          this.markerIconLTOpen\n        );\n      });\n\n      // Pins for IRP offices, hidden on page load\n      this.getOfficeIRP.forEach((_loc) => {\n        this.renderDMVLocs(\n          _loc,\n          \"irp\",\n          this.layerOpenIRPOffice,\n          this.markerIconIRPOpen\n        );\n      });\n\n      // Pins for closed offices\n      this.getClosedOfficeDL.forEach((_loc) =>{\n        this.renderDMVLocs(\n          _loc,\n          \"license\",\n          this.layerClosedDLOffice,\n          this.markerIconDLClosed  \n        );\n      });\n\n      this.getClosedOfficeLPA.forEach((_loc) => {\n        this.renderDMVLocs(\n          _loc,\n          \"plate\",\n          this.layerClosedLPAOffice,\n          this.markerIconLPAClosed\n        );\n      });\n\n      this.getClosedOfficeLT.forEach((_loc) => {\n        this.renderDMVLocs(\n          _loc,\n          \"lt\",\n          this.layerClosedLTOffice,\n          this.markerIconLTClosed\n        );\n      });\n\n      this.getClosedOfficeIRP.forEach((_loc) => {\n        this.renderDMVLocs(\n          _loc,\n          \"irp\",\n          this.layerClosedIRPOffice,\n          this.markerIconIRPClosed\n        );\n      });\n    },\n\n\n\n    // Puts an individual pin on a map layer.  Expects a marker, and an office type, a layer, and an icon\n    renderDMVLocs: function (marker, passedType, destinationLayer, markerIcon) {\n      let markerMatchFound = false;\n      // return console.log(markerIcon)\n\n      // Handle display of IWT times or messages\n      const waitTimeDisplay = () =>{\n\n      // If its a state holiday, don't display wait time\n        if(this.getIsStateHoliday === true ){\n          return \"<span></span>\"\n        }\n       \n       // If we're outside of IWT operating hours, show an office's custom message\n        if(this.getIWTLoadWindow === false && marker.normalOfficeStatus !== \"Closed\" && marker.Custom !== null && marker.Custom !== undefined){\n          return \"<li><strong>\" + marker.Custom + \"</strong></li>\"\n        }\n\n        // If we're outside of IWT operating hours, show an office's custom message\n        if(this.getIWTLoadWindow === false && marker.officeTypes === \"license\" && marker.normalOfficeStatus !== \"Closed\"){\n          return \"<li>Walk-in wait times are not displayed Monday-Friday before 12 noon.</li>\"\n        }\n\n        // If we have a special custom per-office message from our officeMatch.data files, show that\n          // Office must be open to display message.\n        if(marker.normalOfficeStatus !== \"Closed\" && marker.Custom !== null && marker.Custom !== undefined){\n          return \"<li><strong>\" + marker.Custom + \"</strong></li>\"\n        }\n\n        // If we're a DL office with no IWT time, show a generic message\n        if(marker.officeTypes === \"license\" && marker.normalOfficeStatus === \"Open\" && (marker.IWTavgWT == undefined || marker.IWTavgWT === null || marker.IWTavgWT === \"\")){\n         return \"<li><em>No wait time available for this location</em></li>\"\n        }\n\n        // If we're a VR office with no IWT time, show a generic message\n        if(marker.officeTypes === \"plate\" && marker.normalOfficeStatus === \"Open\" && (marker.IWTavgWT == undefined || marker.IWTavgWT === null || marker.IWTavgWT === \"\")){\n          return \"<li><em>No wait time available for this location</em></li>\"\n        } \n\n        // Otherwise show the wait time\n        if(marker.officeTypes !== \"irp\" && marker.officeTypes !== \"irp,plate\" && marker.IWTavgWT !== undefined && marker.IWTavgWT !== null && marker.IWTavgWT !== \"\" && marker.normalOfficeStatus === \"Open\" ){\n          return \"<li>Current average wait: <strong><em>\" + marker.IWTavgWT + \"</em></strong> from check in</li>\"\n        } \n        \n        // Show nothing\n        else {\n          return \"<span></span>\"\n        }\n     }\n\n     // Handle holiday messaging\n     const holidayMessageDisplay = () =>{\n    \n        // Kiosks don't observe holidays\n        if(marker.officeTypes === \"kiosk\"){\n          return marker.normalOfficeStatus\n        }\n        // Non-kiosks do observe holdiays\n        else if(marker.officeTypes !== \"kiosk\" && this.getIsStateHoliday === true){\n          return \"Closed for the holiday\" \n        }\n        else{\n          return marker.normalOfficeStatus\n        }\n\n     }\n\n      let toolTipTemplate =\n        \"<div class='leafletpopoutbox'><h6>\" +  marker.name + \"</h6>\" +\n        \"<ul><li>Location is: <strong><em>\" + holidayMessageDisplay() + \"</em></strong></li>\" +\n         waitTimeDisplay() \n        + \"<br/><em>Click for details</em>.</div>\";\n\n      destinationLayer.eachLayer((layer) => {\n        if (marker.id === layer.options.id) {\n          markerMatchFound = true;\n          if (layer.options.icon !== markerIcon) {\n            layer.setIcon(markerIcon);\n          }\n          if (layer.getTooltip().getContent() !== toolTipTemplate) {\n            layer.bindTooltip(toolTipTemplate);\n          }\n          layer.off(\"click\");\n          layer.on(\"click\", () => {\n            document\n              .getElementById(\"selectedNearby\")\n              .scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n            this.rootStore.SET_PRIMARY_CARD(marker);\n          });\n          return;\n        }\n      })\n      // return console.log(markerIcon)\n      if (!markerMatchFound) {\n        // Handle display of IWT times or messages\n        // console.log(marker.IWTwaitLevel)\n        L.marker(\n          [marker.lat, marker.lon],\n\n          { icon: markerIcon, id: marker.id }\n        )\n          //.addTo(destinationLayer)\n\n          // Vue3's reactivity requires the use of toRaw here. Otherwise\n          // leaflet.js \n          .addTo(toRaw(destinationLayer))\n\n          .bindTooltip(toolTipTemplate, {\n            offset: [0, 0],\n          })\n          // .on('mouseover',function() {\n          //   console.log(marker.officeTypes)\n          // })\n          .on(\"click\", () => {\n            console.log(\"Showing DMV Office: \" + marker.id + \" with IWT Office: \" + marker.IWTOffice)\n            document\n              .getElementById(\"selectedNearby\")\n              .scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n            this.rootStore.SET_PRIMARY_CARD(marker);\n          });\n      }\n    },\n\n    // Creates the map and defines office layers\n    createMap() {\n      // Map\n      var map = L.map(\"dmvLocsDashboard\", {\n\n        // zoomControl: false,zoom:1,zoomAnimation:false,fadeAnimation:false,markerZoomAnimation:false,\n\n        // zoomAnimation:false,\n        maxBounds: [\n          // Can't pan and zoom to Nova Scotia or Austrailia.\n          //south west\n          [31.468108, -88.737305],\n          //north east\n          [39.195331, -71.487305],\n        ],\n        maxZoom: 16, // We can zoom to street level\n        minZoom: 7, // We can't zoom out to outer space, though\n      }).setView(this.setView, 7);\n\n      this.dmvMap = map;\n\n      // Layer for Map tiles\n      L.tileLayer.bing(this.AVMoptions).addTo(this.dmvMap);\n\n      // Add layers for markers\n      this.layerClosedIRPOffice.addTo(this.dmvMap);\n      this.layerClosedLTOffice.addTo(this.dmvMap);\n      this.layerClosedDLOffice.addTo(this.dmvMap);\n      this.layerClosedLPAOffice.addTo(this.dmvMap);\n      // this.layerClosedMOOffice.addTo(this.dmvMap);\n\n      this.layerOpenIRPOffice.addTo(this.dmvMap);\n      this.layerOpenLTOffice.addTo(this.dmvMap);\n\n      this.layerOpenLPAOfficeWithKiosks.addTo(this.dmvMap);\n      this.layerOpenLPAOffice.addTo(this.dmvMap);\n      this.layerOpenDLOffice.addTo(this.dmvMap);\n      this.layerOpenDLOfficeWithKiosks.addTo(this.dmvMap)\n      this.layerOpenDLSaturdayOffice.addTo(this.dmvMap);\n\n\n      // Hide Saturday on start\n      this.removeLayerFromMap('layerOpenDLSaturdayOffice');\n\n      // Hide Kiosk layers on start:\n      this.removeLayerFromMap('layerOpenKioskDLOffices')\n      this.removeLayerFromMap('layerOpenKioskLPAOffices')\n\n      // Hide DL and LPA without kiosks on start\n      this.removeLayerFromMap('layerOpenDLOffice');\n      this.removeLayerFromMap('layerOpenLPAOffice');\n\n      // Hide L&T and IRP on start\n      this.removeLayerFromMap('layerOpenIRPOffice');\n      this.removeLayerFromMap('layerOpenLTOffice');\n\n\n      // Hide Closed layers on start\n      this.removeLayerFromMap('layerClosedIRPOffice');\n      this.removeLayerFromMap('layerClosedLTOffice');\n      this.removeLayerFromMap('layerClosedDLOffice');\n      this.removeLayerFromMap('layerClosedLPAOffice');\n      \n    },\n\n\n    // Updates map when toggles are toggled\n    updateMapFromToggles(passedToggleStatus, toggelee, typeOfChange) {\n\n      // Clear any cards shown on the screen, every time\n      this.rootStore.SET_PRIMARY_CARD([]);\n      this.rootStore.CLEAR_NEARBY_OFFICES([]);\n\n      // console.log(passedToggleStatus)\n      // console.log(toggelee)\n      // console.log(typeOfChange)\n\n      // console.log(\"The change was \" + typeOfChange + \" and was set to \" + passedToggleStatus)\n    \n  \n      // if(passedToggleStatus === true && typeOfChange === \"toggleDL\" ){\n      //   console.log(\"DL TOGGLE CHANGE ON\")\n      // } else if(passedToggleStatus === false && typeOfChange === \"toggleDL\" ){\n      //   console.log(\"DL TOGGLE CHANGE OFF\")\n      // }\n      /* A: DL toggles */\n      this.showClosedMarkers(this.getToggleClosed);\n      // 1. DL activate. Saturday On. Kiosk On\n      if(passedToggleStatus === true && typeOfChange === \"toggleDL\" && this.getToggleDLSaturday === true && this.getToggleDLkiosk === true){\n        console.log(\"01. DL TOGGLE CHANGE ON. Kiosk On. Saturday On.\")            \n        return[\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.dmvMap.addLayer(this.layerOpenDLOfficeWithKiosks)\n         ]        \n      } \n      // 2. DL activate. Saturday On. Kiosk off\n      else if(passedToggleStatus === true && typeOfChange === \"toggleDL\" && this.getToggleDLSaturday === true && this.getToggleDLkiosk === false){\n        console.log(\"02. DL TOGGLE CHANGE ON. Kiosk off. Saturday On.\")\n        return[\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.dmvMap.addLayer(this.layerOpenDLOffice)\n          ]   \n      }\n     \n      // 3. DL activate. Saturday off. Kiosk On\n      else if(passedToggleStatus === true && typeOfChange === \"toggleDL\" && this.getToggleDLSaturday === false && this.getToggleDLkiosk === true){\n        console.log(\"03. DL TOGGLE CHANGE ON. Kiosk On. Saturday Off.\")\n        /* Might be able to OR this w/#1 */\n        return[\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.dmvMap.addLayer(this.layerOpenDLOfficeWithKiosks)\n         ]      \n      } \n\n      // 4. DL activate. Saturday off. Kiosk off\n      else if(passedToggleStatus === true && typeOfChange === \"toggleDL\" && this.getToggleDLSaturday === false && this.getToggleDLkiosk === false){\n        console.log(\"04. DL TOGGLE CHANGE ON. Kiosk off. Saturday Off.\")\n        return[\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.dmvMap.addLayer(this.layerOpenDLOffice)\n          ]   \n      }\n\n      // 5. DL deactivate. Saturday On. Kiosk On\n      else if(passedToggleStatus === false && typeOfChange === \"toggleDL\" && this.getToggleDLSaturday === true && this.getToggleDLkiosk === true){\n        console.log(\"05. DL TOGGLE CHANGE OFF. Kiosk On. Saturday On.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.dmvMap.addLayer(this.layerOpenKioskDLOffices),\n          this.dmvMap.addLayer(this.layerOpenDLSaturdayOffice)\n         ] \n        \n      } \n      // 6. DL deactivate. Saturday On. Kiosk off\n      else if(passedToggleStatus === false && typeOfChange === \"toggleDL\" && this.getToggleDLSaturday === true && this.getToggleDLkiosk === false){\n        console.log(\"06. DL TOGGLE CHANGE OFF. Kiosk off. Saturday On.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.dmvMap.addLayer(this.layerOpenDLSaturdayOffice)\n        ]   \n      }\n     \n      // 7. DL deactivate. Saturday off. Kiosk On\n      else if(passedToggleStatus === false && typeOfChange === \"toggleDL\" && this.getToggleDLSaturday === false && this.getToggleDLkiosk === true){\n        console.log(\"07. DL TOGGLE CHANGE OFF. Kiosk On. Saturday Off.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.dmvMap.addLayer(this.layerOpenKioskDLOffices)\n        ]   \n      }\n\n      // 8. DL deactivate. Saturday off. Kiosk off\n      else if(passedToggleStatus === false && typeOfChange === \"toggleDL\" && this.getToggleDLSaturday === false && this.getToggleDLkiosk === false){\n        console.log(\"08. DL TOGGLE CHANGE OFF. Kiosk off. Saturday Off.\")\n        return[\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenDLOffice')\n        ]   \n      }\n\n\n\n      /* B: Saturday Toggles */\n\n      // 9. Saturday Activate. Kiosk On. DL on.\n      else if(passedToggleStatus === true && typeOfChange === \"toggleSaturday\" && this.getToggleDL === true && this.getToggleDLkiosk === true){\n        console.log(\"09. SATURDAY TOGGLE ON. Kiosk on. DL On.\")\n        // return[\n        //   this.dmvMap.removeLayer(this.layerOpenDLOffice),\n        //   this.dmvMap.removeLayer(this.layerOpenKioskDLOffices),\n        //   this.dmvMap.addLayer(this.layerOpenDLOfficeWithKiosks)\n        //  ]    \n          return [\n          this.satrudayMode = true,\n         \n          // Hide LPA, L&T, and IRP, unlikely they're open on Saturday.\n          this.rootStore.TOGGLE_SWITCH_DL(false),\n          this.rootStore.TOGGLE_SWITCH_LT(false),\n          this.rootStore.TOGGLE_SWITCH_IRP(false),\n          this.rootStore.TOGGLE_SWITCH_LPA(false),\n          \n          // Remove the DL layer (but don't mess with the toggles)\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'), \n\n          // Show the Saturday DL Layer\n          this.dmvMap.addLayer(toggelee)\n        ]\n      \n      }\n     \n      // 10. Saturday Activate. Kiosk off. DL on.\n      else if(passedToggleStatus === true && typeOfChange === \"toggleSaturday\" && this.getToggleDL === true && this.getToggleDLkiosk === false){\n        console.log(\"10. SATURDAY TOGGLE ON. Kiosk off. DL On.\")\n        return[\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.dmvMap.addLayer(this.layerOpenDLOffice)\n          ]   \n      }\n\n      // 11. Saturday Activate. Kiosk on. DL off.\n      else if(passedToggleStatus === true && typeOfChange === \"toggleSaturday\" && this.getToggleDL === false && this.getToggleDLkiosk === true){\n        console.log(\"11. SATURDAY TOGGLE ON. Kiosk on. DL off.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.dmvMap.addLayer(this.layerOpenKioskDLOffices),\n          this.dmvMap.addLayer(this.layerOpenDLSaturdayOffice)\n        ]   \n      }\n\n      // 12. Saturday Activate. Kiosk off. DL off.\n      else if(passedToggleStatus === true && typeOfChange === \"toggleSaturday\" && this.getToggleDL === false && this.getToggleDLkiosk === false){\n        console.log(\"12. SATURDAY TOGGLE ON. Kiosk off. DL off.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.dmvMap.addLayer(this.layerOpenDLSaturdayOffice)\n        ]   \n      }\n\n      // 13. Saturday DeActivate. Kiosk On. DL on.\n      else if(passedToggleStatus === false && typeOfChange === \"toggleSaturday\" && this.getToggleDL === true && this.getToggleDLkiosk === true){\n        console.log(\"13. SATURDAY TOGGLE OFF. Kiosk on. DL On.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.dmvMap.addLayer(this.layerOpenDLOfficeWithKiosks)\n         ]  \n      }\n     \n      // 14. Saturday DeActivate. Kiosk off. DL on.\n      else if(passedToggleStatus === false && typeOfChange === \"toggleSaturday\" && this.getToggleDL === true && this.getToggleDLkiosk === false){\n        console.log(\"14. SATURDAY TOGGLE OFF. Kiosk off. DL On.\")\n        return[\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.dmvMap.addLayer(this.layerOpenDLOffice)\n         ]\n      }\n\n      // 15. Saturday DeActivate. Kiosk on. DL off.\n      else if(passedToggleStatus === false && typeOfChange === \"toggleSaturday\" && this.getToggleDL === false && this.getToggleDLkiosk === true){\n        console.log(\"15. SATURDAY TOGGLE OFF. Kiosk on. DL off.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenDLSaturdayOffice'),\n          this.dmvMap.addLayer(this.layerOpenKioskDLOffices)\n         ]\n      }\n\n      // 16. Saturday DeActivate. Kiosk off. DL off.\n      else if(passedToggleStatus === false && typeOfChange === \"toggleSaturday\" && this.getToggleDL === false && this.getToggleDLkiosk === false){\n        console.log(\"16. SATURDAY TOGGLE OFF. Kiosk off. DL off.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.removeLayerFromMap('layerOpenDLSaturdayOffice'),\n         ]\n      }\n\n\n\n\n      /* C: Kiosk Toggles */\n\n      // 17. Kiosk Activate. Saturday On. DL on.\n      else if(passedToggleStatus === true && typeOfChange === \"toggleKioskDL\" && this.getToggleDL === true && this.getToggleDLSaturday === true){\n        console.log(\"17. KIOSK TOGGLE ON. Saturday on. DL On.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.dmvMap.addLayer(this.layerOpenDLOfficeWithKiosks)\n         ]  \n      }\n     \n      // 18. Kiosk Activate. Saturday off. DL on.\n      else if(passedToggleStatus === true && typeOfChange === \"toggleKioskDL\" && this.getToggleDL === true && this.getToggleDLSaturday === false){\n        console.log(\"18. KIOSK TOGGLE ON. Saturday off. DL On.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.dmvMap.addLayer(this.layerOpenDLOfficeWithKiosks)\n         ]  \n      }\n\n      // 19. Kiosk Activate. Saturday on. DL off.\n      else if(passedToggleStatus === true && typeOfChange === \"toggleKioskDL\" && this.getToggleDL === false && this.getToggleDLSaturday === true){\n         console.log(\"19. KIOSK TOGGLE ON. Saturday on. DL off.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.dmvMap.addLayer(this.layerOpenKioskDLOffices),\n          this.dmvMap.addLayer(this.layerOpenDLSaturdayOffice)\n         ]  \n      }\n\n      // 20. Kiosk Activate. Saturday off. DL off.\n      else if(passedToggleStatus === true && typeOfChange === \"toggleKioskDL\" && this.getToggleDL === false && this.getToggleDLSaturday === false){\n         console.log(\"20. KIOSK TOGGLE ON. Saturday off. DL off.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.removeLayerFromMap('layerOpenDLSaturdayOffice'),\n          this.dmvMap.addLayer(this.layerOpenKioskDLOffices),\n         ]  \n\n\n      }\n\n      // 21. Kiosk DeActivate. Saturday On. DL on.\n      else if(passedToggleStatus === false && typeOfChange === \"toggleKioskDL\" && this.getToggleDL === true && this.getToggleDLSaturday === true){\n        console.log(\"21. KIOSK TOGGLE OFF. Saturday on. DL On.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.removeLayerFromMap('layerOpenDLSaturdayOffice'),\n          this.dmvMap.addLayer(this.layerOpenDLOffice),\n        ]\n      }\n     \n      // 22. Kiosk DeActivate. Saturday off. DL on.\n      else if(passedToggleStatus === false && typeOfChange === \"toggleKioskDL\" && this.getToggleDL === true && this.getToggleDLSaturday === false){\n        console.log(\"22. KIOSK TOGGLE OFF. Saturday off. DL On.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.removeLayerFromMap('layerOpenDLSaturdayOffice'),\n          this.dmvMap.addLayer(this.layerOpenDLOffice),\n        ]\n      }\n\n      // 23. Kiosk DeActivate. Saturday on. DL off.\n      else if(passedToggleStatus === false && typeOfChange === \"toggleKioskDL\" && this.getToggleDL === false && this.getToggleDLSaturday === true){\n        console.log(\"23. KIOSK TOGGLE OFF. Saturday on. DL off.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices'),\n          this.dmvMap.addLayer(this.layerOpenDLSaturdayOffice)\n        ]\n      }\n\n      // 24. Kiosk DeActivate. Saturday off. DL off.\n      else if(passedToggleStatus === false && typeOfChange === \"toggleKioskDL\" && this.getToggleDL === false && this.getToggleDLSaturday === false){\n        console.log(\"24. KIOSK TOGGLE OFF. Saturday off. DL off.\")\n        return[\n          this.removeLayerFromMap('layerOpenDLOfficeWithKiosks'),\n          this.removeLayerFromMap('layerOpenDLOffice'),\n          this.removeLayerFromMap('layerOpenKioskDLOffices')\n        ]\n      }\n\n\n\n    //   /* VR toggles: */\n\n      // Handle when user untoggles LPA and LPA kiosk is checked \n      else if(typeOfChange === \"toggleLPA\" && passedToggleStatus === false && this.getToggleLPAkiosk === true){\n          // Clear cards\n          this.rootStore.SET_PRIMARY_CARD([]);\n          this.rootStore.CLEAR_NEARBY_OFFICES([]);\n          return[\n            // Untoggle LPA switch and kiosk\n            this.rootStore.TOGGLE_SWITCH_LPA(false),\n            this.rootStore.TOGGLE_SWITCH_KIOSK_VR(event.target.checked),\n            // Hide layers\n            this.removeLayerFromMap('layerOpenLPAOfficeWithKiosks'),\n            this.removeLayerFromMap('layerOpenLPAOffice')\n            ]   \n      }\n\n      // Handle when user retoggling LPA - we always reactivate kiosk checkbox\n      else if(typeOfChange === \"toggleLPA\" && passedToggleStatus === true ){\n          // Clear cards\n          this.rootStore.SET_PRIMARY_CARD([]);\n          this.rootStore.CLEAR_NEARBY_OFFICES([]);\n          return[\n            // Toggle LPA switch and kiosk checkbox\n            this.rootStore.TOGGLE_SWITCH_LPA(true),\n            this.rootStore.TOGGLE_SWITCH_KIOSK_VR(true),\n            // Shows the layer that includes kisoks w/LPA offices\n            this.dmvMap.addLayer(this.layerOpenLPAOfficeWithKiosks),\n            ]   \n      }\n\n      // Handle when a user is deselecting VR when VR Kiosk checkbox is already off.\n      else if(typeOfChange === \"toggleLPA\" && passedToggleStatus === false && this.getToggleLPAkiosk === false){\n          this.rootStore.SET_PRIMARY_CARD([]);\n          this.rootStore.CLEAR_NEARBY_OFFICES([]);\n          return[\n            this.removeLayerFromMap('layerOpenLPAOfficeWithKiosks'),\n            this.removeLayerFromMap('layerOpenLPAOffice')\n          ]\n      }\n\n\n\n      // Handle someone unchecks the LPA 'Include kiosks' checkbox... while LPA is active\n        // The \"show me only LPA offices with humans\" use case\n      else if (typeOfChange === \"toggleKioskLPA\" && passedToggleStatus === false && this.getToggleLPA === true){\n        this.rootStore.SET_PRIMARY_CARD([]);\n        this.rootStore.CLEAR_NEARBY_OFFICES([]);\n        return[\n          this.removeLayerFromMap('layerOpenLPAOfficeWithKiosks'), \n          this.dmvMap.addLayer(this.layerOpenLPAOffice)\n          ]        \n      }\n\n      // Handle someone rechecks the LPA 'Include kiosks' checkbox... while LPA is active\n         // The \"show me both LPA offices with humans and kiosks\"\n      else if (typeOfChange === \"toggleKioskLPA\" && passedToggleStatus === true && this.getToggleLPA === true){\n        this.rootStore.SET_PRIMARY_CARD([]);\n        this.rootStore.CLEAR_NEARBY_OFFICES([]);\n        return[\n          this.dmvMap.addLayer(this.layerOpenLPAOfficeWithKiosks), \n          this.removeLayerFromMap('layerOpenLPAOffice')\n          ]        \n      }\n\n      // Handle someone rechecking the LPA 'Include kiosks' checkbox... while LPA is inactive\n        // The \"show me just kiosks associated with LPA offices\"\n      else if (typeOfChange === \"toggleKioskLPA\" && passedToggleStatus === true && this.getToggleLPA === false){\n        this.rootStore.SET_PRIMARY_CARD([]);\n        this.rootStore.CLEAR_NEARBY_OFFICES([]);\n        return[\n          this.removeLayerFromMap('layerOpenLPAOfficeWithKiosks'), \n          this.removeLayerFromMap('layerOpenLPAOffice'),\n          this.dmvMap.addLayer(this.layerOpenKioskLPAOffices) // Might need an open vr kiosk\n          ]        \n      }\n\n      // Handle someone unchecking the LPA 'Include kiosks' checkbox... while LPA is also inactive. Very rare\n        // The \"show me no LPA offices of any kind\"\n      else if (typeOfChange === \"toggleKioskLPA\" && passedToggleStatus === false && this.getToggleLPA === false && this.getToggleLPAkiosk === false){\n        // console.log(\"3\")\n        this.rootStore.SET_PRIMARY_CARD([]);\n        this.rootStore.CLEAR_NEARBY_OFFICES([]);\n        return[\n          // this.dmvMap.removeLayer(this.layerOpenLPAfficeWithKiosks), \n          // this.dmvMap.removeLayer(this.layerOpenLPAOffice),\n          this.removeLayerFromMap('layerOpenKioskLPAOffices')\n          ]        \n      }\n\n\n\n\n      // Handles Commercial, L&T, and Closed offices.\n      if (passedToggleStatus === true) {\n        // add layer\n        console.log('Toggled something besides DL or VR')\n        // console.log(toggelee)\n        return this.dmvMap.addLayer(toggelee);\n      } else {\n        // remove layer\n        return this.dmvMap.removeLayer(toggelee);\n      }\n\n\n \n    },\n\n    showClosedMarkers(passedToggleStatus) {\n      console.log(\"Toggling open/closed switch\")\n      let closedOfficeslayersList = []\n      if (passedToggleStatus === true) {\n        if (this.getToggleDL || this.getClosedOfficeMode) {\n          this.dmvMap.addLayer(this.layerClosedDLOffice);\n        } else {\n          closedOfficeslayersList.push('layerClosedDLOffice')\n        }\n        if (this.getToggleLPA || this.getClosedOfficeMode) {\n          this.dmvMap.addLayer(this.layerClosedLPAOffice);\n        } else {\n          closedOfficeslayersList.push('layerClosedLPAOffice')\n        }\n        if (this.getToggleLT || this.getClosedOfficeMode) {\n          this.dmvMap.addLayer(this.layerClosedLTOffice);\n        } else {\n          closedOfficeslayersList.push('layerClosedLTOffice')\n        }\n        if (this.getToggleIRP || this.getClosedOfficeMode) {\n          this.dmvMap.addLayer(this.layerClosedIRPOffice);\n        } else {\n          closedOfficeslayersList.push('layerClosedIRPOffice')\n        }\n      } else {\n        closedOfficeslayersList.push('layerClosedIRPOffice', 'layerClosedLTOffice', 'layerClosedDLOffice', 'layerClosedLPAOffice')\n      }\n      closedOfficeslayersList.map(office => {\n        this.removeLayerFromMap(office);\n      })\n    },\n    mapZoomedExternal() {\n      \n        const zoomLat = parseFloat(this.getZoomedLocation.Lat)\n        const zoomLong = parseFloat(this.getZoomedLocation.Long)\n\n        console.log(zoomLat)\n        console.log(zoomLong)\n\n        if(this.getZoomedLocation !== undefined && this.getZoomedLocation !== null && zoomLat !== undefined && zoomLat !== null && zoomLong !== undefined && zoomLong !== null){\n          // return this.dmvMap.flyTo([36.32434, -78.32423],12);\n          return this.dmvMap.flyTo([zoomLat, zoomLong],12);\n        }    \n    },\n    geoLocateZoomTo() {\n      // Hide Primary card since it's no longer selected\n      console.log(\"We are zooming to a location because lat/long has changed\");\n      this.rootStore.SET_PRIMARY_CARD([]);\n\n      document\n        .getElementById(\"dmvLocsDashboard\")\n        .scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n\n      // Draw marker at user's location\n      if (this.getUserLocation !== undefined && this.getUserLocation !== null) {\n        // When user's location indicated, zoom there!\n        L.circle([this.getUserLocation?.Lat, this.getUserLocation?.Long], {\n          color: \"red\",\n          fillColor: \"#f03\",\n          fillOpacity: 0.5,\n          radius: 500,\n        }).addTo(this.dmvMap);\n        return this.dmvMap.flyTo([this.getUserLocation.Lat, this.getUserLocation.Long], 10);\n      } else {\n        return false\n      }\n\n},\n\n  \n  },\n  mounted() {\n    this.createMap();\n  },\n  watch: {\n    getShowOnlyKiosk(){\n      console.log(\"KIOSK MODE QUERY STRING \" + this.getShowOnlyKiosk)\n\n      // Toggle on any kiosk map layer\n      this.dmvMap.addLayer(this.layerOpenKioskDLOffices)\n\n      // // Hide DL and LPA without kiosks on start\n      // this.dmvMap.removeLayer(this.layerOpenDLOffice);\n      // this.dmvMap.removeLayer(this.layerOpenLPAOffice);\n\n    },\n    getOfficeDL: function(){\n      // Watches for changes here, as you never know when IWT data will finish loading\n      this.loadPins();\n    },\n    getUserLocation: function () {\n      this.geoLocateZoomTo();\n    },\n    getZoomedLocation: function () {\n      this.mapZoomedExternal();\n    },\n    // getDataLoaded: function () {\n      // this.loadPins(); // Turned off and possibly not neede\n    // },\n    getToggleDL: function () {\n      // this.updateMapFromToggles(this.getToggleDL, this.layerOpenDLOffice, \"toggleDL\");\n      this.updateMapFromToggles(this.getToggleDL, this.layerOpenDLOfficeWithKiosks, \"toggleDL\");\n    },\n    getToggleLPA: function () {\n      //this.updateMapFromToggles(this.getToggleLPA, this.layerOpenLPAOffice, \"toggleLPA\");\n      this.updateMapFromToggles(this.getToggleLPA, this.layerOpenLPAOfficeWithKiosks, \"toggleLPA\");\n    },\n    getToggleLT: function () {\n      this.updateMapFromToggles(this.getToggleLT, this.layerOpenLTOffice, \"toggleLT\");\n    },\n    getToggleIRP: function () {\n      this.updateMapFromToggles(this.getToggleIRP, this.layerOpenIRPOffice, \"toggleIRP\");\n    },\n\n    getToggleDLSaturday: function(){\n      this.updateMapFromToggles(this.getToggleDLSaturday, this.layerOpenDLSaturdayOffice, \"toggleSaturday\");\n    },\n\n    getToggleDLkiosk: function(){\n      this.updateMapFromToggles(this.getToggleDLkiosk, this.layerOpenDLOffice, \"toggleKioskDL\");\n    },\n\n    // checkbox for LPA kiosks\n    getToggleLPAkiosk: function(){\n      this.updateMapFromToggles(this.getToggleLPAkiosk, this.layerOpenLPAOffice, \"toggleKioskLPA\");\n    },\n\n\n    getToggleClosed: function () {\n      this.showClosedMarkers(this.getToggleClosed);\n    },\n    // Are we in the window of time to display Internet Wait Time?\n    getIWTLoadWindow() {\n      return this.rootStore.iwtLoadWindow;\n    }\n  },\n};\n</script>","import { render } from \"./MapComponent.vue?vue&type=template&id=42b1ca20\"\nimport script from \"./MapComponent.vue?vue&type=script&lang=js\"\nexport * from \"./MapComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div v-if=\"this.rootStore.officeDL.length > 0\">\n    <div class=\"row\">\n      \n      <div class=\"col-md-3 col-lg-2\">\n        <div class=\"card h-100\">\n          <div class=\"card-header\">\n            <h6 class=\"card-title\">Open Driver License Offices</h6>\n          </div>\n          <div class=\"card-body\"></div>\n          <div class=\"card-footer\">\n            <span class=\"card-text\">{{ this.rootStore.officeDL.length }}</span>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"col-md-3 col-lg-2\">\n        <div class=\"card h-100\">\n          <div class=\"card-header\">\n            <h6 class=\"card-title\">Open License Plate Offices</h6>\n          </div>\n          <div class=\"card-body\"></div>\n          <div class=\"card-footer\">\n            <span class=\"card-text\">{{ this.rootStore.officeLPA.length }}</span>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"col-md-3 col-lg-2\" v-if=\"this.rootStore.officeKAllKiosks.length > 0\">\n        <div class=\"card h-100\">\n          <div class=\"card-header\">\n            <h6 class=\"card-title\">Kiosk Locations</h6>\n          </div>\n          <div class=\"card-body\"></div>\n          <div class=\"card-footer\">\n            <span class=\"card-text\">{{ this.rootStore.officeKAllKiosks.length }}</span>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"col-md-3 col-lg-2\">\n        <div class=\"card h-100\">\n          <div class=\"card-header\">\n            <h6 class=\"card-title\">Open Trucking (IRP)</h6>\n          </div>\n          <div class=\"card-body\"></div>\n          <div class=\"card-footer\">\n            <span class=\"card-text\">{{ this.rootStore.officeIRP.length }}</span>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"col-md-3 col-lg-2\">\n        <div class=\"card h-100\">\n          <div class=\"card-header\">\n            <h6 class=\"card-title\">Open License &amp; Theft</h6>\n          </div>\n          <div class=\"card-body\"></div>\n          <div class=\"card-footer\">\n            <span class=\"card-text\">{{ this.rootStore.officeLT.length }}</span>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"col-md-3 col-lg-2\">\n        <div class=\"card h-100\">\n          <div class=\"card-header\">\n            <h6 class=\"card-title\">Total Closed Offices</h6>\n          </div>\n          <div class=\"card-body\"></div>\n          <div class=\"card-footer\">\n  \n            <span class=\"card-text\">{{\n              this.rootStore.closedOfficeDL.length +\n              this.rootStore.closedOfficeLPA.length +\n              this.rootStore.closedOfficeIRP.length +\n              this.rootStore.closedOfficeLT.length + \n              this.rootStore.closedOfficeKioskDLVR.length\n            }}</span>\n            \n          </div>\n        </div>\n      </div>\n\n\n\n    </div>\n  </div>\n</template>\n\n<script>\nimport { useRootStore } from \"../store\";\n\nexport default {\n  name: \"CallOuts\",\n  data() {\n    return {\n      rootStore: useRootStore()\n    }\n  }\n};\n</script>","import { render } from \"./Callouts.vue?vue&type=template&id=e4310f18\"\nimport script from \"./Callouts.vue?vue&type=script&lang=js\"\nexport * from \"./Callouts.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div id=\"cardGrid\" class=\"row row-cols-1 row-cols-md-3 row-cols-lg-4\">\n    <PrimaryCard />\n\n    <div class=\"card secondary\" v-for=\"(office, index) in getOfficesNearby\" :key=\"index\">\n      <div class=\"card-header\">\n        <div class=\"row\">\n          <div class=\"col-2\">\n\n            <i v-if=\"office.OfficeTypes[0].Type === 'kiosk'\" class=\"card__icon dock_icon\"></i>\n\n            <i v-if=\"office.OfficeTypes[0].Type === 'license'\" class=\"card__icon icon-card\"></i>\n            <i v-if=\"office.OfficeTypes[0].Type === 'plate'\" class=\"card__icon icon-directions-car\"></i>\n            <i v-if=\"\n                  office.OfficeTypes[0].Type !== 'kiosk' &&\n                  office.OfficeTypes[0].Type !== 'license' &&\n                  office.OfficeTypes[0].Type !== 'plate'\n                \" class=\"card__icon icon-government-building\"></i>\n          </div>\n\n          <div class=\"col-10\">\n            <h5>{{ office.Name }}</h5>\n          </div>\n        </div>\n      </div>\n\n      <div class=\"card-body\">\n        <div v-for=\"(offtype, index) in office.OfficeTypes\" :key=\"index\">\n          <span v-if=\"offtype.Type === 'kiosk'\"><i class=\"icon-checkmark\"></i> Kiosk NCDMV Services</span>\n\n          <span v-if=\"offtype.Type === 'license'\"><i class=\"icon-checkmark\"></i> Driver License</span>\n          <span v-if=\"offtype.Type === 'plate'\"><i class=\"icon-checkmark\"></i> Plate &amp; Vehicle\n            Registration</span>\n          <span v-if=\"offtype.Type === 'irp'\"><i class=\"icon-checkmark\"></i> Commercial Trucking (IRP)</span>\n          <span v-if=\"offtype.Type === 'lt'\"><i class=\"icon-checkmark\"></i> License &amp; Theft Bureau</span>\n          <span v-if=\"offtype.Type === 'irp,plate'\"><i class=\"icon-checkmark\"></i> Commercial Trucking (IRP)<br /><i\n              class=\"icon-checkmark\"></i>\n            Plate &amp; Vehicle Registration</span><br />\n        </div>\n\n        <br />\n        <p>\n          <template v-if=\"office.Addresses[0].City !== 'undefined'\">\n            Located in {{ office.Addresses[0].City }}.\n          </template>\n\n\n          <template\n            v-if=\"office.Status.Title.length > 0 && this.rootStore.isStateHoliday === true && office.OfficeTypes[0].Type !== 'kiosk'\">\n            This office is currently closed for the holiday.\n          </template>\n          <template v-if=\"office.Status.Title.length > 0  && this.rootStore.isStateHoliday === false\">\n            This office is currently <em>{{ office.Status.Title }}</em>.\n          </template>\n\n        </p>\n        <p v-if=\"office.Status.Title !== 'Closed' && office.IWTavgWT !== null && office.IWTavgWT !== undefined\">\n          Current wait <strong>{{ office.IWTavgWT}}</strong>\n        </p>\n      </div>\n\n      <div class=\"card-footer\">\n        <img class=\"secondarymap\" v-on:click=\"zoomBigMapToOffice(office.Lat, office.Long)\"\n          :src=\"makeMapImageSecondary(office.Lat, office.Long)\" />\n\n        <span class=\"btn btn-outline-primary\" v-on:click=\"zoomBigMapToOffice(office.Lat, office.Long)\">Show on Map\n        </span>\n      </div>\n    </div>\n\n  </div>\n</template>\n\n\n\n<script>\n/*eslint no-redeclare: */\nimport { useRootStore } from \"../store\";\nimport PrimaryCard from \"./PrimaryCard.vue\";\n\nexport default {\n  components: {\n    PrimaryCard,\n  },\n  data() {\n    return {\n      rootStore: useRootStore(),\n      mapImage: \"\",\n      dataUserLocation: \"\",\n    };\n  },\n  methods: {\n    zoomBigMapToOffice(plat, plong) {\n      var _zoomCoords = {};\n\n      _zoomCoords.Lat = plat;\n      _zoomCoords.Long = plong;\n\n      document\n        .getElementById(\"dmvLocsDashboard\")\n        .scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n\n      // clear any primary selected result\n      this.rootStore.SET_PRIMARY_CARD(\"\");\n\n      this.rootStore.SET_ZOOMED_LOCATION(_zoomCoords);\n    },\n\n    makeMapImageSecondary(lat, long) {\n      // console.log('Generating an image for secondary cards')\n      var baseUrl = \"https://dev.virtualearth.net/REST/V1/Imagery/Map/Road/\";\n      var Lat = lat;\n      var Long = long;\n      var bingKey = this.getMapAPIkey;\n\n      return (\n        baseUrl +\n        Lat +\n        \"%2C\" +\n        Long +\n        \"/10?mapSize=250,75&format=png&pushpin=\" +\n        Lat +\n        \"%2C\" +\n        Long +\n        \";66;&key=\" +\n        bingKey\n      );\n    },\n\n    async loadNearByOffices (searchType, clearOffices, passedForm) {\n      // Determine if we clear out existing secondary locations or not\n      if (clearOffices === true) {\n        this.rootStore.CLEAR_NEARBY_OFFICES([]);\n      }\n\n      // console.log('START ------------------------------------')\n      // console.log('loadNearbyOffices function has fired')\n      // console.log('This is a ' + searchType + ' search')\n      // console.log('Clearing existing results out first? ' + clearOffices)\n      // console.log('Search is ' + JSON.stringify(passedForm))\n      // console.log('END ------------------------------------')\n\n      var thisLoaded = this;\n      try {\n        await fetch(thisLoaded.getLocationsURLsearch, {\n          method: \"POST\",\n          headers: {\n            \"Content-Type\": \"application/json; charset=utf-8\",\n            Accept: \"application/json, text/javascript, */*; q=0.01\",\n          },\n          body: JSON.stringify(passedForm),\n        }).then((response) => {\n          if (!response.ok) {\n            return Promise.reject(`Response status: ${response.status}`)\n          }\n          return response.json()\n        }).then((data) => {\n\n          // Returned results\n          var _locationResults = JSON.parse(data);\n\n          // Add to object we'll send to store\n          var _locationBag = [];\n\n          // If no empty results\n          if (_locationResults.length > 0) {\n            // Move anything existing to the bag\n            if (thisLoaded.getOfficesNearby.length > 0) {\n              thisLoaded.getOfficesNearby.forEach(function (_location) {\n                _locationBag.push(_location);\n              });\n            }\n\n            // move anything that isn't the Primary card to the bag\n            _locationResults.forEach(function (_location) {\n              if (_location.Name !== thisLoaded.getPrimaryCard.name) {\n                _locationBag.push(_location);\n              }\n            });\n          } // if\n\n          // Add any existing ones to location bag\n          if (thisLoaded.getOfficesNearby.length > 0) {\n            thisLoaded.getOfficesNearby.forEach(function (_existingoff) {\n              _locationBag.push(_existingoff);\n            });\n          }\n\n          // remove duplicates\n          var _filteredBag = Array.from(\n            new Set(_locationBag.map((a) => a.ID))\n          ).map((ID) => {\n            return _locationBag.find((a) => a.ID === ID);\n          });\n\n          // Pass to store\n          thisLoaded.rootStore.SET_NEARBY_OFFICES(_filteredBag);\n        }).then(() => {\n          if (searchType === \"fromPrimaryCardCity\") {\n            // handled by watcher\n          } else if (searchType === \"fromPrimaryCardCounty\") {\n            // handled by watcher\n          }\n\n          if (searchType === \"fromUserLocation\") {\n            // If the search was by location, now perform another based on city\n            if (typeof thisLoaded.getMapAPIresponse.City !== \"undefined\") {\n              thisLoaded.loadNearByOffices(\"fromUserLocationCity\", false, {\n                autoIncrement: true,\n                distance: 1,\n                lat: \"\",\n                lon: \"\",\n                officeType: \"license,plate,lt,irp,kiosk\",\n                searchField: \"city\",\n                searchTerm: thisLoaded.getMapAPIresponse.City,\n              });\n            }\n          } else if (searchType === \"fromUserLocationCity\") {\n            if (typeof thisLoaded.getMapAPIresponse.City !== \"undefined\") {\n              thisLoaded.loadNearByOffices(\"fromUserLocationCounty\", false, {\n                autoIncrement: true,\n                distance: 1,\n                lat: \"\",\n                lon: \"\",\n                officeType: \"license,plate,lt,irp,kiosk\",\n                searchField: \"county\",\n                searchTerm: thisLoaded.getMapAPIresponse.County,\n              });\n            }\n          }\n          thisLoaded.addIWTtoSecondaryCards();\n        })\n      } catch (error) {\n        // this.errorModal = true;\n        console.log(`Error loading NCDMV Office Locations from service ${thisLoaded.getLocationsURLsearch} and failed with ${error}`);\n      }\n        // .catch(function (error) {\n        //   console.log(error);\n        // });\n    },\n\n    // Grabs current wait time from store. Expects ID of DMV office and location type\n\n    // Just does DL and LPA offices for now.\n    getNearbyOfficeTimes(ID,type){\n      // console.log(ID, type )\n      \n      var thisLoaded = this\n      if(type === \"license\"){  \n        const matchDLOffice = thisLoaded.getOfficeDL.filter(i => ID === i.id);\n        // console.log(\"License office\")\n\n        if(matchDLOffice[0] !== undefined && matchDLOffice[0][\"IWTavgWT\"] !== undefined){\n          // console.log(matchDLOffice[0][\"IWTavgWT\"])\n          return matchDLOffice[0][\"IWTavgWT\"]\n        }        \n      } else if(type === \"plate\"){\n       const matchLPAOffice = thisLoaded.getOfficeLPA.filter(i => ID === i.id);\n        // console.log(\"License office\")\n        // console.log(matchLPAOffice)\n\n        if(matchLPAOffice[0] !== undefined && matchLPAOffice[0][\"IWTavgWT\"] !== undefined){\n          // console.log(matchLPAOffice[0][\"IWTavgWT\"])\n          return matchLPAOffice[0][\"IWTavgWT\"]\n        }   \n      } \n\n      \n    },\n\n \n\n    addIWTtoSecondaryCards(){\n\n      // Loops through loaded secondary office locations and adds IWT values.\n      var thisLoaded = this\n      \n      if(this.getOfficesNearby !== undefined && this.getOfficesNearby.length > 0){\n\n        // Create an array of objects to (after changing the data) update the store with\n        let nearbyOfficesToAddIWT = [];\n\n        // Loop through nearby offices, transform, then push to array\n         thisLoaded.getOfficesNearby.forEach(function(_off){\n          \n            const getWait = thisLoaded.getNearbyOfficeTimes(_off.ID, _off.OfficeTypes[0].Type)\n          \n            if(getWait !== undefined && getWait.IWTavgWT !== undefined){\n                _off.IWTavgWT = getWait\n            \n                \n            }\n\n            nearbyOfficesToAddIWT.push(_off)\n         })\n       \n        // Update store with IWT-enriched locations\n        this.rootStore.SET_NEARBY_OFFICES(nearbyOfficesToAddIWT);\n     \n     }\n    }\n  },\n  watch: {\n\n    getPrimaryCard: function () {\n      // After primary card piced, load nearby city, and by type\n      if (this.getPrimaryCard.length !== 0) {\n        this.loadNearByOffices(\"fromPrimaryCardCity\", true, {\n          autoIncrement: true,\n          distance: 1,\n          lat: \"\",\n          lon: \"\",\n          officeType: \"\",\n          searchField: \"city\",\n          searchTerm: this.getPrimaryCard.city,\n        });\n      }\n\n      // After primary card piced, load nearby county, and by type\n      if (this.getPrimaryCard.length !== 0) {\n        this.loadNearByOffices(\"fromPrimaryCardCounty\", false, {\n          autoIncrement: true,\n          distance: 1,\n          lat: \"\",\n          lon: \"\",\n          officeType: this.getPrimaryCard.officeTypes,\n          searchField: \"county\",\n          searchTerm: this.getPrimaryCard.counties,\n        });\n      }\n    },\n\n    dataUserLocation: function () {\n      // A County specific search is different. It just does that one search\n      if (\n        typeof this.dataUserLocation === \"object\" &&\n        this.dataUserLocation?.County !== undefined\n      ) {\n        this.loadNearByOffices(\"fromPrimaryCardCounty\", true, {\n          autoIncrement: true,\n          distance: 1,\n          lat: \"\",\n          lon: \"\",\n          officeType: \"license,plate,lt,irp,kiosk\",\n          searchField: \"county\",\n          taco: true,\n          searchTerm: this.dataUserLocation?.County,\n        });\n      }\n\n      // All other searches follow the lat/long to city to county line\n      if (\n        typeof this.dataUserLocation === \"object\" &&\n        !this.dataUserLocation?.County\n      ) {\n        console.log(\"Not a county search\");\n\n        this.loadNearByOffices(\"fromUserLocation\", true, {\n          autoIncrement: true,\n          distance: 1,\n          lat: this.dataUserLocation?.Lat,\n          lon: this.dataUserLocation?.Long,\n          officeType: \"license,plate,lt,irp,kiosk\", // must have all types in here\n          // searchField:\"\",\n          searchTerm:\n            this.dataUserLocation?.Lat + \",\" + this.dataUserLocation?.Long,\n        });\n      }\n    },\n\n    getUserLocation: function () {\n      // Update local data with vuex\n      this.dataUserLocation = this.getUserLocation;\n    },\n  },\n  computed: {\n\n    getPrimaryCard() {\n      return this.rootStore.primaryCard;\n    },\n    getUserLocation() {\n      return this.rootStore.userLocation;\n    },\n\n\n\n\n    // getIsStateHoliday(){\n    //   return this.rootStore.isStateHoliday;\n    // }, \n    getOfficeDL() {\n      return this.rootStore.officeDL;\n    },\n    getOfficeKiosk(){\n      return this.rootStore.officeAllKiosks;\n    },\n    getOfficeLPA() {\n      return this.rootStore.officeLPA;\n    },\n    getOfficeMO() {\n      return this.rootStore.officeMO;\n    },\n    getOfficeIRP() {\n      return this.rootStore.officeIRP;\n    },\n    getOfficeLT() {\n      return this.rootStore.officeLT;\n    },\n    getLocationsURLsearch() {\n      return this.rootStore.locationsURLsearch;\n    },\n    getMapAPIkey() {\n      return this.rootStore.mapAPIkey;\n    },\n  \n    getOfficeToggleClosed() {\n      return this.rootStore.toggleClosed;\n    },\n    getToggleDL() {\n      return this.rootStore.toggleDL;\n    },\n    getToggleLPA() {\n      return this.rootStore.toggleLPA;\n    },\n    getToggleMO() {\n      return this.rootStore.toggleMO;\n    },\n    getToggleLT() {\n      return this.rootStore.toggleLT;\n    },\n    getToggleIRP() {\n      return this.rootStore.toggleIRP;\n    },\n    getOfficesNearby() {\n      var _filteredNearby = [];\n      var thisOff = this;\n\n      this.rootStore.officesNearby.forEach(function (_off) {\n        // Check for IRP in nested object\n        var isIrp = false;\n\n        _off.OfficeTypes.forEach(function (i) {\n          if (i.Type === \"irp\") {\n            isIrp = true;\n          }\n        });\n\n        // Kiosk\n        if (\n          _off.OfficeTypes[0].Type === \"kiosk\" &&\n          _off.Name !== \"\"\n        ) {\n          _filteredNearby.push(_off);\n        }\n\n        // Open Plate\n        if (\n          thisOff.getToggleLPA === true &&\n          _off.OfficeTypes[0].Type === \"plate\" &&\n          _off.Name !== \"\"\n        ) {\n          _filteredNearby.push(_off);\n        }\n\n        // L&T theft\n        if (\n          thisOff.getToggleLT === true &&\n          _off.OfficeTypes[0].Type === \"lt\" &&\n          _off.Name !== \"\"\n        ) {\n          _filteredNearby.push(_off);\n        }\n\n        // IRP Commercial\n        if (\n          thisOff.getToggleIRP === true &&\n          isIrp === true &&\n          _off.Name !== \"\"\n        ) {\n          _filteredNearby.push(_off);\n        }\n\n        // Open Driver License\n        if (\n          thisOff.getToggleDL === true &&\n          _off.OfficeTypes[0].Type === \"license\" &&\n          _off.IsMobile === false &&\n          _off.Name !== \"\"\n        ) {\n          _filteredNearby.push(_off);\n        }\n\n        // Open mobile\n        if (\n          thisOff.getToggleMO === true &&\n          _off.OfficeTypes[0].Type === \"license\" &&\n          _off.IsMobile === true &&\n          _off.Name !== \"\"\n        ) {\n          _filteredNearby.push(_off);\n        }\n      });\n      // console.log(_filteredNearby)\n      return _filteredNearby;\n    },\n    getMapAPIresponse() {\n      return this.rootStore.mapAPIresponse;\n    },\n  },\n};\n</script>","<template>\n  <div class=\"card cardPrimary\" v-bind:class=\"{cardPrimaryWide: isCardWide}\" v-if=\"dataPrimaryCard\">\n    <div class=\"card-header\">\n      <div class=\"row\">\n        <div class=\"col-1\">\n          <i v-if=\"dataPrimaryCard.officeTypes === 'kiosk'\" class=\"card__icon dock_icon\"></i>\n          <i v-if=\"dataPrimaryCard.officeTypes === 'license'\" class=\"card__icon icon-card\"></i>\n          <i v-if=\"dataPrimaryCard.officeTypes === 'plate'\" class=\"card__icon icon-directions-car\"></i>\n          <i v-if=\"dataPrimaryCard.officeTypes !== 'license' && dataPrimaryCard.officeTypes !== 'plate' && dataPrimaryCard.officeTypes !== 'kiosk' \" class=\"card__icon icon-government-building\"></i>\n        </div>\n\n        <div class=\"col-10\">\n          <h5>{{ dataPrimaryCard.name }}</h5>\n        </div>\n      </div>\n\n    </div>\n\n    <div class=\"card-body\">\n      <div class=\"row\">\n\n        <!-- For a normal-width card, with no notes, show status -->\n        <div class=\"col\" v-if=\"isCardWide === false\">\n          <div class=\"alert alert-danger\"\n            v-if=\"dataPrimaryCard.temporaryOfficeStatus === 'Closed'\"\n          >This location is temporarily closed.</div>\n\n          <div class=\"alert alert-success\"\n            color=\"success\"\n            v-if=\"dataPrimaryCard.temporaryOfficeStatus === 'Limited Services'\"\n          >This location has limited services available at this time.</div>\n\n          <div class=\"alert alert-warning\"\n            color=\"warning\"\n            v-if=\"dataPrimaryCard.temporaryOfficeStatus === 'Appointment Only'\"\n          >This location requires appointments at this time.</div>\n          </div>\n        </div>\n\n      <div class=\"row\">\n\n        <!-- If this is a wider card, with notes, move to the side column --> \n        <div class=\"col-sm-5\"\n           v-if=\"isCardWide === true\">\n         \n          <!-- Alert statues for wide column -->\n          <div class=\"alert alert-danger\"\n            v-if=\"dataPrimaryCard.temporaryOfficeStatus === 'Closed'\"\n          >This location is temporarily closed.</div>\n\n          <div class=\"alert alert-success\"\n            color=\"success\"\n            v-if=\"dataPrimaryCard.temporaryOfficeStatus === 'Limited Services'\"\n          >This location has limited services available at this time.</div>\n\n          <div class=\"alert alert-warning\"\n            color=\"warning\"\n            v-if=\"dataPrimaryCard.temporaryOfficeStatus === 'Appointment Only'\"\n          >This location requires appointments at this time.</div>\n          \n\n            <div class=\"alert\" v-if=\"dataPrimaryCard.temporaryOfficeStatus\">\n              <em>{{ dataPrimaryCard.notes }}</em>\n            </div>\n\n            <div class=\"alert alert-warning\" v-else>\n              <em>{{ dataPrimaryCard.notes }}</em>\n            </div>\n        </div>\n\n        <div class=\"col\">\n          <h6>Services</h6>\n          <hr />\n          <img v-if=\"dataPrimaryCard.officeTypes === 'kiosk'\" src=\"assets/ncdmv-kiosk-logo.png\" alt=\"NCDMV Express\" style=\"float:right;padding:10px;width:25%\" />\n          <p>\n            <span v-if=\"dataPrimaryCard.officeTypes === 'kiosk'\">\n              <i class=\"icon-checkmark\"></i> Renew driver licenses/state IDs<br/>\n              <i class=\"icon-checkmark\"></i> Print Temporary Driver/Identification Certificate<br/>\n              <i class=\"icon-checkmark\"></i> Order duplicate driver licenses, permits, &amp; state IDs<br/>\n              <i class=\"icon-checkmark\"></i> Change address<br/>\n              <i class=\"icon-checkmark\"></i> Register to vote\n            </span>\n\n            <span v-if=\"dataPrimaryCard.officeTypes === 'kiosk' && this.rootStore.lpaKioskAllowed.includes(dataPrimaryCard.counties)\">\n              <br/>\n              <i class=\"icon-checkmark\"></i> Renew vehicle registrations<br/>\n              <i class=\"icon-checkmark\"></i> Order duplicate vehicle registrations<br/>\n              <i class=\"icon-checkmark\"></i> Print license plate stickers<br/>\n            </span>\n\n            <span v-if=\"dataPrimaryCard.officeTypes === 'license'\">\n              <i class=\"icon-checkmark\"></i> Driver License\n            </span>\n            <span v-if=\"dataPrimaryCard.officeTypes === 'plate'\">\n              <i class=\"icon-checkmark\"></i> Plate &amp; Vehicle Registration\n            </span>\n\n            <span v-if=\"dataPrimaryCard.officeTypes === 'irp'\">\n              <i class=\"icon-checkmark\"></i> Commercial Trucking (IRP)\n            </span>\n            <span v-if=\"dataPrimaryCard.officeTypes === 'lt'\">\n              <i class=\"icon-checkmark\"></i> License &amp; Theft Bureau\n            </span>\n            <span v-if=\"dataPrimaryCard.officeTypes === 'irp,plate'\">\n              <i class=\"icon-checkmark\"></i> Commercial Trucking (IRP)\n              <br />\n              <i class=\"icon-checkmark\"></i> Plate &amp; Vehicle Registration\n            </span>\n            <br />\n            <span v-for=\"(amenity,index) in dataPrimaryCard.amenities\" :key=\"index\">\n              <i class=\"icon-checkmark\"></i>\n              {{ amenity }}\n            </span>\n          </p>\n\n          <br />\n\n          <h6>HOURS</h6>\n          <hr />\n          <p>\n            \n            <template v-if=\"dataPrimaryCard.officeTypes === 'kiosk'\">\n              <!-- Handle Kiosk hours, holidays -->\n              <strong v-if=\"this.rootStore.isStateHoliday === false\">Currently {{ dataPrimaryCard.normalOfficeStatus }}.</strong>\n              <template v-if=\"dataPrimaryCard.temporaryOfficeStatus !== 'Closed'\"> Store hours are {{ dataPrimaryCard.normalHours }}</template>\n              <em v-if=\"this.rootStore.isStateHoliday === true\"><br/><br/>* Store hours are subject to change due to holidays.</em>\n            </template>\n\n            <template v-if=\"dataPrimaryCard.officeTypes !== 'kiosk'\">\n              <!-- handle non-kiosk hours,holidays -->\n              \n              <template v-if=\"this.rootStore.isStateHoliday === false && dataPrimaryCard.temporaryOfficeStatus !== 'Closed'\">Currently <strong>{{ dataPrimaryCard.normalOfficeStatus }}.</strong> Hours are {{ dataPrimaryCard.normalHours }}</template>\n              \n              <strong v-if=\"this.rootStore.isStateHoliday === true\">Currently closed for the holiday. </strong>\n              <br/>\n              <template v-if=\"dataPrimaryCard.temporaryOfficeStatus !== 'Closed' && this.rootStore.isStateHoliday === true\"> Normal hours are {{ dataPrimaryCard.normalHours }}</template>\n              <em v-if=\"this.rootStore.isStateHoliday === false\"><br/>{{ this.IWTmessageOrTime }}</em>\n            </template>\n          \n          </p>\n          <br />\n\n          <h6>ADDRESS</h6>\n          <hr />\n          <div class=\"row\">\n            <div class=\"col-sm-4\">\n              <div class=\"thumbMap\" style=\"margin-top:3px;\" v-on:click=\"zoomBigMapToOffice\">\n                <img\n                  :src=\"this.mapImage\"\n                  alt=\"Map image of this location\"\n                />\n                <em>Zoom to location</em>\n              </div>\n              <em></em>\n            </div>\n\n            <div class=\"col-sm-8\">\n              <p>\n                {{ dataPrimaryCard.address}}\n                <br />\n                {{ dataPrimaryCard.city}}, NC {{ dataPrimaryCard.zip}}\n                <br />\n                <em>In {{ dataPrimaryCard.counties }} County</em>\n              </p>\n\n              <p>\n                <template v-if=\"dataPhoneNumber\">\n                Phone:\n                <a class=\"text-dark\" :href=\"dataPhoneNumberLink\">{{ dataPhoneNumber }}</a>\n                <br />Fax:\n                \n                </template>\n\n                <template v-if=\"dataFaxNumber\">\n                  <a class=\"text-dark\" :href=\"dataPhoneNumberLink\">{{ dataFaxNumber }}</a>               \n                  <br />\n                </template>\n\n                <template v-if=\"dataURL\">\n                  <a :href=dataURL >{{dataURL}}</a>\n                </template>\n\n                <template v-if=\"dataURL\"><br>\n                   <a :href=dataURLsecond >{{dataURLsecond}}</a>\n                </template>\n              </p>\n\n           \n            </div>\n          </div>\n        </div>\n\n      </div>\n    </div>\n    <div class=\"card-footer\" v-if=\"dataPrimaryCard.temporaryOfficeStatus !== 'Closed'\">\n      <div class=\"row no-gutters\">\n        <div class=\"col-lg-4\">\n          <a class=\"btn btn-outline-primary\"\n            style=\"cursor:pointer\"\n            v-if=\"dataPhoneNumberLink\"\n            :href=\"this.dataPhoneNumberLink\"\n          >Call Office</a>\n        </div>\n        <div class=\"col-lg-4\" v-if=\"dataPrimaryCard.officeTypes === 'license'\" >\n          <a\n           class=\"btn btn-outline-primary\"\n            href=\"/dmv/license-id/driver-license-appointments/Pages/default.aspx\"\n            target=\"_blank\"\n          >Make Appointment</a>\n        </div>\n        <div class=\"col-lg-4\">\n          <a\n            class=\"btn btn-outline-primary\"\n            :href=\"this.dataDrivingDirectionsLink\"\n            target=\"_blank\"\n          >Driving Directions</a>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n\n\n\n<script>\nimport { useRootStore } from \"../store\";\n\nexport default {\n  data() {\n    return {\n      rootStore: useRootStore(),\n      isCardWide: false, // Put card in wide-view?\n      dataDrivingDirectionsLink: \"\",\n      dataPrimaryCard: \"\",\n      mapImage: \"\",\n      dataPhoneNumberLink: \"\",\n      dataPhoneNumber: \"\",\n      dataFaxNumber:\"\",\n      dataURL:\"\",\n      dataURLsecond:\"\",\n      IWTmessageOrTime:\"\"\n    };\n  },\n  methods: {\n    makeIWTmessage(){\n      // console.log(this.getPrimaryCard.officeTypes)\n\n      // These first two handle when IWT rules say don't display wait time.\n\n      // Handle \"We have a special message, and we're outside of the IWT hours DMV wants to show\"\n      if(this.rootStore.iwtLoadWindow === false && this.getPrimaryCard.normalOfficeStatus === \"Open\" && this.getPrimaryCard.Custom !==null && this.getPrimaryCard.Custom !== undefined){\n        console.log(\"Showing custom message for IWT Office\" + this.getPrimaryCard.IWTOffice)\n        return this.IWTmessageOrTime = this.getPrimaryCard.Custom\n      }\n\n      // Handle \"We're outside the IWT hours window\"\n      if(this.rootStore.iwtLoadWindow === false && this.getPrimaryCard.officeTypes === 'license' && this.getPrimaryCard.normalOfficeStatus === \"Open\"){\n        return this.IWTmessageOrTime = \"Walk-in wait times are not displayed Monday-Friday before 12 noon.\"\n      }\n      \n      \n      // The rest are here for when IWT rules allow it to be displayed:\n\n      // Handle \"The office is closed, or it is a non-license, non-plate office\n      if(this.getPrimaryCard.normalOfficeStatus !== \"Open\" || (this.getPrimaryCard.officeTypes !==\"plate\" && this.getPrimaryCard.officeTypes !==\"license\")){\n        return this.IWTmessageOrTime = \"\"\n      }\n\n      // Handle \"Show a custom message if one is provided\"\n      if(this.getPrimaryCard.normalOfficeStatus === \"Open\" && this.getPrimaryCard.Custom !==null && this.getPrimaryCard.Custom !== undefined){\n        console.log(\"Showing custom message for IWT Office \" + this.getPrimaryCard.IWTOffice)\n        return this.IWTmessageOrTime = this.getPrimaryCard.Custom\n      }\n\n      // For Plate and License offices with no time provided.\n      if(this.getPrimaryCard.normalOfficeStatus === \"Open\" && (this.getPrimaryCard.officeTypes ===\"plate\" || this.getPrimaryCard.officeTypes ===\"license\") && (this.getPrimaryCard.IWTavgWT === \"\" || this.getPrimaryCard.IWTavgWT === null || this.getPrimaryCard.IWTavgWT === undefined)){\n        return this.IWTmessageOrTime = \"No wait time available for this location.\"\n      }\n    \n      // Handle showing actual hours/minutes of wait time if provided\n      if(this.getPrimaryCard.normalOfficeStatus === \"Open\" && (this.getPrimaryCard.IWTavgWT !== undefined && this.getPrimaryCard.IWTavgWT !== null && this.getPrimaryCard.IWTavgWT !== \"\" && this.getPrimaryCard.normalOfficeStatus !== \"Closed\")){\n        return this.IWTmessageOrTime = \"Current average wait time is \" + this.getPrimaryCard.IWTavgWT + \" from check in.\"\n      }\n      \n      else{\n        return this.IWTmessageOrTime = \"\"\n      }\n\n    },\n\n    makeMapImage() {\n      var baseUrl = \"https://dev.virtualearth.net/REST/V1/Imagery/Map/Road/\";\n      var Lat = this.getPrimaryCard.lat;\n      var Long = this.getPrimaryCard.lon;\n      var bingKey = this.rootStore.mapAPIkey;\n\n      this.mapImage =\n        baseUrl +\n        Lat +\n        \"%2C\" +\n        Long +\n        \"/10?mapSize=150,100&format=png&pushpin=\" +\n        Lat +\n        \"%2C\" +\n        Long +\n        \";66;&key=\" +\n        bingKey;\n    },\n    makePhoneNumberLink() {\n      this.dataPhoneNumberLink = \"\"\n\n      if (\n        this.getPrimaryCard.phone !== null &&\n        this.getPrimaryCard.phone !== \"undefined\"\n      ) {\n        var _linkstart = \"tel:\";\n\n        var _fixedphoneNumber = this.getPrimaryCard.phone[0].replace(\") \",\")-\");        \n        this.dataPhoneNumberLink = _linkstart + _fixedphoneNumber;\n      }\n    },\n    makePhoneNumber() {\n      // Clear out the old number first, in case the old location doesn't have a number.\n      this.dataPhoneNumber = \"\"\n\n      if (this.getPrimaryCard.phone !== null) {\n        var _fixedphoneNumber = this.getPrimaryCard.phone[0].replace(\") \",\")-\");        \n        this.dataPhoneNumber = _fixedphoneNumber; // Safari doesn't like spaces in phone numbers\n      }\n    },\n    makeFaxNumber() {\n      // Clear out the old fax first, in case the old location doesn't have a number.\n      this.dataFaxNumber = \"\"\n      if (this.getPrimaryCard.fax !== null) {\n        this.dataFaxNumber = this.getPrimaryCard.fax[0];\n      }\n    },\n    makeWebSiteURL(){\n      this.dataURL = \"\"\n      this.dataURLsecond = \"\"\n     \n      if (this.getPrimaryCard.website !== null ) {\n        this.dataURL = this.getPrimaryCard.website[0];\n        this.dataURLsecond = this.getPrimaryCard.website[1];\n      }\n    },\n    makeDrivingDirectionsLink() {\n      if (this.getPrimaryCard.address !== null) {\n        // https://www.bing.com/maps?where1=1100%20NEW%20BERN%20AVENUE%20RALEIGH,%20NC%2027697&rtop=0~1~0\n        var _add = this.getPrimaryCard.address;\n        var _zip = this.getPrimaryCard.zip;\n        var _cit = this.getPrimaryCard.city;\n        // var _url = \"https://www.bing.com/maps?where1=\";\n        var _url = \"https://www.bing.com/maps?q=.\";\n        var _end = \"&rtop=0~1~0\";\n\n        this.dataDrivingDirectionsLink =\n          _url + _add + \"%20\" + _cit + \",NC%20\" + _zip + _end;\n\n      }\n    },\n    zoomBigMapToOffice() {\n      var _zoomCoords = {};\n\n      _zoomCoords.Lat = this.dataPrimaryCard.lat;\n      _zoomCoords.Long = this.dataPrimaryCard.lon;\n\n      this.rootStore.SET_ZOOMED_LOCATION(_zoomCoords);\n      document\n        .getElementById(\"dmvLocsDashboard\")\n        .scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n    },\n  },\n  watch: {\n    getPrimaryCard: function() {\n      \n      if (this.getPrimaryCard.length === 0) {\n          // Hide primary card if nothing is selected\n          this.dataPrimaryCard = \"\";\n\n        } else {\n         // this.queryWebSiteURL();\n          this.dataURL = \"\",\n          this.dataURLsecond = \"\",\n          this.makeMapImage();\n          this.makePhoneNumberLink();\n          this.makePhoneNumber();\n          this.makeFaxNumber();\n          this.makeWebSiteURL();\n          this.makeDrivingDirectionsLink();\n          this.makeIWTmessage();\n          this.dataPrimaryCard = this.getPrimaryCard; // Since we're shuffling big objects, need to put this in Vue's data instance\n        }\n\n        // Rules to decide if we make card wider \n        // if (this.getPrimaryCard.notes !== \"\" && this.getPrimaryCard.temporaryOfficeStatus !== \"Appointment Only\" && this.getPrimaryCard.temporaryOfficeStatus !== \"Closed\") {\n        //   this.isCardWide = true;\n        // } else {\n        //   this.isCardWide = false;\n        // }\n\n\n        if (this.getPrimaryCard.notes !== \"\") {\n          this.isCardWide = true;\n        } else {\n          this.isCardWide = false;\n        }    \n      },\n\n      'getPrimaryCard.IWTavgWT'() {\n        this.makeIWTmessage();\n      }\n  },\n  computed: {\n  \n    getPrimaryCard() {\n      return this.rootStore.primaryCard;\n    },\n  }\n};\n</script>","import { render } from \"./PrimaryCard.vue?vue&type=template&id=27ec0594\"\nimport script from \"./PrimaryCard.vue?vue&type=script&lang=js\"\nexport * from \"./PrimaryCard.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./SecondaryCards.vue?vue&type=template&id=394fc76c\"\nimport script from \"./SecondaryCards.vue?vue&type=script&lang=js\"\nexport * from \"./SecondaryCards.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./PublicOfficeLocations.vue?vue&type=template&id=d824c9e4\"\nimport script from \"./PublicOfficeLocations.vue?vue&type=script&lang=js\"\nexport * from \"./PublicOfficeLocations.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <!-- This isn't the real map -->\n  <div id=\"map\" ref=\"map\"></div>\n</template>\n\n<style scoped>\n#map {\n  visibility: hidden;\n  height: 10px;\n  width: 10px;\n}\n</style>\n\n<script>\nimport { useRootStore } from \"../store\";\n\n/*eslint no-undef: */\n\n// Generates a Bing Map with Session Key, then sends it to the Vuex store.\n// This key is used to reduce the number of bing maps credits required for the thumbnails.\n\nexport default {\n  name: \"BingSession\",\n  computed: {\n    getMapAPIkey() {\n      return this.rootStore.mapAPIkey;\n    },\n  },\n  data() {\n    return {\n      rootStore: useRootStore(),\n    }\n  },\n  mounted() {\n    if (document.getElementById(\"scriptBingMaps\")) {\n      return; // already loaded, done.\n    }\n\n    // Add a global function for the callback from Bing Maps api\n    window.OnLoadBingMapsApi = () => this.InitMap();\n\n    // Add programmaticaly the external Bing maps api script\n    const scriptTag = document.createElement(\"script\");\n    scriptTag.src =\n      \"https://www.bing.com/api/maps/mapcontrol?callback=OnLoadBingMapsApi&key=\" +\n      this.getMapAPIkey;\n    scriptTag.id = \"scriptBingMaps\";\n    scriptTag.defer = true;\n    scriptTag.async = true;\n\n    // Inject the dynamic script in the DOM\n    document.head.appendChild(scriptTag);\n  },\n  methods: {\n    getSession: function () {\n      const thisCred = this;\n      \n      // console.log(this.getMapAPIkey)\n      // Updates VUEX Store with session key\n      thisCred.map.getCredentials(function (c) {\n        return this.rootStore.UPDATE_MAP_API_KEY(c);\n      });\n      console.log(this.getMapAPIkey)\n    },\n\n    InitMap: function () {\n      const mapElement = document.getElementById(\"map\");\n\n      this.map = new Microsoft.Maps.Map(mapElement, {\n        liteMode: true,\n      });\n\n      this.getSession();\n    },\n  }\n};\n</script>","import { render } from \"./BingSession.vue?vue&type=template&id=7d38ff83&scoped=true\"\nimport script from \"./BingSession.vue?vue&type=script&lang=js\"\nexport * from \"./BingSession.vue?vue&type=script&lang=js\"\n\nimport \"./BingSession.vue?vue&type=style&index=0&id=7d38ff83&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7d38ff83\"]])\n\nexport default __exports__","export function isValidCheck(inputValue) {\n    if (inputValue !== undefined && inputValue !== null) {\n        return true;\n    } return false;\n}","import { render } from \"./App.vue?vue&type=template&id=9135249a\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue'\nimport App from './App.vue'\nimport Switches from 'vue-switches';\nimport { createPinia } from 'pinia';\n\nimport './assets/bootstrap.min.css'\nimport './assets/leaflet.css';\n\nconst pinia = createPinia()\ncreateApp(App).use(pinia).use(Switches).mount('#app')\n"],"names":["class","_createElementBlock","_Fragment","$options","getOfficeIRP","_createBlock","_component_BingSession","key","_createCommentVNode","errorModal","_Transition","name","default","_withCtx","_createElementVNode","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_createTextVNode","_hoisted_5","type","onClick","_cache","$event","$data","_","_createVNode","_component_PublicOfficeLocations","_component_InternetWaitTimeLoader","async","apiInstance","url","options","defaultHeaders","config","method","headers","body","JSON","stringify","response","fetch","ok","Error","status","data","json","error","console","fetchZipCityCountyRegion","zipCityCountyConfigAction","fetchData","log","filterCountyLocationAction","locationSearchString","filterdata","params","URLSearchParams","county","get","finalObject","find","item","f","l","toUpperCase","filteredCountyData","County","replace","Lat","a","Long","o","useRootStore","defineStore","state","locationsURL","process","locationsURLsearch","iwtURL","itwTopLevelUnitDL","itwTopLevelUnitLPA","itwTopLevelUnitIRP","itwTopLevelUnitLT","isStateHoliday","allowedDateTime","mapPollingInterval","isIWTLoaded","showOnlyKiosk","iwtLoadWindow","lpaKioskAllowed","mapMode","mapAPIresponse","mapAPIkey","userLocation","zoomedLocation","officekDLwithKiosks","officeDL","officeLPAwithKiosks","officeLPA","officeDLSaturdayWithKiosks","officeDLSaturday","officeLPASaturday","officeIRP","officeLT","closedOfficeKioskDL","closedOfficeDL","closedOfficeKioskDLVR","closedOfficeKioskVR","closedOfficeLPA","closedOfficeIRP","closedOfficeLT","officesNearby","officesNearbySecondary","officesNearbyFurtherOut","dataLoaded","toggleDL","toggleLPA","toggleIRP","toggleLT","toggleClosed","toggleDLSaturday","toggleKioskDL","toggleKioskVR","toggleKioskDLVR","primaryCard","searchData","getters","getMapMode","getLocationsURL","getLocationsURLsearch","getMapAPIkey","getUserLocation","getZoomedLocation","getallowedDateTime","getmapPollingInterval","getIsStateHoliday","getShowOnlyKiosk","getLpaKioskAllowed","getOfficekDLwithKiosks","getOfficeDL","getOfficeLPAwithKiosks","getOfficeLPA","getofficeDLSaturdayWithKiosks","getOfficeDLSaturday","getOfficeLPASaturday","getOfficeKAllKiosks","officeKAllKiosks","getofficeKAllKiosksLPA","officeKAllKiosksLPA","getOfficeLT","getClosedOfficeDL","getClosedOfficeKioskDLVR","getClosedOfficeKioskVR","getClosedOfficeLPA","getClosedOfficeIRP","getClosedOfficeLT","getClosedOfficeKioskDL","getOfficesNearby","getOfficesNearbySecondary","getOfficesNearbyFurtherOut","getDataLoaded","getPrimaryCard","getToggleDL","getToggleLPA","getToggleIRP","getToggleLT","getToggleClosed","getToggleDLSaturday","getToggleDLkiosk","getToggleVRkiosk","getToggleDLVRkiosk","getSearchData","getIWTTopLevelUnitDL","getIWTTopLevelUnitLPA","getIWTTopLevelUnitIRP","getIWTTopLevelUnitLT","getIWTLoadWindow","getIsIWTLoaded","actions","fetchZipCityCountydata","this","SET_SEARCH_DATA","location","search","SET_USER_LOCATION","clearClosedOfficeMode","SET_MAPMODE","URL","window","href","searchParams","delete","history","pushState","SET_LPAKIOSKALLOWED","SET_ISSTATEHOLIDAY","SET_SHOWONLYKIOSK","SET_IWTLOADWINDOW","SET_ISIWTLOADED","SET_TIER_LOCATIONS_URL","SET_TIER_LOCATIONS_URL_SEARCH","SET_TIER_LOCATIONS_IWT","UPDATE_MAP_API_KEY","SET_ALLOWED_IWT_DATE_TIME","SET_MAP_POLLING_INTERVAl","SET_MAPAPI_RESPONSE","SET_ZOOMED_LOCATION","CLEAR_NEARBY_OFFICES","SET_NEARBY_OFFICES","SET_NEARBY_OFFICES_SECONDARY","SET_NEARBY_OFFICES_FURTHEROUT","SET_PRIMARY_CARD","TOGGLE_SWITCH_DL","TOGGLE_SWITCH_LPA","TOGGLE_SWITCH_LT","TOGGLE_SWITCH_IRP","TOGGLE_SWITCH_CLOSED","TOGGLE_SWITCH_DL_SATURDAY","TOGGLE_SWITCH_KIOSK_DL","TOGGLE_SWITCH_KIOSK_VR","TOGGLE_SWITCH_KIOSK_DLVR","SET_DATALOADED","SET_OFFICE_DL_WITHKIOSKS","SET_OFFICE_DL","SET_OFFICE_LPA_WITHKIOSKS","SET_OFFICE_LPA","SET_OFFICE_DL_SATURDAYWITHKIOSKS","SET_OFFICE_DL_SATURDAY","SET_OFFICE_ALL_KIOSKS","SET_OFFICE_ONLY_LPA_KIOSKS","SET_OFFICE_IRP","SET_OFFICE_LT","SET_OFFICE_DL_WITHKIOSKS_CLOSED","SET_OFFICE_DL_CLOSED","SET_OFFICE_ALL_KIOSKS_CLOSED","SET_OFFICE_LPA_WITHKIOSKS_CLOSED","SET_OFFICE_LPA_CLOSED","SET_OFFICE_IRP_CLOSED","SET_OFFICE_LT_CLOSED","rootStore","IWTdataDL","IWTdataLPA","IWTdataIRP","IWTdataLT","loadIWTFlag","IWTdataLoadedDL","IWTdataLoadedLPA","officeLocsDLloaded","officeLocsDLKioskLoaded","officeLocsLPAloaded","officeLocsLPAKioskLoaded","officeKeysDLloaded","officeKeysLPAloaded","officeKeysDL","officeKeysLPA","created","loadITWtimeKeys","watch","length","getOfficeDLkiosk","getOfficeLPAkiosk","loadIWTPolling","bothSidesLoadedDL","undefined","mergeIWTkeysWithNCDMV","bothSidesLoadedLPA","allowedDateTimeObj","iwtWindowCheck","now","Date","nowAdjusted","toLocaleString","timeZone","day","getDay","hours","getHours","endDate","startDate","startTime","pollingInterval","setInterval","updatePrimaryCard","methods","currentMarker","IWTOffice","newWaitTime","IWTavgWT","loadIWTdata","then","catch","officeKeysLT","officeKeysLTloaded","officeKeysIRP","officeKeysIRPloaded","buildIWTwaitLevel","passedTime","timeArray","split","buildTimeString","parseInt","iwtType","ncdmvType","text","parser","DOMParser","xml","parseFromString","returnedJSON","xmlToJson","unitReturnedJson","Units","Unit","checkArray","Array","isArray","tempArray","push","i","ParentUnitName","ParentUnitId","Description","OfficePhone","IWTaddress","Address","IWThours","OfficeHours","IWTstatus","OfficeStatus","IWTunitlevel","UnitLevel","IWTunitName","UnitName","IWTparentUnitId","IWTparentUnitName","IWTMaxWT","MaxWT","AvgWT","IWTwaitLevel","IWTavgWToriginal","officeStore","iwtOfficeKeys","storeToUpdate","IWTdataByType","mergeById","a1","a2","map","itm","id","mergedIDs","toRaw","mergeIWTdatawithNCDMV","mergedKeyNumbers","mergeByIWTOffice","mergedData","obj","nodeType","attributes","j","attribute","nodeName","nodeValue","hasChildNodes","childNodes","old","computed","__exports__","style","_component_SearchBox","_component_sidebarMobile","_component_Map","_hoisted_6","_component_Sidebar","_hoisted_7","loading","alt","src","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_component_SecondaryCards","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_component_Callouts","role","gpsErrorModal","canGeolocate","_normalizeClass","unableToLocate","_withModifiers","args","golocateme","geoButtonText","_toDisplayString","_component_v_select","modelValue","selectedResult","placeholder","label","components","vSelect","geoResult","countySelected","currentCounty","filteredCounty","set","_userCoords","City","getSiteCookies","document","cookie","cookieLat","row","startsWith","cookieLong","getUserSiteLoc","golocatemeError","thisGoLocateme","golocatemeSuccess","position","_geoCordResult","coords","latitude","longitude","navigator","geolocation","getCurrentPosition","mounted","toggleDLswitch","onChange","toggleSaturdayDLswitch","disabled","for","toggleCLOSEDswitch","toggleLPAswitch","toggleLTswitch","toggleIRPswitch","zoomBigMapToOffice","plat","plong","_zoomCoords","getElementById","scrollIntoView","behavior","block","event","target","checked","_component_switches","theme","color","value","toggleSATURDAYswitch","toggleKIOSKswitchDL","toggleKIOSKswitchLPA","Switches","getOfficeKAllKiosksLPA","getToggleMO","toggleMO","getToggleLPAkiosk","getClosedOfficeMode","kioskMode","satrudayMode","iconUrlSize","setView","AVMoptions","bingMapsKey","imagerySet","markerIconDLOkioskopen","L","icon","iconUrl","iconSize","markerIconDLSaturdayopen","markerIconDLOopen","markerIconDLOopenYellow","markerIconDLOopenRed","markerIconDLClosed","markerIconLPAOkioskopen","markerIconLPAOpen","markerIconLPAClosed","markerIconIRPOpen","markerIconIRPClosed","markerIconLTOpen","markerIconLTClosed","layerClosedLTOffice","layerGroup","layerClosedIRPOffice","layerClosedLPAOffice","layerClosedDLOffice","layerOpenIRPOffice","layerOpenLTOffice","layerOpenKioskDLOffices","layerOpenKioskLPAOffices","layerOpenLPAOffice","layerOpenLPAOfficeWithKiosks","layerOpenDLOffice","layerOpenDLOfficeWithKiosks","layerOpenDLSaturdayOffice","layerOpenDLSaturdayOfficeWithKiosks","dmvMap","makeCardPrimary","marker","clearPins","clearLayers","layerOpenDLOfficeSaturday","removeLayerFromMap","currentLayer","hasLayer","removeLayer","loadPins","showClosedMarkers","forEach","_loc","DLofficeMarker","officeTypes","includes","renderDMVLocs","IWTMarker","LPAofficeMarker","KioskOfficeMarker","passedType","destinationLayer","markerIcon","markerMatchFound","waitTimeDisplay","normalOfficeStatus","Custom","holidayMessageDisplay","toolTipTemplate","eachLayer","layer","setIcon","getTooltip","getContent","bindTooltip","off","on","lat","lon","addTo","offset","createMap","maxBounds","maxZoom","minZoom","tileLayer","bing","updateMapFromToggles","passedToggleStatus","toggelee","typeOfChange","addLayer","closedOfficeslayersList","office","mapZoomedExternal","zoomLat","parseFloat","zoomLong","flyTo","geoLocateZoomTo","circle","fillColor","fillOpacity","radius","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_component_PrimaryCard","_renderList","index","OfficeTypes","Type","Name","offtype","Addresses","Status","Title","makeMapImageSecondary","dataPrimaryCard","cardPrimaryWide","isCardWide","temporaryOfficeStatus","notes","_createStaticVNode","counties","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","amenities","amenity","_hoisted_31","normalHours","_hoisted_32","_hoisted_33","_hoisted_34","IWTmessageOrTime","_hoisted_35","_hoisted_36","mapImage","_hoisted_37","_hoisted_38","address","city","zip","dataPhoneNumber","dataPhoneNumberLink","_hoisted_39","dataFaxNumber","_hoisted_40","dataURL","_hoisted_41","dataURLsecond","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","dataDrivingDirectionsLink","_hoisted_49","makeIWTmessage","makeMapImage","baseUrl","bingKey","makePhoneNumberLink","phone","_linkstart","_fixedphoneNumber","makePhoneNumber","makeFaxNumber","fax","makeWebSiteURL","website","makeDrivingDirectionsLink","_add","_zip","_cit","_url","_end","PrimaryCard","dataUserLocation","long","loadNearByOffices","searchType","clearOffices","passedForm","thisLoaded","Accept","Promise","reject","_locationResults","parse","_locationBag","_location","_existingoff","_filteredBag","from","Set","ID","getMapAPIresponse","autoIncrement","distance","officeType","searchField","searchTerm","addIWTtoSecondaryCards","getNearbyOfficeTimes","matchDLOffice","filter","matchLPAOffice","nearbyOfficesToAddIWT","_off","getWait","taco","getOfficeKiosk","officeAllKiosks","getOfficeMO","officeMO","getOfficeToggleClosed","_filteredNearby","thisOff","isIrp","IsMobile","Sidebar","sidebarMobile","SearchBox","Callouts","Map","SecondaryCards","ref","OnLoadBingMapsApi","InitMap","scriptTag","createElement","defer","head","appendChild","getSession","thisCred","getCredentials","c","mapElement","Microsoft","Maps","liteMode","isValidCheck","inputValue","PublicOfficeLocations","BingSession","InternetWaitTimeLoader","countdown","holidayLoaded","loadOfficeLoations","checkForMode","enhanceUserLocationData","fetchMapConfigFile","returnedConfig","lpaCounties","join","bingMapAPIKey","allowedIWTObj","allowedIWTDateTime","mapIWTPollinginterval","today","toISOString","holidays","loadedOffices","DLOfficeWithKiosks","isMobile","DLoffices","DLofficesSaturdayAndKiosks","DLofficesSaturday","DLVRkiosks","VRofficesOnlyKiosks","VRofficesWithKiosks","VRoffices","LToffices","IRPoffices","closedDLOfficeWithKiosks","closedDLoffices","closedDLVRkiosks","closedVRofficesWithKiosks","closedVRoffices","closedLToffices","closedIRPoffices","officeCountClosed","officeCountOpen","table","officeVuexLoader","store","getUrlParameter","regex","RegExp","results","exec","decodeURIComponent","_lat","_long","_queryURL","thisMethods","_loadedData","resourceSets","resources","_loadedCounty","adminDistrict2","_response","point","coordinates","Zip","postalCode","locality","render","pinia","createPinia","createApp","App","use","mount"],"sourceRoot":""}