{"version":3,"sources":["webpack:///./src/js/modules/weatherWidget/components/Panel.js","webpack:///./src/js/modules/weatherWidget/index.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/classnames/index.js"],"names":["Panel","isOpen","report","unit","onUnitChange","onClose","forecastLabel","snowLabel","acreageLabel","snow24hrLabel","snow48hrLabel","snow7dayLabel","loaded","useRef","panelRef","panelBoxRef","ignoreUtilFocusChanges","lastFocus","navRef","navButtonsRefs","useState","selectedMountain","setSelectedMountain","mountains","weather","content","breakpoint","window","matchMedia","breakpoints","tabletLandscape","animatePanel","useCallback","direction","panel","current","panelBox","timeline","anime","easing","begin","style","visibility","complete","focusFirstDescendant","add","targets","opacity","duration","matches","translateX","animatedElement","querySelectorAll","closeButton","querySelector","delay","stagger","translateY","toggle","document","body","position","top","scrollY","scrollTo","parseInt","useEffect","handleFocus","e","contains","target","activeElement","focusLastDescendant","addEventListener","removeEventListener","listener","addListener","removeListener","element","i","childNodes","length","child","attemptFocus","isFocusable","focus","nf","Intl","NumberFormat","left","offsetLeft","behavior","className","ref","viewBox","xlinkHref","aria-label","onClick","data-animate","map","mountain","index","key","name","classNames","active","condition_title","temperature","toUpperCase","weatherIconMap","condition","high","low","snow","imperial","acres","format","open","total","button_links","link","url","href","link_text","text_links","propTypes","PropTypes","bool","isRequired","object","string","func","WeatherWidget","endpoint","props","setIsOpen","setReport","localStorage","getItem","selectedUnit","setSelectedUnit","Axios","method","data","fetchData","closeEvent","CustomEvent","customEvents","closeMobilePrimaryNavTrigger","dispatchEvent","handleEventClose","closeWeatherWidgetTrigger","setItem","module","exports","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","err","Error","getShim","ReactPropTypes","array","number","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","hasOwn","hasOwnProperty","classes","arguments","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","call","join","default"],"mappings":"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","file":"27.c57b731b7284e7a27e32.js","sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from 'react';\nimport anime from 'animejs';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { isFocusable } from '../../../helpers';\nimport { breakpoints, weatherIconMap } from '../../../helpers/constants';\n\nconst Panel = ({\n isOpen,\n report,\n unit,\n onUnitChange,\n onClose,\n forecastLabel,\n snowLabel,\n acreageLabel,\n snow24hrLabel,\n snow48hrLabel,\n snow7dayLabel\n}) => {\n const loaded = useRef(false);\n const panelRef = useRef(null);\n const panelBoxRef = useRef(null);\n\n const ignoreUtilFocusChanges = useRef(null);\n const lastFocus = useRef(null);\n const navRef = useRef(null);\n const navButtonsRefs = useRef([]);\n\n const [selectedMountain, setSelectedMountain] = useState(0);\n const { weather, content } = report.mountains[selectedMountain];\n\n const breakpoint = window.matchMedia(\n `(min-width: ${breakpoints.tabletLandscape}px)`\n );\n\n const animatePanel = useCallback(\n ({ direction = 'normal' }) => {\n const panel = panelRef.current;\n const panelBox = panelBoxRef.current;\n\n const timeline = anime.timeline({\n easing: 'easeInOutQuad',\n direction,\n begin: () => {\n if (direction === 'normal') {\n panel.style.visibility = 'visible';\n }\n },\n complete: () => {\n if (direction === 'reverse') {\n panel.style.visibility = 'hidden';\n } else {\n focusFirstDescendant(panelBox);\n }\n }\n });\n\n timeline.add({\n targets: panel,\n opacity: [0, 1],\n duration: breakpoint.matches ? 150 : 0\n });\n\n if (breakpoint.matches) {\n timeline.add({\n targets: panelBox,\n translateX: ['100%', '0%'],\n duration: 400\n });\n\n const animatedElement = panelBox.querySelectorAll('[data-animate]');\n const closeButton = panelBox.querySelector(\n '.weather-widget__panel-close'\n );\n\n timeline.add({\n targets: [...animatedElement, closeButton],\n opacity: [0, 1],\n translateX: ['10%', '0%'],\n duration: 300,\n delay: anime.stagger(100)\n });\n } else {\n timeline.add({\n targets: panelBox,\n translateY: ['100%', '0%'],\n duration: 400\n });\n }\n },\n [breakpoint.matches, focusFirstDescendant]\n );\n\n const toggle = useCallback(() => {\n if (loaded.current) {\n if (isOpen) {\n document.body.style.position = 'fixed';\n document.body.style.top = `-${window.scrollY}px`;\n animatePanel({});\n } else {\n const scrollY = document.body.style.top;\n document.body.style.position = null;\n document.body.style.top = null;\n window.scrollTo(0, parseInt(scrollY || '0') * -1);\n animatePanel({ direction: 'reverse' });\n }\n } else {\n loaded.current = true;\n }\n }, [animatePanel, isOpen]);\n\n useEffect(() => {\n toggle();\n }, [toggle]);\n\n useEffect(() => {\n const handleFocus = e => {\n if (ignoreUtilFocusChanges.current) return;\n\n if (panelBoxRef.current.contains(e.target)) {\n lastFocus.current = e.target;\n } else {\n focusFirstDescendant(panelBoxRef.current);\n\n if (lastFocus.current === document.activeElement) {\n focusLastDescendant(panelBoxRef.current);\n }\n lastFocus.current = document.activeElement;\n }\n };\n\n document.addEventListener('focus', handleFocus, true);\n return () => {\n document.removeEventListener('focus', handleFocus, true);\n };\n }, [focusFirstDescendant, focusLastDescendant]);\n\n useEffect(() => {\n const listener = () => {\n panelRef.current.style = null;\n panelBoxRef.current.style = null;\n toggle();\n };\n\n breakpoint.addListener(listener);\n return () => breakpoint.removeListener(listener);\n }, [breakpoint, toggle]);\n\n const focusFirstDescendant = useCallback(\n element => {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i];\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n },\n [attemptFocus]\n );\n\n const focusLastDescendant = useCallback(\n element => {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i];\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n },\n [attemptFocus]\n );\n\n const attemptFocus = useCallback(element => {\n if (!isFocusable(element)) {\n return false;\n }\n\n ignoreUtilFocusChanges.current = true;\n try {\n element.focus();\n } catch (e) {\n return;\n }\n ignoreUtilFocusChanges.current = false;\n return document.activeElement === element;\n }, []);\n\n const nf = new Intl.NumberFormat();\n\n useEffect(() => {\n if (\n navRef.current &&\n navButtonsRefs.current &&\n navButtonsRefs.current[selectedMountain]\n ) {\n const left = navButtonsRefs.current[selectedMountain].offsetLeft;\n navRef.current.scrollTo({\n top: 0,\n left: left - 42,\n behavior: 'smooth'\n });\n }\n }, [selectedMountain]);\n\n return (\n
\n {forecastLabel}: {weather.condition_title}\n
\n\n {weather.temperature.current[unit]}°{unit.toUpperCase()}\n
\n \n\n \n {weather.temperature.high[unit]}°{unit.toUpperCase()}\n
\n\n \n {weather.temperature.low[unit]}°{unit.toUpperCase()}\n
\n\n {snowLabel}\n
\n\n {weather.snow['_24_hour'].imperial}”\n {snow24hrLabel}\n
\n\n {weather.snow['_48_hour'].imperial}”\n {snow48hrLabel}\n
\n\n {weather.snow['_7_day'].imperial}”\n {snow7dayLabel}\n
\n\n {acreageLabel}\n
\n\n {nf.format(weather.acres.open || 0)}{' '}\n \n of {nf.format(weather.acres.total || 0)}\n \n
\n