{"version":3,"sources":["webpack:///./src/js/modules/legacy/weatherReportUpdate/components/summary.js","webpack:///./src/js/modules/legacy/weatherReportUpdate/components/item.js","webpack:///./src/js/modules/legacy/weatherReportUpdate/components/details.js","webpack:///./src/js/modules/legacy/weatherReportUpdate/components/error.js","webpack:///./src/js/modules/legacy/weatherReportUpdate/index.js"],"names":["WeatherReportSummary","title","data","labelPastSnowball","labelTodaySnowball","labelTonightsSnowball","labelWindSpeed","todayForecast","filter","day","isToday","className","src","alt","loading","xlinkHref","weatherIconMap","icon","condition","tempFahrenheit","tempCelsius","viewBox","maxTempFahrenheit","minTempFahrenheit","past24HrSnow","todaySnow","tonightSnow","windSpeed","windDirection","propTypes","PropTypes","string","isRequired","array","WeatherReportItem","item","unavailableDataPointMessage","useState","expanded","setExpanded","infoContainerRef","useRef","dateArray","format","Date","date","replace","split","getDay","onClick","current","removeAttribute","ariaExpanded","ref","object","WeatherReportDetails","poweredByImg","poweredByLabel","viewFullForecastUrl","buttonUrl","buttonLabel","todayForecastData","map","index","key","href","target","rel","WeatherReportError","message","link","url","WeatherReport","endpoint","feedKey","mainHeading","headingLookingAhead","unavailableMessage","unavailableLink","report","setReport","error","setError","unavailableLinkFormated","useMemo","JSON","parse","useEffect","Axios","method","params","mountain","fetchData","catch","err","forecast"],"mappings":"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","file":"77.cdefdb0cc7d67b6d786f.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { weatherIconMap } from '../../../../helpers/constants';\n\nconst WeatherReportSummary = ({\n title,\n data,\n labelPastSnowball,\n labelTodaySnowball,\n labelTonightsSnowball,\n labelWindSpeed\n}) => {\n const todayForecastData = data.filter(day => day.isToday);\n const todayForecast = { ...todayForecastData }[0];\n\n return (\n <div className=\"weather-report-update__summary\">\n {!!title && (\n <h2 className=\"weather-report-update__summary-title\">{title}</h2>\n )}\n <p className=\"weather-report-update__partnership\">\n Forecast in partnership with \n <img\n src=\"/public/AspenSnowmassRedesign/images/content-managed/opensnow.png\"\n alt=\"opensnow\"\n loading=\"lazy\"\n />\n </p>\n <div className=\"weather-report-update__main-container\">\n <div className=\"weather-report-update__container\">\n <div className=\"weather-report-update__main-block\">\n <div className=\"weather-report-update__summary-icon\">\n <svg>\n <title>weather</title>\n <use xlinkHref={`#${weatherIconMap[todayForecast.icon]}`} />\n </svg>\n </div>\n <div className=\"weather-report-update__todays-grid\">\n <div className=\"weather-report-update__todays-block\">\n <span className=\"weather-report-update__font-light\">\n {todayForecast.condition}\n </span>\n <span className=\"weather-report-update__font-bold\">\n {todayForecast.tempFahrenheit}°F\n </span>\n </div>\n <div className=\"weather-report-update__todays-block\">\n <span className=\"weather-report-update__font-light\">\n {todayForecast.tempCelsius}°C\n </span>\n </div>\n <div className=\"weather-report-update__todays-block\">\n <span className=\"weather-report-update__font-bold small\">\n <svg viewBox=\"0 0 11 16\">\n <title>today list</title>\n <use xlinkHref=\"#arrow-up\" />\n </svg>\n {todayForecast.maxTempFahrenheit}°F\n </span>\n </div>\n <div className=\"weather-report-update__todays-block\">\n <span className=\"weather-report-update__font-bold small\">\n <svg viewBox=\"0 0 11 16\">\n <title>today list</title>\n <use xlinkHref=\"#arrow-down\" />\n </svg>\n {todayForecast.minTempFahrenheit}°F\n </span>\n </div>\n </div>\n </div>\n </div>\n <div className=\"weather-report-update__secondary-block\">\n <div className=\"weather-report-update__summary-block\">\n <span className=\"weather-report-update__summary-bold\">\n {todayForecast.past24HrSnow}"\n </span>\n <span className=\"weather-report-update__summary-light\">\n {labelPastSnowball}\n </span>\n </div>\n <div className=\"weather-report-update__summary-block\">\n <span className=\"weather-report-update__summary-bold\">\n {todayForecast.todaySnow}"\n </span>\n <span className=\"weather-report-update__summary-light\">\n {labelTodaySnowball}\n </span>\n </div>\n <div className=\"weather-report-update__summary-block\">\n <span className=\"weather-report-update__summary-bold\">\n {todayForecast.tonightSnow}"\n </span>\n <span className=\"weather-report-update__summary-light\">\n {labelTonightsSnowball}\n </span>\n </div>\n <div className=\"weather-report-update__summary-block\">\n <span>\n <b className=\"weather-report-update__summary-bold\">\n {todayForecast.windSpeed}\n <span>mph</span>\n </b>{' '}\n {todayForecast.windDirection}\n </span>\n <span className=\"weather-report-update__summary-light\">\n {labelWindSpeed}\n </span>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nWeatherReportSummary.propTypes = {\n title: PropTypes.string,\n labelPastSnowball: PropTypes.string.isRequired,\n labelTodaySnowball: PropTypes.string.isRequired,\n labelTonightsSnowball: PropTypes.string.isRequired,\n labelWindSpeed: PropTypes.string.isRequired,\n data: PropTypes.array.isRequired\n};\n\nexport default WeatherReportSummary;\n","import React, { useState, useRef } from 'react';\nimport { format, getDay, parse } from 'date-fns'\nimport PropTypes from 'prop-types';\n\nimport { weatherIconMap } from '../../../../helpers/constants';\n\nconst WeatherReportItem = ({\n item,\n labelPastSnowball,\n labelTodaySnowball,\n labelTonightsSnowball,\n labelWindSpeed,\n unavailableDataPointMessage\n}) => {\n const [expanded, setExpanded] = useState(false);\n const infoContainerRef = useRef(null);\n const days = [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ];\n const date = format(new Date(item.date.replace(/-/g, '/')), 'MMM-d-yyyy');\n const dateArray = date.split('-');\n const day = days[getDay(new Date(item.date.replace(/-/g, '/')))];\n\n const handleExpand = () => {\n\n if (!expanded) {\n setExpanded(true);\n infoContainerRef.current.ariaExpanded = 'true';\n } else {\n setExpanded(false);\n infoContainerRef.current.removeAttribute('aria-expanded');\n }\n };\n return (\n <div\n className=\"weather-report-update__accordion\"\n onClick={() => {\n handleExpand();\n }}\n ref={infoContainerRef}\n >\n <div className=\"weather-report-update__accordion-container\">\n <div className=\"weather-report-update__accordion-info-container\">\n <div className=\"weather-report-update__accordion-date\">\n <span>{dateArray[0]}</span>\n <span className=\"bold\">{dateArray[1]}</span>\n </div>\n <div className=\"weather-report-update__accordion-day\">{day}</div>\n <div className=\"weather-report-update__accordion-icon\">\n <svg>\n <title>weather</title>\n <use xlinkHref={`#${weatherIconMap[item.icon]}`} />\n </svg>\n </div>\n <div className=\"weather-report-update__accordion-temp bold\">\n <svg viewBox=\"0 0 11 16\">\n <use xlinkHref=\"#arrow-up\" />\n </svg>\n {item.maxTempFahrenheit}°F\n </div>\n <div className=\"weather-report-update__accordion-temp bold\">\n <svg viewBox=\"0 0 11 16\">\n <use xlinkHref=\"#arrow-down\" />\n </svg>\n {item.minTempFahrenheit}°F\n </div>\n </div>\n <div\n className=\"weather-report-update__icon-container\"\n >\n <span className=\"weather-report-update__icon-minus\">\n <svg viewBox=\"0 0 11 16\">\n <title>decrease</title>\n <use xlinkHref=\"#minus\" />\n </svg>\n </span>\n <span className=\"weather-report-update__icon-plus\">\n <svg viewBox=\"0 0 11 16\">\n <title>add</title>\n <use xlinkHref=\"#plus\" />\n </svg>\n </span>\n </div>\n </div>\n <div className='weather-report-update__main-container'>\n <div className='weather-report-update__container'>\n <div className='weather-report-update__main-block'>\n <div className='weather-report-update__summary-icon'>\n <svg>\n <title>summary</title>\n <use xlinkHref={`#${weatherIconMap[item.icon]}`} />\n </svg>\n </div>\n <div className='weather-report-update__todays-grid'>\n <div className='weather-report-update__todays-block'>\n <span className='weather-report-update__font-light'>{item.condition}</span>\n <span className='weather-report-update__font-bold'>{item.tempFahrenheit}°F</span>\n </div>\n <div className='weather-report-update__todays-block'>\n <span className='weather-report-update__font-light'>{item.tempCelsius}°C</span>\n </div>\n <div className='weather-report-update__todays-block'>\n <span className='weather-report-update__font-bold small'>\n <svg viewBox=\"0 0 11 16\">\n <use xlinkHref=\"#arrow-up\" />\n </svg>\n {item.maxTempFahrenheit}°F\n </span>\n </div>\n <div className='weather-report-update__todays-block'>\n <span className='weather-report-update__font-bold small'>\n <svg viewBox=\"0 0 11 16\">\n <use xlinkHref=\"#arrow-down\" />\n </svg>\n {item.minTempFahrenheit}°F\n </span>\n </div>\n </div>\n </div>\n </div>\n <div className='weather-report-update__secondary-block'>\n <div className='weather-report-update__summary-block'>\n <span className='weather-report-update__summary-bold'>{item.past24HrSnow}"</span>\n <span className='weather-report-update__summary-light'>{labelPastSnowball}</span>\n </div>\n <div className='weather-report-update__summary-block'>\n <span className='weather-report-update__summary-bold'>{item.todaySnow}"</span>\n <span className='weather-report-update__summary-light'>{labelTodaySnowball}</span>\n </div>\n <div className='weather-report-update__summary-block'>\n <span className='weather-report-update__summary-bold'>{item.tonightSnow}"</span>\n <span className='weather-report-update__summary-light'>{labelTonightsSnowball}</span>\n </div>\n <div className='weather-report-update__summary-block'>\n <span><b className='weather-report-update__summary-bold'>{item.windSpeed}mph</b> {item.windDirection}</span>\n <span className='weather-report-update__summary-light'>{labelWindSpeed}</span>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nWeatherReportItem.propTypes = {\n labelPastSnowball: PropTypes.string.isRequired,\n labelTodaySnowball: PropTypes.string.isRequired,\n labelTonightsSnowball: PropTypes.string.isRequired,\n labelWindSpeed: PropTypes.string.isRequired,\n item: PropTypes.object.isRequired,\n unavailableDataPointMessage: PropTypes.string.isRequired\n};\n\nexport default WeatherReportItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport WeatherReportItem from './item';\n\nconst WeatherReportDetails = ({\n title,\n data,\n poweredByImg,\n poweredByLabel,\n viewFullForecastUrl,\n labelPastSnowball,\n labelTodaySnowball,\n labelTonightsSnowball,\n labelWindSpeed,\n buttonUrl,\n buttonLabel,\n unavailableDataPointMessage\n}) => {\n const todayForecastData = data.filter(day => !day.isToday);\n return (\n <div className=\"weather-report-update__details\">\n {!!title && (\n <h2 className=\"weather-report-update__summary-title\">{title}</h2>\n )}\n {!!todayForecastData &&\n todayForecastData.map((item, index) => (\n <div\n className=\"weather-report-update__accordions-container\"\n key={index}\n >\n <WeatherReportItem\n item={item}\n labelPastSnowball={labelPastSnowball}\n labelTodaySnowball={labelTodaySnowball}\n labelTonightsSnowball={labelTonightsSnowball}\n labelWindSpeed={labelWindSpeed}\n unavailableDataPointMessage={unavailableDataPointMessage}\n />\n </div>\n ))}\n\n {buttonUrl && buttonLabel && (\n <a\n href={buttonUrl}\n className=\"btn btn_large weather-report-update__button\"\n >\n {buttonLabel}\n </a>\n )}\n <div className=\"weather-report-update__powered-box\">\n <a href={viewFullForecastUrl} target=\"_blank\" rel=\"noreferrer\">\n {poweredByLabel}\n </a>\n <img src={poweredByImg} alt={poweredByLabel} loading=\"lazy\" />\n </div>\n </div>\n );\n};\n\nWeatherReportDetails.propTypes = {\n title: PropTypes.string,\n poweredByImg: PropTypes.string,\n poweredByLabel: PropTypes.string,\n viewFullForecastUrl: PropTypes.string,\n labelPastSnowball: PropTypes.string.isRequired,\n labelTodaySnowball: PropTypes.string.isRequired,\n labelTonightsSnowball: PropTypes.string.isRequired,\n labelWindSpeed: PropTypes.string.isRequired,\n buttonUrl: PropTypes.string.isRequired,\n buttonLabel: PropTypes.string.isRequired,\n data: PropTypes.array.isRequired,\n unavailableDataPointMessage: PropTypes.string.isRequired\n};\n\nexport default WeatherReportDetails;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst WeatherReportError = ({ message, link }) => {\n if (link.url) {\n return (\n <a href={link.url} target={link.target}>\n {message}\n </a>\n );\n }\n return <p>{message}</p>;\n};\n\nWeatherReportError.propTypes = {\n message: PropTypes.string.isRequired,\n link: PropTypes.object\n};\n\nexport default WeatherReportError;\n","import React, { useEffect, useState, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport Axios from 'axios';\n\nimport WeatherReportSummary from './components/summary';\nimport WeatherReportDetails from './components/details';\nimport WeatherReportError from './components/error';\n\nconst WeatherReport = ({\n endpoint,\n feedKey,\n labelPastSnowball,\n labelTodaySnowball,\n labelTonightsSnowball,\n labelWindSpeed,\n mainHeading,\n headingLookingAhead,\n buttonUrl,\n buttonLabel,\n unavailableDataPointMessage,\n unavailableMessage,\n unavailableLink\n}) => {\n const [report, setReport] = useState({});\n const [error, setError] = useState(false);\n\n const unavailableLinkFormated = useMemo(\n () => (unavailableLink ? JSON.parse(unavailableLink) : {}),\n [unavailableLink]\n );\n\n useEffect(() => {\n const fetchData = async () => {\n const { data } = await Axios({\n method: 'GET',\n url: endpoint,\n params: {\n mountain: feedKey\n }\n });\n\n setReport(data);\n };\n\n fetchData().catch(err => {\n setError(true);\n });\n }, [endpoint, feedKey]);\n\n return (\n <>\n {!error ? (\n <>\n {!!report.forecast && (\n <WeatherReportSummary\n title={mainHeading}\n labelPastSnowball={labelPastSnowball}\n labelTodaySnowball={labelTodaySnowball}\n labelTonightsSnowball={labelTonightsSnowball}\n labelWindSpeed={labelWindSpeed}\n data={report.forecast}\n />\n )}\n\n {!!report.forecast && (\n <WeatherReportDetails\n data={report.forecast}\n poweredByImg={report.poweredByImg}\n poweredByLabel={report.poweredByLabel}\n viewFullForecastUrl={report.viewFullForecastUrl}\n title={headingLookingAhead}\n labelPastSnowball={labelPastSnowball}\n labelTodaySnowball={labelTodaySnowball}\n labelTonightsSnowball={labelTonightsSnowball}\n labelWindSpeed={labelWindSpeed}\n buttonUrl={buttonUrl}\n buttonLabel={buttonLabel}\n unavailableDataPointMessage={unavailableDataPointMessage}\n />\n )}\n </>\n ) : (\n <WeatherReportError\n message={unavailableMessage}\n link={unavailableLinkFormated}\n />\n )}\n </>\n );\n};\n\nWeatherReport.propTypes = {\n endpoint: PropTypes.string.isRequired,\n feedKey: PropTypes.string.isRequired,\n labelPastSnowball: PropTypes.string.isRequired,\n labelTodaySnowball: PropTypes.string.isRequired,\n labelTonightsSnowball: PropTypes.string.isRequired,\n labelWindSpeed: PropTypes.string.isRequired,\n mainHeading: PropTypes.string,\n headingLookingAhead: PropTypes.string,\n buttonUrl: PropTypes.string,\n buttonLabel: PropTypes.string,\n unavailableDataPointMessage: PropTypes.string.isRequired,\n unavailableMessage: PropTypes.string.isRequired,\n unavailableLink: PropTypes.string\n};\n\nexport default WeatherReport;\n"],"sourceRoot":""}