(false);\n\n return (\n {\n setShow(true);\n }}\n onMouseLeave={() => {\n setShow(false);\n }}\n >\n \n \n {title}\n \n {items && (\n \n )}\n \n {items && (\n \n {items.map((item, i) => {\n return (\n \n {item.title}\n \n );\n })}\n \n )}\n \n );\n};\n\nexport default NavButton;\n","import React, { useContext } from \"react\";\nimport { DebrisTrackerContext } from \"../../../context/DebrisTrackerContext\";\nimport { Nav } from \"../NavbarComponents\";\nimport { navButtonTest } from \"../../../util/globals\";\nimport styled from \"styled-components\";\nimport NavButton from \"../NavButton/NavButton\";\nimport {\n MyAccountButton,\n SignUpButton,\n} from \"../../AuthComponents/SignUpButton/SignUpButton\";\nimport { LoginButton } from \"../../AuthComponents/LoginButton/LoginButton\";\nimport { colors } from \"../../../styles/colors\";\n\nconst VerticalBar = styled.hr`\n opacity: 0.5;\n width: 1px;\n height: 30px;\n border: medium none;\n background: ${colors.lightBlue} none repeat scroll 0% 0%;\n margin-left: 12px;\n margin-right: 12px;\n`;\n\nexport const NavbarButtons = () => {\n const { user } = useContext(DebrisTrackerContext);\n return (\n \n {navButtonTest.map((btn, i) => {\n return (\n \n );\n })}\n \n {user && user.id ? (\n <>\n \n >\n ) : (\n <>\n \n \n >\n )}\n \n );\n};\n","import React from \"react\";\nimport { Nav } from \"../NavbarComponents\";\nimport { Link } from \"gatsby\";\nimport NavImg from \"../../../images/MarineDebrisTracker_Logo_Horizontal2.svg\";\nimport { NavbarButtons } from \"./NavbarButtons\";\n\nconst Navbar = () => {\n return (\n \n \n \n
\n \n \n \n \n );\n};\n\nexport default Navbar;\n","import React from \"react\";\nimport { useContext } from \"react\";\nimport { DebrisTrackerContext } from \"../../../context/DebrisTrackerContext\";\nimport { navButtonTest } from \"../../../util/globals\";\nimport { MobileNav } from \"../NavbarComponents\";\nimport NavButton from \"../NavButton/NavButton\";\n\nconst MobileNavButton = ({\n to,\n title,\n}: {\n to: string;\n title: string;\n items?: any[];\n}) => {\n return (\n \n \n \n \n \n );\n};\n\nexport const MobileNavbarButtons = () => {\n const { user } = useContext(DebrisTrackerContext);\n\n const navButtons = [\n ...navButtonTest,\n { title: \"Events\", items: [], url: \"/events\" },\n ];\n\n if (!user || !user.id) {\n navButtons.push({ title: \"Log In\", items: [], url: \"/login\" });\n }\n\n return (\n <>\n {navButtons.map((btn, i) => {\n return (\n \n );\n })}\n >\n );\n};\n","import React from \"react\";\nimport { MobileNav } from \"../NavbarComponents\";\n\nconst Hamburger = ({ open, ...rest }) => {\n return (\n \n \n \n );\n};\n\nexport default Hamburger;\n","import React, { useContext, useState } from \"react\";\nimport { MobileNavbarButtons } from \"./MobileNavbarButtons\";\nimport NavIcon from \"../../../images/mdt-turtle-logo.svg\";\nimport Button from \"../../Button/Button\";\nimport { useSpring } from \"@react-spring/core\";\nimport styled from \"styled-components\";\nimport { MobileNav } from \"../NavbarComponents\";\nimport { navigate } from \"gatsby\";\nimport { DebrisTrackerContext } from \"../../../context/DebrisTrackerContext\";\nimport Hamburger from \"./Hamburger\";\n\nconst MobileNavLogo = () => (\n
{\n navigate(\"/\");\n }}\n style={{ width: \"60px\", height: \"60px\", margin: \"20px\" }}\n alt=\"\"\n />\n);\n\nconst MobileSignUp = () => (\n {\n navigate(\"sign-up\");\n }}\n style={{ padding: \"0px 10px\", marginTop: \"20px\" }}\n >\n \n
\n);\n\nconst MobileMyAccount = () => (\n {\n navigate(\"/dashboard/user\");\n }}\n style={{ padding: \"0px 10px\", marginTop: \"20px\" }}\n >\n \n
\n);\n\nconst LogoutWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n justify-content: center;\n padding: 15px;\n margin-left: 10px;\n font-size: 30px;\n font-size: 15pt;\n`;\n\nconst MobileLogOut = () => (\n \n Log Out\n \n);\n\nconst MobileNavbar = () => {\n const [showNavbar, setShowNavbar] = useState(false);\n const { user, setUser } = useContext(DebrisTrackerContext);\n\n const toggleNavbar = () => {\n setShowNavbar((prev) => !prev);\n };\n\n const expand = useSpring({\n config: { duration: 250 },\n opacity: showNavbar ? 1 : 0,\n display: showNavbar ? \"flex\" : \"none\",\n });\n\n return (\n \n \n \n \n \n \n {user && user.id ? : }\n {user && user.id && (\n {\n sessionStorage.removeItem(\"user\");\n setUser(undefined);\n }}\n >\n \n
\n )}\n \n \n \n );\n};\n\nexport default MobileNavbar;\n","import * as React from \"react\";\nimport \"./global.css\";\nimport Footer from \"../Footer/Footer\";\nimport Navbar from \"../Nav/Navbar/Navbar\";\nimport MobileNavbar from \"../Nav/MobileNavbar/MobileNavbar\";\nimport styled from \"styled-components\";\nimport { useDetectDevice } from \"../../util/hooks\";\n\ninterface LayoutType {\n children?: any;\n vertical: boolean;\n color?: string;\n}\n\nconst MainContent = styled.main`\n display: flex;\n flex-direction: ${({ vertical }) => (vertical ? \"column\" : \"row\")};\n min-height: calc(100vh - 177px - 100px);\n background-color: ${({ color }) => color};\n`;\n\nconst Layout = ({ children, vertical, color }: LayoutType) => {\n const { isTablet } = useDetectDevice();\n\n return (\n <>\n \n \n \n \n \n {isTablet ? : }\n \n {children}\n \n \n >\n );\n};\n\nexport default Layout;\n","import fetch from \"isomorphic-fetch\";\nimport { devAPI } from \"../util/urls\";\n\nexport const loginUser = async (email: string, password: string) => {\n const res = await fetch(`${devAPI}/users/login`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ email, password }),\n });\n if (res.status !== 200) throw new Error(\"Failed to login user\");\n let parsed = await res.json();\n return parsed;\n};\n\nexport const pullUser = async (tempToken: string) => {\n try {\n const res = await fetch(`${devAPI}/users/login/code`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ tempToken }),\n });\n let parsed = await res.json();\n return parsed;\n } catch (err) {\n return err;\n }\n};\n\nexport const logoutUser = async (accessToken: string) => {\n try {\n const res = await fetch(`${devAPI}/users/logout`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ accessToken }),\n });\n const parsed = await res.json();\n if (!parsed.message) throw \"Failed to logout\";\n\n return true;\n } catch (err) {\n return false;\n }\n};\n","import styled, { css } from \"styled-components\";\nimport React from \"react\";\nimport { colors } from \"./colors\";\n\nexport interface TitleProps {\n centered?: boolean;\n weight?: number;\n level?: number;\n children?: any;\n color?: string;\n alt?: boolean;\n style?: any;\n full?: boolean;\n altFont?: boolean;\n size?: string;\n as?: string;\n}\n\nexport const button = css<{ square?: boolean }>`\n font-size: 18pt;\n align-self: center;\n color: rgb(255, 254, 226);\n background-color: #edbd7f;\n min-width: 120px;\n padding: 10px;\n text-align: center;\n border-radius: ${({ square }) => (square ? \"0px\" : \"15px\")};\n opacity: 0.95;\n cursor: pointer;\n &:hover {\n filter: brightness(90%);\n }\n`;\n\nexport const Emphasis = styled(\"span\")<{ alt?: boolean }>`\n font-family: ${({ alt }) => (alt ? \"Lato\" : \"Bree Serif, sans-serif\")};\n color: ${({ color }) => (color ? color : \"#536275\")};\n font-weight: 700;\n`;\n\nexport const TextContent = styled(\"div\")<{\n color?: string;\n centered?: boolean;\n size?: string;\n}>`\n color: ${({ color }) => (color ? color : \"#536275\")};\n max-width: 500px;\n font-size: ${({ size }) => (size ? size : \"13\")}pt;\n line-height: 26px;\n font-weight: 400;\n letter-spacing: 0.5px;\n font-family: \"Lato\";\n text-align: ${({ centered }) => {\n return centered ? \"center\" : \"start\";\n }};\n @media only screen and (max-width: 900px) {\n /* max-width: 300px; */\n }\n`;\n\nexport const Banner = styled.div`\n background-color: ${colors.blue};\n padding: 40px;\n`;\n\nexport const StyledTitle = styled.div`\n font-family: ${({ altFont }) =>\n altFont ? \"Lato\" : \"Bree Serif, sans-serif\"};\n color: ${({ color }) => (color ? color : \"#536275\")};\n font-size: ${({ size }) => (size ? size : \"25pt\")};\n font-weight: ${({ weight }) => weight};\n width: ${({ full }) => (full ? \"100%\" : \"\")};\n max-width: ${({ full }) => (full ? \"\" : \"500px\")};\n line-height: 1em;\n margin-top: ${({ full }) => (full ? \"0\" : \"0px\")};\n margin-bottom: 20px;\n\n @media only screen and (max-width: 900px) {\n line-height: ${({ level }) => (level === 1 ? \"55px\" : \"40px\")};\n text-align: ${({ centered }) => {\n return centered ? \"center\" : \"start\";\n }};\n }\n\n @media only screen and (max-width: 478px) {\n font-size: 2em;\n line-height: 1em;\n margin-top: 30px;\n margin-bottom: 15px;\n }\n`;\n\nexport const Title = ({\n centered,\n weight = 400,\n level = 1,\n children,\n color,\n alt,\n style,\n full,\n}: TitleProps) => {\n return (\n \n {children}\n \n );\n};\n\nexport const MapTitle = styled.h1`\n font-weight: 400;\n font-size: 22px;\n margin-bottom: 10px;\n margin-top: -50px;\n width: 100%;\n background-color: white;\n z-index: 1200;\n padding: 19px;\n margin-left: -20px;\n width: 300px;\n\n @media only screen and (max-width: 900px) {\n margin: 0px;\n width: 100%;\n z-index: 1100;\n }\n`;\n\nexport const Callout = styled(\"div\")<{ type?: string; vertical?: boolean }>`\n display: flex;\n padding: 60px 50px;\n align-items: center;\n justify-content: center;\n flex-direction: ${({ vertical }) => {\n return vertical ? \"column\" : \"\";\n }};\n background-color: ${({ type }) => {\n switch (type) {\n case \"primary\":\n return \"#536275\";\n case \"white\":\n return \"#fff\";\n case \"grey\":\n return \"#f1f1f1\";\n default:\n return \"#536275\";\n }\n }};\n @media only screen and (max-width: 991px) {\n flex-direction: column;\n padding: 20px;\n min-height: 200px;\n }\n`;\n\nexport const StyledInput = styled.input`\n border: 1px solid #d4d4d4;\n font-family: \"Lato\";\n font-size: 12pt;\n padding: 20px;\n margin: 10px 0px;\n`;\n\nexport const TextWrapper = styled.div`\n display: flex;\n width: 50%;\n min-width: 400px;\n padding: 50px 0px 50px 20px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n @media only screen and (max-width: 900px) {\n padding-top: 0px;\n }\n`;\n\nexport const CalloutContentWrapper = styled.div<{ vertical?: boolean }>`\n display: flex;\n flex: 1 0 auto;\n max-width: 90vw;\n justify-content: center;\n align-items: center;\n flex-direction: ${({ vertical }) => (vertical ? \"column\" : \"row\")};\n @media only screen and (max-width: 900px) {\n max-width: 100%;\n flex-direction: column;\n }\n`;\n\nexport const CalloutContentText = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n\nexport const Pages = styled.div`\n /* display: block; */\n @media only screen and (max-width: 900px) {\n }\n\n @media only screen and (max-width: 767px) {\n }\n\n @media only screen and (max-width: 478px) {\n }\n`;\n\nexport const FormButton = styled.input`\n ${button}\n @media only screen and (max-width: 900px) {\n border-radius: 0px;\n }\n`;\n\nexport const DefaultButton = styled.div`\n ${button}\n`;\n\nexport const LoginError = styled.p`\n color: red;\n text-align: center;\n`;\n\nexport const ModalWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin: 60px;\n min-height: 495px;\n @media only screen and (max-width: 768px) {\n margin: 0px;\n height: 100%;\n min-height: 0px;\n }\n`;\n\nexport const DefaultInput = styled.input`\n border: 1px solid #d4d4d4;\n font-family: \"Lato\";\n font-size: 12pt;\n padding: 20px;\n margin: 10px 0px;\n`;\n\nexport const MDTModal = styled.div`\n display: flex;\n flex-direction: column;\n background-color: white;\n max-width: 60%;\n min-width: 600px;\n box-shadow: 5px 5px 20px 5px #80808021;\n color: ${colors.lightBlue};\n @media only screen and (max-width: 768px) {\n max-width: 100%;\n width: 100%;\n min-width: 0px;\n align-items: start;\n height: 100%;\n margin-left: 50px;\n box-shadow: none;\n }\n`;\n\nexport const FormInputWrapper = styled.div`\n display: flex;\n flex-direction: column;\n margin-left: 20px;\n margin-right: 20px;\n`;\n\nexport const MDTForm = styled.form`\n display: flex;\n flex-direction: column;\n\n & .name {\n display: flex;\n justify-content: space-between;\n }\n\n & .name > input[type=\"text\"] {\n flex: 1 1 auto;\n margin: 0px;\n margin-left: 20px;\n overflow: auto;\n }\n\n & input[type=\"password\"],\n input[type=\"email\"],\n input[type=\"text\"] {\n border: 1px solid rgb(212, 212, 212);\n font-family: \"Lato\";\n font-size: 12pt;\n padding: 15px;\n }\n & input {\n border: none;\n margin-top: 10px;\n margin-bottom: 10px;\n }\n & input[type=\"submit\"] {\n font-family: var(--fonts);\n }\n`;\n\nexport const ModalTitle = styled.h1`\n font-size: 32px;\n margin: 20px;\n @media only screen and (max-width: 768px) {\n padding-left: 10px;\n }\n`;\n\nexport const ContentWrapper = styled.div`\n padding: 0px 150px;\n`;\n\nexport const ModalContent = styled.div`\n margin-left: 20px;\n margin-right: 20px;\n margin-bottom: 20px;\n font-size: 12pt;\n will-change: transform, opacity;\n @media only screen and (max-width: 768px) {\n width: 100%;\n margin: 0px;\n }\n`;\n","export const colors = {\n orange: \"#edbd7f\",\n blue: \"#62789d\",\n lightBlue: \"#5f6871\",\n bottleBlue: \"rgba(127, 174, 195, 1)\",\n white: \"#ffffff\",\n black: \"#000000\",\n grey: \"#808080\",\n green: \"#ACED80\",\n red: \"#ED7E89\",\n};\n","export const navButtonTest = [\n {\n title: \"Data\",\n url: \"/data\",\n items: [\n { title: \"ETAP\", url: \"/etap\" },\n ],\n },\n {\n title: \"News\",\n url: \"/news\",\n },\n {\n title: \"Resources\",\n url: \"/resources\",\n items: [\n { title: \"Events\", url: \"/events\" },\n // { title: \"Guides\", url: \"/guides\" },\n ],\n },\n {\n title: \"Privacy Policy\",\n url: \"/privacy-policy\",\n },\n];\n\nexport const validateEmail = (email) => {\n if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(email)) {\n return true;\n }\n return false;\n};\n","import { useEffect, useRef, useState } from \"react\";\n\nexport const useIsMounted = () => {\n const ref = useRef(false);\n useEffect(() => {\n ref.current = true;\n return () => {\n ref.current = false;\n };\n }, []);\n return ref;\n};\n\nexport const useDetectDevice = () => {\n const [width, setWidth] = useState(200000);\n\n const updateSize = () => {\n setWidth(window.innerWidth);\n };\n\n useEffect(() => {\n updateSize();\n\n window.addEventListener(\"resize\", updateSize);\n return () => {\n window.removeEventListener(\"resize\", updateSize);\n };\n }, []);\n\n return {\n isDesktop: width > 991,\n isSmallScreen: width <= 991,\n isTablet: width <= 850,\n isLandscape: width <= 600,\n isMobile: width <= 478,\n width: width,\n };\n};\n\nexport const useWarning = () => {\n const [warning, setWarning] = useState(undefined);\n const createWarning = (text, timeout = 3000) => {\n setWarning(text);\n setTimeout(() => {\n setWarning(undefined);\n }, timeout);\n };\n return [warning, createWarning];\n};\n","export const apiUrl = \"https://marinedebris.engr.uga.edu/mdtapp\";\nexport const devAPI = process.env.GATSBY_API_URL;\nexport const loginUrl = process.env.GATSBY_LOGIN_URL;\n","export default __webpack_public_path__ + \"static/mdt-turtle-logo-8281363a1a639d085a0215fd0850928b.svg\";"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","call","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","from","_iterableToArray","TypeError","_nonIterableSpread","camelize","string","replace","match","chr","toUpperCase","substr","toLowerCase","PRODUCTION","e","normalizeIconArgs","icon","parse","prefix","iconName","objectWithKey","FontAwesomeIcon","_ref","forwardedRef","props","iconArgs","maskArgs","mask","symbol","className","title","titleId","iconLookup","classes","concat","_classes","spin","pulse","fixedWidth","inverse","border","listItem","flip","size","rotation","pull","swapOpacity","map","classList","split","transform","renderedIcon","_console","console","error","log","abstract","extraProps","ref","defaultProps","hasOwnProperty","convertCurry","displayName","propTypes","convert","createElement","element","undefined","children","child","mixins","attributes","reduce","acc","val","attrs","s","trim","pair","prop","slice","startsWith","charAt","_extraProps$style","style","existingStyle","remaining","tag","bind","$node","for","getAnimated","owner","setAnimated","node","getPayload","Animated","this","payload","AnimatedValue","_value","super","done","durationProgress","is","num","lastPosition","create","getValue","setValue","step","Math","round","reset","elapsedTime","lastVelocity","v0","AnimatedString","_string","_toString","output","str","goal","TreeContext","dependencies","AnimatedObject","animated","values","_makePayload","Set","_addToPayload","add","AnimatedArray","some","makeAnimated","getAnimatedType","parentNode","withAnimated","Component","host","hasInstance","fun","isReactComponent","forwardRef","givenProps","givenRef","instanceRef","useRef","useCallback","current","updateRef","deps","createAnimatedStyle","getAnimatedState","forceUpdate","callback","instance","applyAnimatedValues","observer","PropsObserver","observerRef","lastObserver","dep","cancel","update","useEffect","observer2","usedProps","getComponentProps","eventObserved","event","type","write","cacheKey","createHost","components","hostConfig","getDisplayName","arg","name","callProp","_len","args","_key","matchProp","includes","resolveProp","getDefaultProp","default","noopTransform","getDefaultProps","DEFAULT_PROPS","defaults","und","RESERVED_PROPS","config","to","loop","pause","reverse","immediate","delay","onProps","onStart","onChange","onPause","onResume","onRest","onResolve","items","trail","sort","expires","initial","enter","leave","onDestroyed","callId","parentId","inferTo","forward","count","getForwardProps","out","computeGoal","createStringInterpolator","range","hasProps","_","isAsyncTo","detachRefs","ctrl","_a","delete","replaceRef","tension","friction","mass","damping","easing","t","clamp","AnimationConfig","velocity","assign","sanitizeConfig","decay","isTensionConfig","frequency","duration","emptyArray","Animation","changed","toValues","fromValues","scheduleProps","state","actions","Promise","resolve","reject","timeout","paused","resumeQueue","resume","timeouts","time","now","setTimeout","pauseQueue","cancelId","start","err","getCombinedResult","results","result","cancelled","getCancelledResult","get","every","noop","getNoopResult","getFinishedResult","finished","runAsync","asyncTo","prevTo","promise","prevPromise","asyncId","preventBail","bail","bailPromise","bailIfEnded","bailSignal","bailResult","animate","arg1","arg2","BailSignal","skipAnimationSignal","SkipAniamtionSignal","skipAnimation","stopAsync","props2","result2","animating","async","queue","stop","all","then","batchedUpdates","item","clear","Error","isFrameValue","FrameValue","nextId","id","_priority","priority","_onPriorityChange","_len2","_key2","interpolate","_len3","_key3","toJSON","observerAdded","_attach","observerRemoved","_detach","_onChange","idle","parent","$P","hasAnimated","isAnimating","isPaused","setActiveBit","active","IS_ANIMATING","setPausedBit","SpringValue","animation","_state","_pendingCalls","_lastCallId","_lastToId","_memoizedDuration","node2","advance","dt","anim","position","elapsed","exp","abs","precision","min","restVelocity","bounceFactor","bounce","canBounce","isGrowing","isMoving","isBouncing","numSteps","ceil","n","p","progress","Number","isNaN","warn","_stop","set","_focus","_set","_update","finish","_onStart","_start","_prepareNode","_ref2","isLoop","test","mergeActiveFn","sendEvent","isFrozen","checkFinished","_resume","_merge","nextProps","createLoopUpdate","hasToProp","hasFromProp","prevFrom","hasFromChanged","hasToChanged","hasAsyncTo","newConfig","defaultConfig","pow","PI","mergeConfig","isAnimatable","nodeType","goalType","started","hasValueChanged","ACTIVE_EVENTS","oldNode","loopRet","overrides","createUpdate","findDefined","declareUpdate","_b","_c","_d","_len4","_key4","BATCHED_EVENTS","nextId$1","Controller","flush2","springs","_lastAsyncId","_active","_changed","_started","_events","Map","_onFrame","_flush","spring","_item","each","prepareKeys","flushUpdateQueue","_ref3","onStart2","_ref4","onChange2","_ref5","onRest2","onFrame","flushUpdate","handler","_ref6","promises","getSprings","prepareSprings","createSpring","setSprings","SpringContext","_ref7","inherited","useContext","ctx","Provider","init","createContext","_context","Consumer","SpringRef","Function","_call","_getProps","splice","index","useSprings","propsFn","useMemo","layoutId","ctrls","flush","updates2","springs2","updates","prevLength","oldCtrls","declareUpdates","startIndex","endIndex","context","prevContext","hasContext","cb","x","useSpring","isFn","MOUNT","ENTER","UPDATE","LEAVE","useTransition","data","transitions","usedTransitions","prevTransitions","expired","clearTimeout","expirationId","_ref10","reused","find","t2","phase","has","nextKey","getKeys","_ref8","keyIndex","prevIndex","a","b","changes","prevPhase","isLeave","transitions2","t3","expiry","expiryMs","_ref9","renderTransitions","render","Fragment","elem","Interpolation","calc","_get","_dt","oldValue","checkIdle","becomeIdle","inputs","max","highest","isIdle","self","updateQueue","makeQueue","raf","fn","schedule","writeQueue","onStartQueue","onFrameQueue","onFinishQueue","onFinish","ms","findIndex","__raf","findTimeout","sync","throttle","lastArgs","queuedFn","throttled","nativeRaf","window","requestAnimationFrame","use","impl","performance","Date","catch","ts","prevTs","eachSafely","next","defineHidden","isEqual","eachProp","toArray","flushCalls","colors","willAdvance","globals","freeze","__proto__","startQueue","currentFrame","prevFrame","frameLoop","flushStartQueue","startSafely","startUnsafely","other","nextFrame","colors$1","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","NUMBER","PERCENTAGE","parts","join","rgb","RegExp","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","q","hslToRgb","h","l","r","g","parse255","int","parseInt","parse360","parseFloat","parse1","parsePercentage","colorToRgba","input","int32Color","color","exec","normalizeColor","createInterpolator","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","range2","findRange","inputMin","inputMax","outputMin","outputMax","Infinity","$get","$observers","hasFluidValue","Boolean","getFluidValue","getFluidObservers","callFluidObservers","observers","callFluidObserver","FluidValue","setFluidGetter","setHidden","addFluidObserver","removeFluidObserver","numberRegex","colorRegex","namedColorRegex","rgbaRegex","rgbaRound","p1","p2","p3","p4","createStringInterpolator$1","keyframes","interpolators","output2","String","once","func","called","warnInterpolate","deprecateInterpolate","warnDirectCall","deprecateDirectCall","isAnimatedString","useOnce","effect","emptyDeps","useForceUpdate","useState","mounted","makeMountedRef","unmount","useMemoOne","getResult","committed","prevCache","cache","prev","areInputsEqual","usePrev","prevRef","useLayoutEffect","document","isCustomPropRE","dangerousStyleValue","isUnitlessNumber","attributeCache","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixes","substring","prefixKey","domTransforms","pxTransforms","degTransforms","addUnit","unit","isValueIdentity","v","AnimatedStyle","y","z","transforms","xyz","x2","y2","z2","deg","FluidTransform","identity","Globals","unstable_batchedUpdates","setAttribute","isFilterElement","nodeName","scrollTop","scrollLeft","names","hasAttribute","textContent","setProperty","ButtonWrapperBtn","styled","button","withConfig","componentId","ButtonWrapper","btn","React","LoginBtn","Link","lightBlue","LoginBtnFooter","LoginButton","LogoutButtonFooter","setUser","DebrisTrackerContext","onClick","sessionStorage","removeItem","LoginButtonFooter","SignUpBtn","SignUpBtnFooter","MyAccountButton","MyAccountButtonFooter","SignUpButton","SignUpButtonFooter","NavBtnWrapperFooter","div","NavBtnLinkFooter","NavButtonsFooter","isTablet","useDetectDevice","user","navButtonTest","url","FooterNav","FooterWrapper","footer","BannerTitle","StyledTitle","FooterBlock","mobile","FooterText","TextContent","Footer","checkMobile","weight","Nav","Wrapper","Logo","Buttons","MobileNav","BannerWrapper","ItemsWrapper","HamburgerWrapper","Hamburger","open","Button","NavBtnContainer","NavBtnLink","selected","NavBtnWrapper","NavDropdownLink","NavDropdownWrapper","show","setShow","onMouseEnter","onMouseLeave","marginRight","marginLeft","faAngleDown","VerticalBar","hr","NavbarButtons","NavButton","Navbar","src","NavImg","width","alt","MobileNavButton","MobileNavbarButtons","navButtons","rest","MobileNavLogo","NavIcon","navigate","height","margin","MobileSignUp","padding","marginTop","MobileMyAccount","LogoutWrapper","MobileLogOut","MobileNavbar","showNavbar","setShowNavbar","expand","display","toggleNavbar","MainContent","main","vertical","rel","href","crossOrigin","loginUser","email","password","res","fetch","devAPI","method","headers","body","JSON","stringify","status","json","pullUser","tempToken","css","square","Emphasis","centered","altFont","_ref11","full","_ref12","_ref13","_ref14","level","_ref15","Title","_ref16","Callout","h1","_ref17","_ref18","CalloutContentWrapper","_ref19","CalloutContentText","FormButton","DefaultButton","LoginError","ModalWrapper","DefaultInput","MDTModal","FormInputWrapper","MDTForm","form","ModalTitle","ModalContent","bottleBlue","validateEmail","useIsMounted","setWidth","updateSize","innerWidth","addEventListener","removeEventListener","isDesktop","isSmallScreen","isLandscape","isMobile","useWarning","warning","setWarning","text","apiUrl","process"],"sourceRoot":""}