{"version":3,"sources":["FacultyDirectory.js","serviceWorker.js","index.js"],"names":["useStyles","makeStyles","theme","root","width","maxWidth","backgroundColor","palette","background","paper","accordion","marginTop","nested","paddingLeft","spacing","dropdown1","breakpoints","down","up","dropdown2","classContainer","padding","pipeSeperator","color","marginLeft","marginRight","borderRight","greyedOut","detailsPanel","display","flexDirection","offCampus","maxHeight","position","top","info","formControl","margin","button","classArea","heading","fontSize","menuItem","whiteSpace","wordBreak","progress","scrollButton","bottom","right","paperFilter","changeAvatar","textAlign","float","transform","changeAvatarNoSpace","ScrollTop","props","children","classes","trigger","useScrollTrigger","disableHysteresis","threshold","React","createElement","Zoom","in","onClick","event","anchor","target","ownerDocument","document","querySelector","scrollIntoView","behavior","block","role","className","stateMachine","state","action","type","data","payload","titles","titlesOpen","open","titlesFilter","displayedFaculty","titlesError","departmentsFilter","FacultyDirectory","dispatch","useReducer","departments","departmentsOpen","departmentsError","searchedFaculty","searchText","allNavMenu","navMenu","searchT","useRef","search","window","location","URLSearchParams","get","useLayoutEffect","async","result","axios","method","headers","crossDomain","url","resource","error","console","log","fetchTitles","fetchFaculty","fetchNav","searchFilter","array","toLowerCase","filter","item","First_Name","includes","ABB1","ABB2","ABB3","ABB4","ABB5","Last_Name","Subject_Long","SUBJECT_LONG2","SUBJECT_LONG3","SUBJECT_LONG4","SUBJECT_LONG5","sort","a","b","valA","valB","stateLogic","dispatchType","controlState","stateLogicSearched","faculty","End_Date","current","value","TITLE","FormControl","TextField","InputLabelProps","shrink","undefined","id","label","inputRef","onChange","style","SearchIcon","aria-hidden","InputLabel","htmlFor","Select","inputProps","autoWidth","labelId","onClose","handleTitlesClose","onOpen","handleTitlesOpen","MenuItem","key","map","index","SUBJECT","Subject_Name","Button","variant","handleClear","startIcon","Clear","Typography","FontAwesomeIcon","icon","faIdBadge","length","CircularProgress","Grid","container","Fade","transitionDelay","Card","Status","CardHeader","title","CardContent","Title","href","Subject_URL","SUBJECT_URL2","SUBJECT_URL3","SUBJECT_URL4","SUBJECT_URL5","List","component","aria-label","ListItem","ListItemIcon","faBuilding","ListItemText","primary","sanitizeHtml","Office_Location","Email","faEnvelope","inset","Phone","faPhone","titleFilter","Fab","size","KeyboardArrowUpIcon","Boolean","hostname","match","ReactDOM","render","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","message"],"mappings":"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","file":"static/js/main.8a77f836.chunk.js","sourcesContent":["import React, { useLayoutEffect, useReducer } from 'react';\r\nimport './App.css';\r\nimport axios from 'axios';\r\n\r\n\r\nimport SearchIcon from '@material-ui/icons/Search';\r\n\r\nimport Clear from '@material-ui/icons/Clear';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nimport PropTypes from \"prop-types\";\r\nimport useScrollTrigger from \"@material-ui/core/useScrollTrigger\";\r\nimport Fab from '@material-ui/core/Fab';\r\nimport KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp';\r\nimport Zoom from '@material-ui/core/Zoom';\r\n\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport InputLabel from '@material-ui/core/InputLabel';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport { TextField } from '@material-ui/core';\r\n\r\nimport Card from '@material-ui/core/Card';\r\nimport CardHeader from '@material-ui/core/CardHeader';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Fade from '@material-ui/core/Fade';\r\n\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEnvelope, faPhone, faBuilding } from '@fortawesome/free-solid-svg-icons';\r\nimport { faIdBadge } from '@fortawesome/free-regular-svg-icons';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\n\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\n\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport sanitizeHtml from 'sanitize-html';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n maxWidth: 900,\r\n backgroundColor: theme.palette.background.paper,\r\n\r\n },\r\n accordion: {\r\n marginTop: 2,\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n },\r\n dropdown1: {\r\n [theme.breakpoints.down('sm')]: {\r\n width: 220,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n width: 300,\r\n },\r\n [theme.breakpoints.up('lg')]: {\r\n width: 400,\r\n },\r\n [theme.breakpoints.up('lg')]: {\r\n width: 420,\r\n },\r\n },\r\n dropdown2: {\r\n width: 290,\r\n },\r\n classContainer: {\r\n padding: 0,\r\n },\r\n pipeSeperator: {\r\n color: '#d8d8d8',\r\n marginLeft: 10,\r\n marginRight: 10,\r\n borderRight: '1px solid #d8d8d8'\r\n },\r\n greyedOut: {\r\n color: \"#777777\",\r\n },\r\n detailsPanel: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n offCampus: {\r\n color: \"#EB0000;\",\r\n maxHeight: 18,\r\n position: 'relative',\r\n marginLeft: -3,\r\n top: 3,\r\n\r\n },\r\n info: {\r\n color: \"#777777;\",\r\n maxHeight: 18,\r\n position: 'relative',\r\n marginLeft: -3,\r\n top: 3,\r\n\r\n },\r\n formControl: {\r\n margin: 5,\r\n\r\n },\r\n button: {\r\n margin: theme.spacing(2),\r\n },\r\n\r\n classArea: {\r\n marginTop: 20,\r\n },\r\n heading: {\r\n fontSize: 18,\r\n },\r\n menuItem: {\r\n whiteSpace: \"unset\",\r\n wordBreak: \"break-all\",\r\n },\r\n progress: {\r\n maxWidth: 800,\r\n },\r\n\r\n scrollButton: {\r\n position: 'fixed',\r\n bottom: theme.spacing(2),\r\n right: theme.spacing(2),\r\n backgroundColor: \"#A7C9FE\",\r\n color: \"#000000\",\r\n },\r\n\r\n paperFilter: {\r\n maxWidth: 180,\r\n position: 'fixed',\r\n right: 30,\r\n padding: 10,\r\n },\r\n changeAvatar:{\r\n color: '#852F78',\r\n marginRight: '16px',\r\n textAlign: 'right',\r\n fontSize: '20px',\r\n float: \"right\",\r\n position: \"relative\",\r\n transform: \"translateY(55%)\",\r\n },\r\n changeAvatarNoSpace:{\r\n color: '#852F78',\r\n fontSize: '20px',\r\n \r\n },\r\n\r\n}));\r\n\r\nfunction ScrollTop(props) {\r\n const { children } = props;\r\n const classes = useStyles();\r\n const trigger = useScrollTrigger({\r\n disableHysteresis: true,\r\n threshold: 400\r\n });\r\n\r\n const handleClickScroll = event => {\r\n const anchor = (event.target.ownerDocument || document).querySelector(\r\n \"#back-to-top-anchor\"\r\n );\r\n\r\n if (anchor) {\r\n anchor.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n {children}\r\n
\r\n
\r\n );\r\n}\r\n\r\nScrollTop.propTypes = {\r\n children: PropTypes.element.isRequired\r\n};\r\n\r\n//#region StateMachine\r\n\r\nconst stateMachine = (state, action) => {\r\n\r\n switch (action.type) {\r\n case 'initFaculty':\r\n return { ...state, data: action.payload }\r\n\r\n case 'initTitles':\r\n return { ...state, titles: action.payload }\r\n\r\n case 'initNav':\r\n return { ...state, titles: action.payload }\r\n\r\n\r\n case 'changeTitles':\r\n return { ...state, titlesOpen: action.open, titlesFilter: action.titlesFilter, displayedFaculty: action.displayedFaculty }\r\n\r\n case 'openTitles':\r\n return { ...state, titlesOpen: action.open }\r\n\r\n case 'titlesError':\r\n return { ...state, titlesOpen: action.open, titlesError: true }\r\n\r\n case 'search':\r\n return { ...state, displayedFaculty: action.payload }\r\n\r\n case 'clear':\r\n return { ...state, displayedFaculty: action.payload, departmentsFilter: '', titlesFilter: '' }\r\n\r\n default:\r\n return { ...state }\r\n }\r\n\r\n}\r\n\r\n//#endregion \r\n\r\n\r\nfunction FacultyDirectory() {\r\n\r\n const [state, dispatch] = useReducer(stateMachine, {\r\n data: [],\r\n titles: [],\r\n departments: [],\r\n titlesFilter: '',\r\n departmentsFilter: '',\r\n titlesOpen: false,\r\n departmentsOpen: false,\r\n titlesError: false,\r\n departmentsError: false,\r\n displayedFaculty: [],\r\n searchedFaculty: [],\r\n searchText: '',\r\n allNavMenu: [],\r\n navMenu:[],\r\n }\r\n )\r\n\r\n const classes = useStyles();\r\n\r\n let searchT = React.useRef('');\r\n\r\n let subjectList = [];\r\n const search = window.location.search;\r\n const params = new URLSearchParams(search);\r\n var subject = params.get('subject');\r\n\r\n //#region Effects\r\n\r\n useLayoutEffect(() => {\r\n\r\n\r\n const fetchFaculty = async () => {\r\n\r\n try {\r\n\r\n const result = await axios({\r\n\r\n method: 'get',\r\n\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n\r\n 'X-DreamFactory-Api-Key': '0aea284ad986d66628648574825c8da57e7326a7514a5f87b713bab87eb03762'\r\n },\r\n\r\n crossDomain: true,\r\n\r\n url: 'https://dfprd.heartland.edu/api/v2/k2_smartboxdata/_table/Faculty_Business_Card?order=Last_Name%20ASC'\r\n\r\n });\r\n\r\n dispatch({ type: 'initFaculty', payload: result.data.resource });\r\n\r\n } catch (error) {\r\n console.log(error);\r\n const result = await axios.get('faculty.json');\r\n dispatch({ type: 'initFaculty', payload: result.data.resource });\r\n }\r\n\r\n\r\n };\r\n\r\n\r\n const fetchTitles = async () => {\r\n try {\r\n\r\n const result = await axios({\r\n\r\n method: 'get',\r\n\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n\r\n 'X-DreamFactory-Api-Key': 'c5ce55a2b4dca4136049dd1d0fd83fde785fb70683084ccd22e5f0f024f2c222'\r\n },\r\n\r\n crossDomain: true,\r\n\r\n url: 'https://dfprd.heartland.edu/api/v2/k2_smartboxdata/_table/FacBusCard_Subject_TEST_SMO_1?order=Subject_Name%20ASC'\r\n\r\n });\r\n dispatch({ type: 'initTitles', payload: result.data.resource });\r\n\r\n } catch (error) {\r\n console.log(error);\r\n const result = await axios.get('titles.json');\r\n dispatch({ type: 'initTitles', payload: result.data.resource });\r\n }\r\n };\r\n\r\n \r\n const fetchNav = async () => {\r\n try{\r\n const result = await axios.get('navigation.json'); \r\n \r\n dispatch ( {type: 'initNav', payload:result.data.resource}); \r\n \r\n } catch (error){\r\n console.log(error); \r\n }\r\n }; \r\n\r\n\r\n fetchTitles();\r\n fetchFaculty();\r\n fetchNav();\r\n\r\n }, []);\r\n\r\n //#endregion\r\n\r\n //#region Handlers \r\n\r\n\r\n const handleTitlesChange = event => {\r\n stateLogic(\"changeTitles\", !state.titlesOpen, event.target.value);\r\n\r\n }\r\n\r\n const handleTitlesSearched = (event) => {\r\n stateLogicSearched(\"changeTitles\", !state.titlesOpen, event.target.value);\r\n }\r\n\r\n const handleTitlesClose = () => {\r\n dispatch({ type: \"openTitles\", open: false });\r\n }\r\n\r\n const handleTitlesOpen = () => {\r\n\r\n dispatch({ type: \"openTitles\", open: true });\r\n }\r\n\r\n\r\n const handleClear = () => {\r\n if (searchT.current.value) {\r\n searchT.current.value = \"\";\r\n }\r\n\r\n\r\n dispatch({ type: \"clear\", payload: state.data });\r\n }\r\n\r\n const searchFilter = (searchText, array) => {\r\n searchText = searchText.toLowerCase();\r\n let searchedFaculty = array.filter(item => (item.First_Name.toLowerCase().includes(searchText)) || (item.ABB1.toLowerCase().includes(searchText)) || (item.ABB2 != null && (item.ABB2.toLowerCase().includes(searchText))) || (item.ABB3 != null && (item.ABB3.toLowerCase().includes(searchText))) || (item.ABB4 != null && (item.ABB4.toLowerCase().includes(searchText))) || (item.ABB5 != null && (item.ABB5.toLowerCase().includes(searchText))) || (((item.First_Name.toLowerCase()) + ' ' + (item.Last_Name.toLowerCase())).includes(searchText)) || (item.Last_Name.toLowerCase().includes(searchText)) || (item.Subject_Long.toLowerCase().includes(searchText)) || (item.SUBJECT_LONG2 != null && (item.SUBJECT_LONG2.toLowerCase().includes(searchText))) || (item.SUBJECT_LONG3 != null && (item.SUBJECT_LONG3.toLowerCase().includes(searchText))) || (item.SUBJECT_LONG4 != null && (item.SUBJECT_LONG4.toLowerCase().includes(searchText))) || (item.SUBJECT_LONG5 != null && (item.SUBJECT_LONG5.toLowerCase().includes(searchText))));\r\n searchedFaculty.sort((a, b) => {\r\n let valA = '';\r\n let valB = ';'\r\n if (a.Last_Name.toLowerCase().includes(searchText)) {\r\n valA = 0;\r\n } else {\r\n valA = 1;\r\n }\r\n\r\n if (b.Last_Name.toLowerCase().includes(searchText)) {\r\n valB = 0;\r\n } else {\r\n valB = 1;\r\n }\r\n return valA - valB;\r\n }\r\n\r\n );\r\n\r\n return searchedFaculty;\r\n }\r\n\r\n const handleSearch = event => {\r\n stateLogicSearched(\"search\", null, event.target.value.toLowerCase());\r\n\r\n }\r\n\r\n const stateLogic = (dispatchType, controlState, filter) => {\r\n\r\n switch (dispatchType) {\r\n\r\n case 'changeTitles':\r\n\r\n //All blank \r\n if ((filter === '' || filter === 'ALL')) {\r\n return dispatch({ type: dispatchType, open: controlState, displayedFaculty: state.data.filter, titlesFilter: filter });\r\n }\r\n\r\n //Titles Alone \r\n if ((filter !== '' && filter !== 'ALL')) {\r\n return dispatch({ type: dispatchType, open: controlState, displayedFaculty: state.data.filter(item => (item.ABB1 === filter || item.ABB2 === filter || item.ABB3 === filter || item.ABB4 === filter || item.ABB5 === filter)), titlesFilter: filter });\r\n }\r\n\r\n\r\n break;\r\n\r\n\r\n\r\n default:\r\n return dispatch({ type: \"clear\", payload: state.data });\r\n }\r\n\r\n\r\n }\r\n\r\n const stateLogicSearched = (dispatchType, controlState, filter) => {\r\n\r\n\r\n switch (dispatchType) {\r\n\r\n case 'changeTitles':\r\n\r\n //All blank \r\n if ((filter === '' || filter === 'ALL')) {\r\n let faculty = state.data.filter(item => (item.End_Date === \"2099-12-31\" || item.End_Date === \"12/31/2099\"));\r\n return dispatch({ type: dispatchType, open: controlState, displayedFaculty: searchFilter(searchT.current.value, faculty), titlesFilter: filter });\r\n }\r\n\r\n //Title Alone \r\n if ((filter !== '' && filter !== 'ALL')) {\r\n let faculty = state.data.filter(item => (item.End_Date === \"2099-12-31\" || item.End_Date === \"12/31/2099\"|| item.ABB1 === filter || item.ABB2 === filter || item.ABB3 === filter || item.ABB4 === filter || item.ABB5 === filter));\r\n return dispatch({ type: dispatchType, open: controlState, displayedFaculty: searchFilter(searchT.current.value, faculty), titlesFilter: filter });\r\n }\r\n\r\n\r\n\r\n break;\r\n\r\n\r\n case 'search':\r\n\r\n //All blank \r\n if ((state.titlesFilter === '' || state.titlesFilter === 'ALL')) {\r\n let faculty = state.data.filter(item => (item.End_Date === \"2099-12-31\" || item.End_Date === \"12/31/2099\"));\r\n return dispatch({ type: dispatchType, payload: searchFilter(searchT.current.value, faculty) });\r\n }\r\n\r\n //Title only\r\n if ((state.titlesFilter !== '' && state.titlesFilter !== 'ALL')) {\r\n let faculty = state.data.filter(item => item.TITLE === state.titlesFilter && (item.End_Date === \"2099-12-31\" || item.End_Date === \"12/31/2099\")) ;\r\n return dispatch({ type: dispatchType, payload: searchFilter(searchT.current.value, faculty) });\r\n }\r\n\r\n break;\r\n default:\r\n return dispatch({ type: \"clear\", payload: state.data });\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n return (\r\n\r\n
\r\n\r\n
\r\n

Faculty Directory

\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n Filter by Subject\r\n \r\n \r\n All\r\n \r\n {\r\n state.titles.map((item, index) => (\r\n {item.Subject_Name}\r\n ))\r\n }\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n icon indicates full-time faculty \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n );\r\n}\r\n\r\nexport default FacultyDirectory;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import 'react-app-polyfill/ie9';\r\nimport 'react-app-polyfill/stable';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport './reactStyles.css';\r\nimport FacultyDirectory from './FacultyDirectory';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n\r\n"],"sourceRoot":""}