{"version":3,"mappings":"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","names":["globModules","modules","__vitePreload","modules$1","ReplaceGradeIcons","gradeIcon","grade","capitalize","str","word","ReplaceHeading","heading","city","state","ConditionalDisplay","id","cityPage","_window","rad","x","GetDistance","p1","p2","R","dLat","dLon","a","c","ConvertUsStateAbbrAndName","input","toAbbr","states","i","txt","isStorybook","body","create"],"ignoreList":[],"sources":["../../src/scripts/glob-modules.ts","../../src/scripts/modules.tsx","../../src/scripts/helpers/global.ts","../../src/scripts/index.ts"],"sourcesContent":["import type { Organism } from '@verndale/core';\n\nconst globModules: Organism[] = [];\n\nexport default globModules;\n","//import React from 'react';\nimport type { Organism } from '@verndale/core';\nimport globModules from './glob-modules';\n//import { renderElement } from './helpers/react-18-shim';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n/* -- Optional react --\nconst reactModule = (Component: any, nodeList: NodeListOf) => {\n return nodeList.forEach(node => {\n renderElement(, node);\n });\n};\n*/\nconst modules: Organism[] = [\n {\n name: 'job-listing',\n loader: () => import('./modules/job-listing')\n },\n {\n name: 'masthead',\n loader: () => import('./modules/masthead')\n },\n {\n name: 'job-overview',\n loader: () => import('./modules/job-overview')\n },\n {\n name: 'avail-jobs',\n loader: () => import('./modules/avail-jobs')\n },\n {\n name: 'overview',\n loader: () => import('./modules/overview')\n },\n {\n name: 'cost-of-living',\n loader: () => import('./modules/cost-of-living')\n },\n {\n name: 'weather',\n loader: () => import('./modules/weather')\n },\n {\n name: 'transportation',\n loader: () => import('./modules/transportation')\n },\n {\n name: 'cta',\n loader: () => import('./modules/cta')\n },\n {\n name: 'attractions',\n loader: () => import('./modules/attractions')\n },\n {\n name: 'state-attractions',\n loader: () => import('./modules/state-attractions')\n },\n {\n name: 'featured',\n loader: () => import('./modules/featured')\n },\n {\n name: 'nearby-cities',\n loader: () => import('./modules/nearby-cities')\n },\n {\n name: 'schools',\n loader: () => import('./modules/schools')\n },\n {\n name: 'community',\n loader: () => import('./modules/community')\n },\n {\n name: 'search-cities',\n loader: () => import('./modules/search-cities')\n },\n {\n name: 'other-cities',\n loader: () => import('./modules/other-cities')\n },\n {\n name: 'table-of-content',\n loader: () => import('./modules/table-of-content')\n }\n];\n\nexport default [...globModules, ...modules];\n","export type ExtendedWindowType = Window &\n typeof globalThis & {\n cdn: string;\n withState: string[];\n withoutState: string[];\n tooltips: { [key: string]: string };\n heading: string;\n nurse: {\n heading: string;\n description: string;\n };\n allied: {\n heading: string;\n description: string;\n };\n noQueries: {\n title: string;\n heading: string;\n description: string;\n };\n };\n\nexport const ReplaceGradeIcons = () => {\n const gradeIcons = document.querySelectorAll('.v-niche-grade');\n gradeIcons.forEach(gradeIcon => {\n const grade = gradeIcon.getAttribute('alt');\n if (grade) {\n gradeIcon.setAttribute(\n 'src',\n `${(window as ExtendedWindowType).cdn}images/${grade.toLowerCase()}.png`\n );\n } else {\n gradeIcon.style.setProperty('display', 'none');\n }\n });\n};\n\nconst capitalize = (str: string) => {\n if (!str) return '';\n str.trim();\n const words = str.split(' ');\n\n const capitalizedWords = words.map(word => {\n return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();\n });\n\n return capitalizedWords.join(' ');\n};\n\nexport const ReplaceHeading = (heading: HTMLElement) => {\n const city = document.body.dataset.name ? document.body.dataset.name : '';\n const state = document.body.dataset.state ? document.body.dataset.state : '';\n\n if (heading.innerText.includes('{{NAME}}')) {\n if (state) {\n heading.innerText = heading.innerText\n .replace('{{NAME}}', city.toUpperCase())\n .replace('{{STATE}}', state.toUpperCase());\n } else {\n heading.innerText = heading.innerText\n .replace('{{NAME}}', city.toUpperCase())\n .replace(', {{STATE}}', '');\n }\n } else if (heading.innerText.includes('{{STATE}}')) {\n if (state) {\n heading.innerText = heading.innerText.replace('{{STATE}}', state.toUpperCase());\n }\n } else {\n if (heading.innerText.includes('{{Name}}')) {\n if (state) {\n heading.innerText = heading.innerText\n .replace('{{Name}}', `${capitalize(city)}`)\n .replace('{{State}}', `${capitalize(state)}`);\n } else {\n heading.innerText = heading.innerText\n .replace('{{Name}}', `${capitalize(city)}`)\n .replace(', {{State}}', '');\n }\n } else if (heading.innerText.includes('{{State}}')) {\n heading.innerText = heading.innerText.replace('{{State}}', `${capitalize(state)}`);\n }\n }\n};\n\nexport const ConditionalDisplay = (id: string) => {\n const cityPage = document.body.dataset.state;\n const _window = window as ExtendedWindowType;\n\n if (cityPage) {\n return _window.withoutState.includes(id);\n }\n return _window.withState.includes(id);\n};\n\nconst rad = (x: number) => {\n return (x * Math.PI) / 180;\n};\n\nexport const GetDistance = (p1: { lat: number; long: number }) => {\n const p2 = {\n lat: document.body.dataset.latitude ? parseFloat(document.body.dataset.latitude) : 0,\n long: document.body.dataset.longitude ? parseFloat(document.body.dataset.longitude) : 0\n };\n\n // Convert latitude and longitude from degrees to radians\n let R = 6371; // Radius of the Earth in kilometers\n const dLat = rad(p2.lat - p1.lat);\n const dLon = rad(p2.long - p1.long);\n\n const a =\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos(rad(p1.lat)) * Math.cos(rad(p2.lat)) * Math.sin(dLon / 2) * Math.sin(dLon / 2);\n\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n\n document.body.dataset.metric === 'miles' ? (R = 3958.8) : (R = 6371);\n // Distance in kilometers\n return R * c; // returns the distance in meter\n};\n\nexport const ConvertUsStateAbbrAndName = (input: string): string | null => {\n const toAbbr = input.length !== 2;\n\n const states = [\n ['Alabama', 'AL'],\n ['Alaska', 'AK'],\n ['American Samoa', 'AS'],\n ['Arizona', 'AZ'],\n ['Arkansas', 'AR'],\n ['Armed Forces Americas', 'AA'],\n ['Armed Forces Europe', 'AE'],\n ['Armed Forces Pacific', 'AP'],\n ['California', 'CA'],\n ['Colorado', 'CO'],\n ['Connecticut', 'CT'],\n ['Delaware', 'DE'],\n ['District Of Columbia', 'DC'],\n ['Florida', 'FL'],\n ['Georgia', 'GA'],\n ['Guam', 'GU'],\n ['Hawaii', 'HI'],\n ['Idaho', 'ID'],\n ['Illinois', 'IL'],\n ['Indiana', 'IN'],\n ['Iowa', 'IA'],\n ['Kansas', 'KS'],\n ['Kentucky', 'KY'],\n ['Louisiana', 'LA'],\n ['Maine', 'ME'],\n ['Marshall Islands', 'MH'],\n ['Maryland', 'MD'],\n ['Massachusetts', 'MA'],\n ['Michigan', 'MI'],\n ['Minnesota', 'MN'],\n ['Mississippi', 'MS'],\n ['Missouri', 'MO'],\n ['Montana', 'MT'],\n ['Nebraska', 'NE'],\n ['Nevada', 'NV'],\n ['New Hampshire', 'NH'],\n ['New Jersey', 'NJ'],\n ['New Mexico', 'NM'],\n ['New York', 'NY'],\n ['North Carolina', 'NC'],\n ['North Dakota', 'ND'],\n ['Northern Mariana Islands', 'NP'],\n ['Ohio', 'OH'],\n ['Oklahoma', 'OK'],\n ['Oregon', 'OR'],\n ['Pennsylvania', 'PA'],\n ['Puerto Rico', 'PR'],\n ['Rhode Island', 'RI'],\n ['South Carolina', 'SC'],\n ['South Dakota', 'SD'],\n ['Tennessee', 'TN'],\n ['Texas', 'TX'],\n ['US Virgin Islands', 'VI'],\n ['Utah', 'UT'],\n ['Vermont', 'VT'],\n ['Virginia', 'VA'],\n ['Washington', 'WA'],\n ['West Virginia', 'WV'],\n ['Wisconsin', 'WI'],\n ['Wyoming', 'WY']\n ];\n\n let i;\n\n if (toAbbr) {\n input = input.replace(/\\w\\S*/g, function (txt: string) {\n return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n });\n for (i = 0; i < states.length; i++) {\n if (states[i][0] === input) {\n return states[i][1];\n }\n }\n } else {\n input = input.toUpperCase();\n for (i = 0; i < states.length; i++) {\n if (states[i][1] === input) {\n return states[i][0];\n }\n }\n }\n\n return null;\n};\n","import 'focus-visible';\nimport create from '@verndale/core';\nimport modules from './modules';\nimport { ReplaceGradeIcons } from './helpers/global';\n\nconst isStorybook = !!document.getElementById('storybook-root');\nconst body = document.querySelector('body') as HTMLBodyElement;\n\ndocument.addEventListener(\n 'DOMContentLoaded',\n async () => {\n if (!body.dataset.modulesLoaded || isStorybook) {\n create(modules).then(() => {\n body.dataset.modulesLoaded = 'true';\n ReplaceGradeIcons();\n });\n }\n },\n false\n);\n"],"file":"scripts/main.bundle.js"}