{"version":3,"sources":["webpack:///./src/components/DocumentGroup/RenderLinkGroups.js","webpack:///./src/components/Layout/useMediaQueries.js","webpack:///./src/components/Timeline/Event.js","webpack:///./src/components/Timeline/Timeline.js","webpack:///./src/components/Home/RedistrictingStatus.js","webpack:///./src/components/ArcGIS/WebMap.js","webpack:///./src/components/ArcGIS/WebMapSelect.js","webpack:///./src/components/DistrictPlans/DistrictMaps.js","webpack:///./src/components/Home/HomePageBody.js","webpack:///./src/components/Home/IndexPage.js","webpack:///./src/components/Home/transformHomePageData.js","webpack:///./node_modules/esri-loader/dist/umd/esri-loader.js"],"names":["DocGroupsWrapper","styled","div","RenderLinkGroups","React","memo","groups","colSpan","linkGroupClass","linkGroupContainerClass","defaultExpanded","className","map","header","links","id","data-toggle","href","role","aria-expanded","aria-controls","url","displayText","getHrefProps","prevProps","nextProps","length","getMedia","queries","matchedQuery","forEach","val","key","EventWrapper","top","left","IconContainer","color","EventIconsWrapper","button","EventInfoWrapper","EventInfoContainer","props","leftPlacement","EventArrow","height","EventLink","a","EventIcon","iconName","iconColor","FabricIcon","style","fontSize","days","months","getLongDateFormat","date","getDay","getMonth","getDate","day","suffix","dayNum","parseInt","toString","getFullYear","EventInfo","group","isVisible","iconMap","eventGroup","largestGroupSize","opacity","pointerEvents","Math","round","placement","event","borderLeft","icon","description","aria-label","plainTextDescription","backgroundColor","RenderEvent","flipEventInfo","handleUserSelect","miniHeader","firstDateSplit","toDateString","split","lastDateSplit","getEventMiniHeader","groupHeaderId","replace","onClick","onFocusCapture","aria-labelledby","TimelineWrapper","EventContainer","Timeline","events","heading","groupBy","eventsWithPlacements","sort","b","getTime","minDate","max","getEventsWithPlacements","Date","eventGroups","eventIndex","i","diff","abs","push","getEventGroups","Object","keys","getLargestGroupSize","nextEventIndex","today","now","eventGroupKeys","getUpcomingEventIndex","useState","Infinity","visibleIndex","setVisibleIndex","useEffect","width","position","fill","x","y","rx","groupKey","RedistrictingStatus","setCurrentMedia","windowSize","setWindowSize","windowListener","statusText","statusHeading","timelineHeading","month","useReducer","state","action","dispatch","window","innerWidth","addEventListener","removeEventListener","querySet","Map","query","set","matchMedia","matches","Meeting","Milestone","Publication","MapContainer","WebMap","mapId","portalUrl","mapRef","useRef","loadModules","css","then","MapView","portalItem","view","container","current","zoom","navigation","mouseWheelZoomEnabled","browserTouchPanEnabled","ref","MapHeadingWrapper","MapSelectWrapper","MapWrapper","MapFooter","WebMapSelect","maps","footer","setMapId","esri","useStaticQuery","reappEnvConfig","title","onChange","target","value","m","name","MapsContainer","DistrictMaps","additionalMapsLink","HomePageBody","data","historyHeading","historyText","timelineItems","backgroundHeading","backgroundText","additionalInformationGroups","to","renderRichTextFields","richTextData","bulkRenderRichText","renderRichText","IndexPage","previewData","transformHomePageData","pageContext","PageLayout","tocQuery","pageTitle","renderPage","pageProps","genId","require","generate","assignIdsToHeaders","transformLinkGroup","module","exports","prismic","allReapredistHomePages","edges","node","body","timelineItem","filter","item","category","d","text","join","link","parseVersion","version","toLowerCase","match","major","minor","getCdnUrl","getCssUrl","urlOrVersion","baseUrl","parsedVersion","getCdnCssUrl","loadCss","before","document","querySelector","getCss","beforeNode","parentNode","insertBefore","head","appendChild","insertLink","createElement","rel","createStylesheetLink","utils","Promise","undefined","defaultOptions","handleScriptLoad","script","callback","errback","onScriptError","e","error","Error","src","handleScriptError","onScriptLoad","setDefaultOptions","options","getScript","isLoaded","globalRequire","on","loadScript","opts","obj","prop","prototype","hasOwnProperty","call","resolve","reject","getAttribute","insertCssBefore","dojoConfig","type","setAttribute","createScript","requireModules","modules","errorHandler","args","_i","arguments","remove","loadScriptOptions","esriLoader","defineProperty","factory"],"mappings":"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","file":"04a12abc4b45a3e02e7d90f16035957e5126081b-7bdbe238354e42037efe.js","sourcesContent":["import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport { getHrefProps } from \"@utils/prismic-render-utils\";\r\n\r\nconst DocGroupsWrapper = styled.div`\r\n\th2,\r\n\th3,\r\n\th4,\r\n\th5,\r\n\th6 {\r\n\t\tfont-size: 1.3em;\r\n\t}\r\n`;\r\n\r\n// eslint-disable-next-line react/display-name\r\nconst RenderLinkGroups = React.memo(\r\n\t({\r\n\t\tgroups,\r\n\t\tcolSpan,\r\n\t\tlinkGroupClass,\r\n\t\tlinkGroupContainerClass,\r\n\t\tdefaultExpanded,\r\n\t}) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{groups.map(({ header, links, id }) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{header}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t);\r\n\t},\r\n\t(prevProps, nextProps) => {\r\n\t\treturn (\r\n\t\t\tprevProps.groups.length == nextProps.groups.length &&\r\n\t\t\tprevProps.colSpan == nextProps.colSpan\r\n\t\t);\r\n\t}\r\n);\r\nexport default RenderLinkGroups;\r\n","import { useEffect, useState } from \"react\";\r\nconst THROTTLE = 20;\r\n\r\nexport const useMediaQueries = (queries, setCurrentMedia) => {\r\n\tconst [windowSize, setWindowSize] = useState(0);\r\n\r\n\tconst windowListener = () => {\r\n\t\tif (\r\n\t\t\twindow.innerWidth > windowSize + THROTTLE ||\r\n\t\t\twindow.innerWidth < windowSize - THROTTLE\r\n\t\t) {\r\n\t\t\tsetWindowSize(window.innerWidth);\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\twindow.addEventListener(\"resize\", windowListener);\r\n\t\treturn () => window.removeEventListener(\"resize\", windowListener);\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tsetWindowSize(window.innerWidth);\r\n\r\n\t\tconst querySet = new Map();\r\n\r\n\t\tqueries.forEach(([key, query]) => {\r\n\t\t\tquerySet.set(key, window.matchMedia(query).matches);\r\n\t\t});\r\n\r\n\t\tsetCurrentMedia(getMedia(querySet));\r\n\t}, [windowSize, queries, setCurrentMedia]);\r\n};\r\n\r\nconst getMedia = queries => {\r\n\tlet matchedQuery = \"\";\r\n\tqueries.forEach((val, key) => {\r\n\t\tif (val) {\r\n\t\t\tmatchedQuery = key;\r\n\t\t}\r\n\t});\r\n\treturn matchedQuery;\r\n};\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport FabricIcon from \"@components/Icons/FabricIcon\";\r\n\r\nconst EventWrapper = styled.div`\r\n\tposition: absolute;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\ttop: ${({ top }) => top};\r\n\tleft: ${({ left }) => left};\r\n\tflex-direction: column;\r\n\twidth: 22px;\r\n\r\n\th4.miniHeader {\r\n\t\tfont-size: 13.5px;\r\n\t\tmargin-bottom: 0.3px;\r\n\t\tdisplay: block;\r\n\t\ttransform-origin: left;\r\n\t\ttransform: translateX(10px) rotateZ(-55deg);\r\n\t\twidth: 200px;\r\n\t}\r\n`;\r\n\r\nconst IconContainer = styled.div`\r\n\twidth: 24px;\r\n\theight: 24px;\r\n\tpadding: 0;\r\n\tmargin: 3px;\r\n\tborder-radius: 12px;\r\n\tbackground-color: ${({ color }) => color};\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tcolor: white;\r\n\tcursor: pointer;\r\n`;\r\n\r\nconst EventIconsWrapper = styled.button`\r\n\tpadding: 0;\r\n\tbackground: none;\r\n\tbackground-color: #1c2229;\r\n\twidth: 30px;\r\n\tmin-height: 30px;\r\n\tborder-radius: 15px;\r\n\tborder: none;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n`;\r\n\r\nconst EventInfoWrapper = styled.div`\r\n\t.flip {\r\n\t\ttransform: translateX(-178px);\r\n\t}\r\n\tz-index: 9000;\r\n`;\r\n\r\nconst EventInfoContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\twidth: 320px;\r\n\tmax-height: 210px;\r\n\toverflow-y: auto;\r\n\ttransform: translateX(${props => props.leftPlacement});\r\n\tbackground-color: #1c2229;\r\n\tcolor: white;\r\n\tpadding: 8px;\r\n\tborder-radius: 2px;\r\n\r\n\th5 {\r\n\t\tfont-size: 14px;\r\n\t\tmargin-bottom: 8px;\r\n\t\tpadding-left: 3px;\r\n\t}\r\n\r\n\tp {\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 1.2em;\r\n\t\tmargin-bottom: 5px;\r\n\t}\r\n\r\n\ta {\r\n\t\tcolor: #2990ff;\r\n\t}\r\n\r\n\tdiv:not(:last-child) {\r\n\t\tborder-bottom: 1px solid #777;\r\n\t\tmargin-bottom: 1em;\r\n\t\tpadding-bottom: 0.7em;\r\n\t}\r\n`;\r\n\r\nconst EventArrow = styled.div`\r\n\twidth: 3px;\r\n\ttransform: translateX(13px);\r\n\theight: ${props => props.height}px;\r\n\tbackground-color: #1c2229;\r\n`;\r\n\r\nconst EventLink = styled.a`\r\n\tborder-radius: 4px;\r\n\tpadding: 4px;\r\n\tfont-size: 12px;\r\n\tcolor: #fefefe !important;\r\n\r\n\t:hover {\r\n\t\tcolor: #fff;\r\n\t}\r\n`;\r\n\r\nconst EventIcon = ({ iconName, iconColor }) => (\r\n\t\r\n\t\t\r\n\t\r\n);\r\n\r\nfunction getEventMiniHeader(eventGroup) {\r\n\tconst firstDateSplit = eventGroup[0].date.toDateString().split(\" \");\r\n\tconst lastDateSplit = eventGroup[eventGroup.length - 1].date\r\n\t\t.toDateString()\r\n\t\t.split(\" \");\r\n\r\n\tconst miniHeader =\r\n\t\t`${firstDateSplit[1]} ${firstDateSplit[3]}` +\r\n\t\t(lastDateSplit[1] === firstDateSplit[1]\r\n\t\t\t? \"\"\r\n\t\t\t: ` - ${lastDateSplit[1]} ${lastDateSplit[3]}`);\r\n\r\n\treturn miniHeader;\r\n}\r\n\r\nconst days = [\r\n\t\"Sunday\",\r\n\t\"Monday\",\r\n\t\"Tuesday\",\r\n\t\"Wednesday\",\r\n\t\"Thursday\",\r\n\t\"Friday\",\r\n\t\"Saturday\",\r\n];\r\n\r\nconst months = [\r\n\t\"January\",\r\n\t\"February\",\r\n\t\"March\",\r\n\t\"April\",\r\n\t\"May\",\r\n\t\"June\",\r\n\t\"July\",\r\n\t\"August\",\r\n\t\"September\",\r\n\t\"October\",\r\n\t\"November\",\r\n\t\"December\",\r\n];\r\n\r\nconst getDaySuffix = day => {\r\n\tconst suffix = [\"th\", \"st\", \"nd\", \"rd\"];\r\n\tlet dayNum = day;\r\n\tif (dayNum > 19) {\r\n\t\tdayNum = parseInt(dayNum.toString()[1]);\r\n\t}\r\n\treturn dayNum > suffix.length - 1 ? \"th\" : suffix[dayNum];\r\n};\r\n\r\nconst getLongDateFormat = date =>\r\n\t`${days[date.getDay()]}, ${months[date.getMonth()]} ${date.getDate() +\r\n\t\tgetDaySuffix(date.getDate())}, ${date.getFullYear()}`;\r\n\r\nconst EventInfo = ({ isVisible, iconMap, eventGroup, largestGroupSize }) => {\r\n\tconst getInfoLeftPlacement = group =>\r\n\t\t-1 * Math.round(group[0].placement * 100) +\r\n\t\t10 * group[0].placement +\r\n\t\t\"%\";\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{eventGroup.map(event => (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{getLongDateFormat(event.date)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{event.description}\r\n\t\t\t\t\t\t{event.url ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tMore Info\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t
\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst RenderEvent = ({\r\n\teventGroup,\r\n\tflipEventInfo,\r\n\tisVisible,\r\n\thandleUserSelect,\r\n\ticonMap,\r\n\ttop,\r\n\tlargestGroupSize,\r\n}) => {\r\n\tconst miniHeader = getEventMiniHeader(eventGroup);\r\n\r\n\tconst groupHeaderId = `timeline-group-header-${miniHeader.replace(\r\n\t\t/\\s/g,\r\n\t\t\"\"\r\n\t)}`;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t

\r\n\t\t\t\t{miniHeader}\r\n\t\t\t

\r\n\t\t\t\r\n\t\t\t\t{eventGroup.map(event => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default RenderEvent;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport RenderEvent from \"./Event\";\r\n\r\nconst TimelineWrapper = styled.div`\r\n\tbackground-color: #f7f7f7;\r\n\tpadding: 0 32px 0 32px;\r\n\tmin-height: 500px;\r\n\t.timelineHeader {\r\n\t\tborder-bottom: 1px solid #dddddd;\r\n\t\ttext-align: center;\r\n\t}\r\n\tborder: 1px solid #eee;\r\n\tborder-radius: 4px;\r\n`;\r\n\r\nconst EventContainer = styled.div`\r\n\tposition: relative;\r\n\twidth: 94%;\r\n\theight: 300px;\r\n\tmargin-top: 24px;\r\n`;\r\n\r\nfunction getEventsWithPlacements(events) {\r\n\tif (events.length > 0) {\r\n\t\tevents.sort((a, b) => a.date.getTime() - b.date.getTime());\r\n\r\n\t\tconst minDate = events[0].date.getTime();\r\n\t\tconst max = events[events.length - 1].date.getTime() - minDate;\r\n\r\n\t\treturn events.map(event => {\r\n\t\t\tconst pos = event.date.getTime() - minDate;\r\n\t\t\tconst placement = pos / max;\r\n\r\n\t\t\treturn { ...event, placement: placement };\r\n\t\t});\r\n\t}\r\n\treturn [];\r\n}\r\n\r\nfunction getEventGroups(eventsWithPlacements, groupBy = 2678400000) {\r\n\tconst eventGroups = {};\r\n\r\n\teventsWithPlacements.forEach((event, eventIndex) => {\r\n\t\tif (!event.group) {\r\n\t\t\teventGroups[event.id] = [];\r\n\t\t\tfor (let i = 0; i < eventsWithPlacements.length; i++) {\r\n\t\t\t\tconst diff = Math.abs(\r\n\t\t\t\t\teventsWithPlacements[i].date.getTime() -\r\n\t\t\t\t\t\tevent.date.getTime()\r\n\t\t\t\t);\r\n\t\t\t\tif (!eventsWithPlacements[i].group) {\r\n\t\t\t\t\tif (diff < groupBy) {\r\n\t\t\t\t\t\teventGroups[event.id].push(eventsWithPlacements[i]);\r\n\t\t\t\t\t\teventsWithPlacements[i].group = event.id;\r\n\t\t\t\t\t} else if (eventIndex < i) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\treturn eventGroups;\r\n}\r\n\r\nfunction getUpcomingEventIndex(eventGroups) {\r\n\tlet nextEventIndex = -1;\r\n\tconst today = new Date(new Date(Date.now()).toDateString()).getTime(); //get the beginning of today\r\n\tconst eventGroupKeys = Object.keys(eventGroups);\r\n\tfor (let i = 0; i < eventGroupKeys.length; i++) {\r\n\t\teventGroups[eventGroupKeys[i]].forEach(event => {\r\n\t\t\tif (event.date.getTime() >= today) {\r\n\t\t\t\tnextEventIndex = i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (nextEventIndex > -1) {\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\treturn nextEventIndex;\r\n}\r\n\r\nconst getLargestGroupSize = eventGroups => {\r\n\tlet largestGroupSize = 0;\r\n\r\n\tObject.keys(eventGroups).forEach(key => {\r\n\t\tlargestGroupSize = Math.max(largestGroupSize, eventGroups[key].length);\r\n\t});\r\n\treturn largestGroupSize;\r\n};\r\n\r\nconst Timeline = ({ events, heading, iconMap, groupBy }) => {\r\n\tconst eventsWithDates = events.map(event => ({\r\n\t\t...event,\r\n\t\tdate: new Date(event.date),\r\n\t}));\r\n\r\n\tconst eventsWithPlacements = getEventsWithPlacements(eventsWithDates);\r\n\r\n\tconst eventGroups = getEventGroups(eventsWithPlacements, groupBy);\r\n\tconst largestGroupSize = getLargestGroupSize(eventGroups);\r\n\tconst nextEventIndex = getUpcomingEventIndex(eventGroups);\r\n\r\n\tconst [visibleIndex, setVisibleIndex] = useState(Infinity);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetVisibleIndex(\r\n\t\t\tnextEventIndex > -1\r\n\t\t\t\t? nextEventIndex\r\n\t\t\t\t: eventsWithPlacements.length - 1\r\n\t\t);\r\n\t}, [groupBy]);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{events.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t\t\t
{heading}
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{Object.keys(eventGroups).map((groupKey, i) => (\r\n\t\t\t\t\t\t\t 0.5\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\teventGroup={eventGroups[groupKey]}\r\n\t\t\t\t\t\t\t\tlargestGroupSize={largestGroupSize}\r\n\t\t\t\t\t\t\t\tkey={groupKey}\r\n\t\t\t\t\t\t\t\thandleUserSelect={() => setVisibleIndex(i)}\r\n\t\t\t\t\t\t\t\ticonMap={iconMap}\r\n\t\t\t\t\t\t\t\ttop={\"74px\"}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Timeline;\r\n","import React, { useReducer } from \"react\";\r\nimport { useMediaQueries } from \"@layout/useMediaQueries\";\r\nimport Timeline from \"@components/Timeline/Timeline\";\r\n\r\nconst RedistrictingStatus = ({\r\n\tevents,\r\n\tstatusText,\r\n\tstatusHeading,\r\n\ttimelineHeading,\r\n}) => {\r\n\tconst month = 2678400000;\r\n\r\n\tconst mediaReducer = (state, action) => {\r\n\t\tswitch (action) {\r\n\t\t\tcase \"mobile\":\r\n\t\t\t\treturn month * 2.5;\r\n\t\t\tcase \"mobile-large\":\r\n\t\t\t\treturn month * 1.5;\r\n\t\t\tcase \"desktop\":\r\n\t\t\t\treturn month * 2.5;\r\n\t\t\tcase \"widescreen\":\r\n\t\t\t\treturn month;\r\n\t\t}\r\n\t};\r\n\r\n\tconst [groupBy, dispatch] = useReducer(mediaReducer, month);\r\n\r\n\tuseMediaQueries(\r\n\t\t[\r\n\t\t\t[\"mobile\", \"(max-width: 560px)\"],\r\n\t\t\t[\"mobile-large\", \"(min-width: 720px)\"],\r\n\t\t\t[\"desktop\", \"(min-width: 960px)\"],\r\n\t\t\t[\"widescreen\", \"(min-width: 1330px)\"],\r\n\t\t],\r\n\t\tdispatch\r\n\t);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{statusHeading}\r\n\t\t\t{statusText}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default RedistrictingStatus;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport { loadModules } from \"esri-loader\";\r\nimport styled from \"styled-components\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst MapContainer = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n`;\r\n\r\nexport const WebMap = ({ mapId, portalUrl }) => {\r\n\tconst mapRef = useRef();\r\n\r\n\tuseEffect(() => {\r\n\t\tloadModules([\"esri/WebMap\", \"esri/views/MapView\", \"esri/config\"], {\r\n\t\t\tcss: true,\r\n\t\t}).then(([WebMap, MapView, esriConfig]) => {\r\n\t\t\tesriConfig.portalUrl = portalUrl;\r\n\t\t\tconst map = new WebMap({ portalItem: { id: mapId } });\r\n\r\n\t\t\tconst view = new MapView({\r\n\t\t\t\tcontainer: mapRef.current,\r\n\t\t\t\tmap: map,\r\n\t\t\t\tzoom: 6,\r\n\t\t\t\tnavigation: {\r\n\t\t\t\t\tmouseWheelZoomEnabled: false,\r\n\t\t\t\t\tbrowserTouchPanEnabled: false,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\r\n\t\t\treturn () => {\r\n\t\t\t\tif (view) {\r\n\t\t\t\t\t// destroy the map view\r\n\t\t\t\t\tview.container = null;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t});\r\n\t}, [mapId]);\r\n\r\n\treturn ;\r\n};\r\n\r\nWebMap.propTypes = {\r\n\tmapId: PropTypes.string,\r\n};\r\n\r\nexport default WebMap;\r\n","import React, { useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport WebMap from \"./WebMap\";\r\nimport { graphql, useStaticQuery } from \"gatsby\";\r\n\r\nconst MapHeadingWrapper = styled.div`\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\talign-items: center;\r\n\tpadding: 0.2em 0.5em 0.2em 0.5em;\r\n\tcolor: #fefefe;\r\n\tborder-radius: 4px 4px 0 0;\r\n\theight: 7%;\r\n\r\n\tselect:focus {\r\n\t\toutline: 1px solid #fefefe;\r\n\t\toutline-offset: 2px;\r\n\t}\r\n`;\r\n\r\nconst MapSelectWrapper = styled.div`\r\n\twidth: 100%;\r\n\theight: 80%;\r\n`;\r\n\r\nconst MapWrapper = styled.div`\r\n\twidth: 100%;\r\n\theight: 93%;\r\n\tmin-height: 600px;\r\n`;\r\n\r\nconst MapFooter = styled.div`\r\n\twidth: 100%;\r\n\theight: 7%;\r\n\tcolor: #fefefe;\r\n\tborder-radius: 0 0 4px 4px;\r\n`;\r\n\r\nconst query = graphql`\r\n\t{\r\n\t\treappEnvConfig {\r\n\t\t\tesri {\r\n\t\t\t\tportalUrl\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nconst WebMapSelect = ({ header, maps, footer }) => {\r\n\tconst [mapId, setMapId] = useState(maps[0].id);\r\n\tconst {\r\n\t\treappEnvConfig: { esri },\r\n\t} = useStaticQuery(query);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{header}\r\n\t\t\t\t\r\n\t\t\t\t{maps.length > 1 ? (\r\n\t\t\t\t\t setMapId(target.value)}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{maps.map(m => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{footer}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default WebMapSelect;\r\n","import React from \"react\";\r\nimport WebMapSelect from \"@components/ArcGIS/WebMapSelect\";\r\nimport styled from \"styled-components\";\r\n\r\nconst MapsContainer = styled.div`\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tmargin-bottom: 3em;\r\n\r\n\t@media (max-width: 430px) {\r\n\t\theader {\r\n\t\t\tfont-size: 0.9em;\r\n\t\t\ttext-align: center;\r\n\t\t}\r\n\r\n\t\tselect {\r\n\t\t\tfont-size: 0.8em;\r\n\t\t}\r\n\t}\r\n`;\r\n\r\nconst DistrictMaps = ({ maps, additionalMapsLink }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t{additionalMapsLink}\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DistrictMaps;\r\n","import React from \"react\";\r\nimport { Link } from \"gatsby\";\r\n\r\nimport RedistrictingStatus from \"./RedistrictingStatus\";\r\nimport DistrictMaps from \"@components/DistrictPlans/DistrictMaps\";\r\nimport RenderLinkGroups from \"@components/DocumentGroup/RenderLinkGroups\";\r\n\r\nconst HomePageBody = ({ data }) => {\r\n\tconst {\r\n\t\thistoryHeading,\r\n\t\thistoryText,\r\n\t\tstatusHeading,\r\n\t\tstatusText,\r\n\t\ttimelineItems,\r\n\t\ttimelineHeading,\r\n\t\tbackgroundHeading,\r\n\t\tbackgroundText,\r\n\t\tadditionalInformationGroups,\r\n\t\tmaps,\r\n\t} = data;\r\n\r\n\tconst colSpan =\r\n\t\tadditionalInformationGroups.length > 4\r\n\t\t\t? 4\r\n\t\t\t: 12 / additionalInformationGroups.length;\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t

Home

\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

District Plans

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t2021 District PDF Maps\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t{backgroundHeading}\r\n\t\t\t\t{backgroundText}\r\n\t\t\t\t{historyHeading}\r\n\t\t\t\t{historyText}\r\n\t\t\t\t

\r\n\t\t\t\t\tAdditional Information\r\n\t\t\t\t

\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default HomePageBody;\r\n","import React from \"react\";\r\n\r\nimport PageLayout from \"@layout/PageLayout\";\r\n\r\nimport HomePageBody from \"./HomePageBody\";\r\nimport { transformHomePageData } from \"./transformHomePageData\";\r\nimport {\r\n\trenderRichText,\r\n\tbulkRenderRichText,\r\n} from \"@utils/prismic-render-utils\";\r\n\r\nconst renderRichTextFields = data => {\r\n\tconst richTextData = bulkRenderRichText(data, [\r\n\t\t\"timelineItems\",\r\n\t\t\"additionalInformationGroups\",\r\n\t\t\"maps\",\r\n\t]);\r\n\tconst timelineItems = data.timelineItems.map(event => ({\r\n\t\t...event,\r\n\t\tdescription: renderRichText(event.description),\r\n\t}));\r\n\tconst additionalInformationGroups = data.additionalInformationGroups.map(\r\n\t\tgroup => ({\r\n\t\t\t...group,\r\n\t\t\theader: renderRichText(group.header),\r\n\t\t})\r\n\t);\r\n\treturn {\r\n\t\t...data,\r\n\t\t...richTextData,\r\n\t\ttimelineItems: timelineItems,\r\n\t\tadditionalInformationGroups: additionalInformationGroups,\r\n\t};\r\n};\r\n\r\nconst IndexPage = props => {\r\n\tconst data = props.previewData\r\n\t\t? renderRichTextFields(transformHomePageData(props.previewData))\r\n\t\t: renderRichTextFields(props.pageContext.data);\r\n\r\n\treturn (\r\n\t\t }\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default IndexPage;\r\n","const { generate: genId } = require(\"shortid\");\r\nconst {\r\n\tassignIdsToHeaders,\r\n\ttransformLinkGroup,\r\n} = require(\"../../utils/prismic-data-utils\");\r\n\r\nmodule.exports.transformHomePageData = data =>\r\n\tdata.prismic.allReapredistHomePages.edges.map(({ node }) => ({\r\n\t\t...node,\r\n\t\thistoryHeading: assignIdsToHeaders(node.historyHeading),\r\n\t\thistoryText: assignIdsToHeaders(node.historyText),\r\n\t\tbackgroundHeading: assignIdsToHeaders(node.backgroundHeading),\r\n\t\tbackgroundText: assignIdsToHeaders(node.backgroundText),\r\n\t\tstatusHeading: assignIdsToHeaders(node.statusHeading),\r\n\t\tstatusText: assignIdsToHeaders(node.statusText),\r\n\t\ttimelineHeading: assignIdsToHeaders(node.timelineHeading),\r\n\t\tadditionalInformationGroups: node.body.map(transformLinkGroup),\r\n\t\ttimelineItems: node.timelineItem\r\n\t\t\t.filter(item => item.date && item.description)\r\n\t\t\t.map(item => ({\r\n\t\t\t\ticon: item.category,\r\n\t\t\t\tdate: item.date ? `${item.date}T00:00:00-08:00` : null,\r\n\t\t\t\tdescription: assignIdsToHeaders(item.description),\r\n\t\t\t\tplainTextDescription: item.description\r\n\t\t\t\t\t.map(d => d.text)\r\n\t\t\t\t\t.join(\" \"),\r\n\t\t\t\turl: item.link == null ? null : item.link.url,\r\n\t\t\t\tid: genId(),\r\n\t\t\t})),\r\n\t}))[0];\r\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : factory(global.esriLoader = global.esriLoader || {});\n})(this, function (exports) {\n 'use strict';\n /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.\n * Apache-2.0 */\n\n var DEFAULT_VERSION = '4.17';\n var NEXT = 'next';\n\n function parseVersion(version) {\n if (version.toLowerCase() === NEXT) {\n return NEXT;\n }\n\n var match = version && version.match(/^(\\d)\\.(\\d+)/);\n return match && {\n major: parseInt(match[1], 10),\n minor: parseInt(match[2], 10)\n };\n }\n /**\n * Get the CDN url for a given version\n *\n * @param version Ex: '4.17' or '3.34'. Defaults to the latest 4.x version.\n */\n\n\n function getCdnUrl(version) {\n if (version === void 0) {\n version = DEFAULT_VERSION;\n }\n\n return \"https://js.arcgis.com/\" + version + \"/\";\n }\n /**\n * Get the CDN url for a the CSS for a given version and/or theme\n *\n * @param version Ex: '4.17', '3.34', or 'next'. Defaults to the latest 4.x version.\n */\n\n\n function getCdnCssUrl(version) {\n if (version === void 0) {\n version = DEFAULT_VERSION;\n }\n\n var baseUrl = getCdnUrl(version);\n var parsedVersion = parseVersion(version);\n\n if (parsedVersion !== NEXT && parsedVersion.major === 3) {\n // NOTE: at 3.11 the CSS moved from the /js folder to the root\n var path = parsedVersion.minor <= 10 ? 'js/' : '';\n return \"\" + baseUrl + path + \"esri/css/esri.css\";\n } else {\n // assume 4.x\n return baseUrl + \"esri/themes/light/main.css\";\n }\n }\n /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.\n * Apache-2.0 */\n\n\n function createStylesheetLink(href) {\n var link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = href;\n return link;\n }\n\n function insertLink(link, before) {\n if (before) {\n // the link should be inserted before a specific node\n var beforeNode = document.querySelector(before);\n beforeNode.parentNode.insertBefore(link, beforeNode);\n } else {\n // append the link to then end of the head tag\n document.head.appendChild(link);\n }\n } // check if the css url has been injected or added manually\n\n\n function getCss(url) {\n return document.querySelector(\"link[href*=\\\"\" + url + \"\\\"]\");\n }\n\n function getCssUrl(urlOrVersion) {\n return !urlOrVersion || parseVersion(urlOrVersion) // if it's a valid version string return the CDN URL\n ? getCdnCssUrl(urlOrVersion) // otherwise assume it's a URL and return that\n : urlOrVersion;\n } // lazy load the CSS needed for the ArcGIS API\n\n\n function loadCss(urlOrVersion, before) {\n var url = getCssUrl(urlOrVersion);\n var link = getCss(url);\n\n if (!link) {\n // create & load the css link\n link = createStylesheetLink(url);\n insertLink(link, before);\n }\n\n return link;\n }\n /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.\n * Apache-2.0 */\n\n\n var isBrowser = typeof window !== 'undefined'; // allow consuming libraries to provide their own Promise implementations\n\n var utils = {\n Promise: isBrowser ? window['Promise'] : undefined\n };\n /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.\n * Apache-2.0 */\n\n var defaultOptions = {};\n\n function createScript(url) {\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.setAttribute('data-esri-loader', 'loading');\n return script;\n } // add a one-time load handler to script\n // and optionally add a one time error handler as well\n\n\n function handleScriptLoad(script, callback, errback) {\n var onScriptError;\n\n if (errback) {\n // set up an error handler as well\n onScriptError = handleScriptError(script, errback);\n }\n\n var onScriptLoad = function onScriptLoad() {\n // pass the script to the callback\n callback(script); // remove this event listener\n\n script.removeEventListener('load', onScriptLoad, false);\n\n if (onScriptError) {\n // remove the error listener as well\n script.removeEventListener('error', onScriptError, false);\n }\n };\n\n script.addEventListener('load', onScriptLoad, false);\n } // add a one-time error handler to the script\n\n\n function handleScriptError(script, callback) {\n var onScriptError = function onScriptError(e) {\n // reject the promise and remove this event listener\n callback(e.error || new Error(\"There was an error attempting to load \" + script.src)); // remove this event listener\n\n script.removeEventListener('error', onScriptError, false);\n };\n\n script.addEventListener('error', onScriptError, false);\n return onScriptError;\n } // allow the user to configure default script options rather than passing options to `loadModules` each time\n\n\n function setDefaultOptions(options) {\n if (options === void 0) {\n options = {};\n }\n\n defaultOptions = options;\n } // get the script injected by this library\n\n\n function getScript() {\n return document.querySelector('script[data-esri-loader]');\n } // has ArcGIS API been loaded on the page yet?\n\n\n function isLoaded() {\n var globalRequire = window['require']; // .on() ensures that it's Dojo's AMD loader\n\n return globalRequire && globalRequire.on;\n } // load the ArcGIS API on the page\n\n\n function loadScript(options) {\n if (options === void 0) {\n options = {};\n } // we would have liked to use spread like { ...defaultOptions, ...options }\n // but TS would inject a polyfill that would require use to configure rollup w content: 'window'\n // if we have another occasion to use spread, let'd do that and replace this for...in\n\n\n var opts = {};\n [defaultOptions, options].forEach(function (obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n opts[prop] = obj[prop];\n }\n }\n }); // URL to load\n\n var version = opts.version;\n var url = opts.url || getCdnUrl(version);\n return new utils.Promise(function (resolve, reject) {\n var script = getScript();\n\n if (script) {\n // the API is already loaded or in the process of loading...\n // NOTE: have to test against scr attribute value, not script.src\n // b/c the latter will return the full url for relative paths\n var src = script.getAttribute('src');\n\n if (src !== url) {\n // potentially trying to load a different version of the API\n reject(new Error(\"The ArcGIS API for JavaScript is already loaded (\" + src + \").\"));\n } else {\n if (isLoaded()) {\n // the script has already successfully loaded\n resolve(script);\n } else {\n // wait for the script to load and then resolve\n handleScriptLoad(script, resolve, reject);\n }\n }\n } else {\n if (isLoaded()) {\n // the API has been loaded by some other means\n // potentially trying to load a different version of the API\n reject(new Error(\"The ArcGIS API for JavaScript is already loaded.\"));\n } else {\n // this is the first time attempting to load the API\n var css = opts.css;\n\n if (css) {\n var useVersion = css === true; // load the css before loading the script\n\n loadCss(useVersion ? version : css, opts.insertCssBefore);\n }\n\n if (opts.dojoConfig) {\n // set dojo configuration parameters before loading the script\n window['dojoConfig'] = opts.dojoConfig;\n } // create a script object whose source points to the API\n\n\n script = createScript(url); // _currentUrl = url;\n // once the script is loaded...\n\n handleScriptLoad(script, function () {\n // update the status of the script\n script.setAttribute('data-esri-loader', 'loaded'); // return the script\n\n resolve(script);\n }, reject); // load the script\n\n document.body.appendChild(script);\n }\n }\n });\n }\n /* Copyright (c) 2017 Environmental Systems Research Institute, Inc.\n * Apache-2.0 */\n // wrap Dojo's require() in a promise\n\n\n function requireModules(modules) {\n return new utils.Promise(function (resolve, reject) {\n // If something goes wrong loading the esri/dojo scripts, reject with the error.\n var errorHandler = window['require'].on('error', reject);\n window['require'](modules, function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n } // remove error handler\n\n\n errorHandler.remove(); // Resolve with the parameters from dojo require as an array.\n\n resolve(args);\n });\n });\n } // returns a promise that resolves with an array of the required modules\n // also will attempt to lazy load the ArcGIS API if it has not already been loaded\n\n\n function loadModules(modules, loadScriptOptions) {\n if (loadScriptOptions === void 0) {\n loadScriptOptions = {};\n }\n\n if (!isLoaded()) {\n // script is not yet loaded, is it in the process of loading?\n var script = getScript();\n var src = script && script.getAttribute('src');\n\n if (!loadScriptOptions.url && src) {\n // script is still loading and user did not specify a URL\n // in this case we want to default to the URL that's being loaded\n // instead of defaulting to the latest 4.x URL\n loadScriptOptions.url = src;\n } // attempt to load the script then load the modules\n\n\n return loadScript(loadScriptOptions).then(function () {\n return requireModules(modules);\n });\n } else {\n // script is already loaded, just load the modules\n return requireModules(modules);\n }\n }\n /*\n Copyright (c) 2017 Esri\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n http://www.apache.org/licenses/LICENSE-2.0\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n */\n // re-export the functions that are part of the public API\n // NOTE: rollup ignores the default export\n // and builds the UMD namespace out of the above named exports\n // so this is only needed so that consumers of the ESM build\n // can do esriLoader.loadModules(), etc\n // TODO: remove this next breaking change\n\n\n var esriLoader = {\n getScript: getScript,\n isLoaded: isLoaded,\n loadModules: loadModules,\n loadScript: loadScript,\n loadCss: loadCss,\n setDefaultOptions: setDefaultOptions,\n utils: utils\n };\n exports.getScript = getScript;\n exports.isLoaded = isLoaded;\n exports.loadModules = loadModules;\n exports.loadScript = loadScript;\n exports.loadCss = loadCss;\n exports.setDefaultOptions = setDefaultOptions;\n exports.utils = utils;\n exports['default'] = esriLoader;\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n});"],"sourceRoot":""}