{"version":3,"file":"2babbad06d8a68ea308957e748e4635cd38474de-71e848fe494b49b9233e.js","mappings":"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","sources":["webpack://npf-website/./node_modules/react-media-hook/index.js","webpack://npf-website/./src/util/timeDateUtils.js","webpack://npf-website/./src/util/strings.js","webpack://npf-website/./src/components/ContentBlocks/CtaLink.jsx","webpack://npf-website/./src/components/ContentBlocks/styles/CalendarOfEventsBlock.styles.js","webpack://npf-website/./src/components/ContentBlocks/styles/EventListingBlock.styles.js","webpack://npf-website/./src/components/ContentBlocks/EventListingBlock.jsx","webpack://npf-website/./src/components/ContentBlocks/styles/CtaLink.styles.js"],"sourcesContent":["var React = require('react')\n\nfunction fallbackMatchMedia (query) {\n if (typeof matchMedia !== 'function') {\n return null\n }\n return matchMedia(query)\n}\n\nfunction omitMatchMediaResult (matchMediaResult) {\n if (!matchMediaResult) {\n return null\n }\n return { media: matchMediaResult.media, matches: matchMediaResult.matches }\n}\n\nfunction useMedia (query) {\n var mounted = React.useState(false)\n var setMounted = mounted[1]\n\n React.useEffect(function () {\n setMounted(true)\n }, [setMounted])\n\n var result = React.useState(function () {\n return omitMatchMediaResult(fallbackMatchMedia(query))\n })\n var setResult = result[1]\n\n var callback = React.useCallback(function (matchMediaResult) {\n return setResult(omitMatchMediaResult(matchMediaResult))\n }, [setResult])\n\n React.useEffect(\n function () {\n var matchMediaResult = fallbackMatchMedia(query)\n callback(matchMediaResult)\n if (matchMediaResult) {\n matchMediaResult.addEventListener('change', callback)\n }\n return function () {\n if (matchMediaResult) {\n matchMediaResult.removeEventListener('change', callback)\n }\n }\n },\n [callback, query]\n )\n\n if (!mounted[0]) {\n return null\n }\n\n return result[0]\n}\n\nfunction useMediaPredicate (query) {\n var result = useMedia(query)\n return (result && result.matches) || false\n}\n\nmodule.exports = {\n useMedia: useMedia,\n useMediaPredicate: useMediaPredicate\n}\n","export const formatTimeAmPm = date => {\n let hours = date.getHours()\n let minutes = date.getMinutes()\n const ampm = hours >= 12 ? 'pm' : 'am'\n hours = hours % 12\n hours = hours ? hours : 12 // the hour '0' should be '12'\n minutes = minutes < 10 ? `0${minutes}` : minutes\n const strTime = `${hours}:${minutes}${ampm}`\n return strTime\n}\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n]\nconst SHORT_DAYS_OF_WEEK = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n\n// dates come in as strings : '2020-08-18'\nexport const formatDate = dateString => {\n if (!dateString) {\n return null\n }\n const splitter = dateString.split('-')\n const month = MONTHS[Number(splitter[1]) - 1]\n const day = splitter[2]\n const year = splitter[0]\n return `${month} ${day}, ${year}`\n}\n\nexport const getShortDayOfWeek = dateString => {\n if (!dateString) {\n return null\n }\n const dateObj = new Date(dateString)\n const userTzOffset = dateObj.getTimezoneOffset() * 60000\n const correctedDate = new Date(dateObj.getTime() + userTzOffset)\n return SHORT_DAYS_OF_WEEK[correctedDate.getDay()]\n}\n\nexport const formatShortDate = dateString => {\n if (!dateString) {\n return null\n }\n const splitter = dateString.split('-')\n const month = splitter[1]\n const day = splitter[2]\n return `${month}/${day}`\n}\n\nexport const formatDuration = (hours, minutes, seconds) => {\n if (!hours && !minutes && !seconds) return ''\n const hoursString = hours > 0 ? `${hours}H` : ''\n const minutesString = minutes > 0 ? `${minutes}M` : ''\n const secondsString = `${seconds}S`\n const durationString = `PT${hoursString}${minutesString}${secondsString}`\n return durationString\n}\n/*\nconst SHORT_DAYS_OF_WEEK = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\nconst dateString = '2020-08-18'\nconst dateObj = new Date(dateString)\nconst userTzOffset = dateObj.getTimezoneOffset() * 60000\nconst correctedDate = new Date(dateObj.getTime() + userTzOffset)\n*/\n\nexport const getIsDuringBusinessHours = () => {\n const businessHours = {\n OPEN: '07:30:00',\n CLOSE: '16:30:00',\n }\n\n const formattedDate = new Date().toLocaleString('en-US', {\n timeZone: 'America/Los_Angeles',\n })\n const now = new Date(formattedDate)\n\n const day = now.getDay()\n const time = now.toLocaleTimeString('en-US', { hour12: false })\n\n const isSaturdayOrSunday = day === 6 || day === 0\n const isBeforeOpeningOrAfterClosing =\n time < businessHours.OPEN || time > businessHours.CLOSE\n\n if (isSaturdayOrSunday || isBeforeOpeningOrAfterClosing) {\n return false\n }\n\n return true\n}\n\nexport const getIsOfflineDate = offlineDates => {\n const formattedTodayDate = new Date().toLocaleDateString('en-US', {\n timeZone: 'America/Los_Angeles',\n })\n\n const isOfflineDate = offlineDates.find(date => {\n const dateParts = date.split('-').map(part => {\n if (part.charAt(0) === '0') {\n return part.substring(1)\n }\n\n return part\n })\n\n const dateString = `${dateParts[1]}/${dateParts[2]}/${dateParts[0]}`\n\n return dateString === formattedTodayDate\n })\n\n return !!isOfflineDate\n}\n\nexport const futureEvents = events => {\n const now = new Date()\n const today = new Date(\n Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate())\n )\n return events.filter(e => {\n const event = e.node?.data ? e.node.data : e.document.data\n const eventDate = new Date(event.event_date)\n return eventDate >= today\n })\n}\n","/* eslint-disable no-useless-escape */\nimport US_STATES from '../data/us-states.json'\n\nexport const formatCityAndState = (city, state) => {\n let formatted = city ? city : ''\n if (city && state !== 'N/A') {\n formatted += ', '\n }\n if (state !== 'N/A') {\n formatted += US_STATES.filter(usState => usState.name === state).pop()\n .abbreviation\n }\n if (formatted === '') {\n return null\n }\n return formatted\n}\n\n// thanks to https://gist.github.com/hagemann/382adfc57adbd5af078dc93feef01fe1\nexport const slugify = input => {\n const a =\n 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;'\n const b =\n 'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------'\n const p = new RegExp(a.split('').join('|'), 'g')\n\n return input\n .toString()\n .toLowerCase()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters\n .replace(/&/g, '-and-') // Replace & with 'and'\n .replace(/[^\\w\\-]+/g, '') // Remove all non-word characters\n .replace(/\\-\\-+/g, '-') // Replace multiple - with single -\n .replace(/^-+/, '') // Trim - from start of text\n .replace(/-+$/, '') // Trim - from end of text\n}\n","import React from 'react'\nimport { string, object } from 'prop-types'\n\nimport { linkResolver } from '../../util/linkResolver'\nimport { ArrowInCircle } from '../Icons'\nimport * as Styled from './styles/CtaLink.styles'\n\nconst FunctionTriggerLink = ({ triggerFunction, additionalStyles, text }) => (\n \n {text}\n \n \n)\n\nconst ExternalLink = ({ link, additionalStyles, text }) => (\n \n {text}\n \n \n)\n\nconst InternalLink = ({ link, additionalStyles, text }) => {\n const isBlankTarget = link.target === '_blank'\n return isBlankTarget ? (\n \n {text}\n \n \n ) : (\n \n {text}\n \n \n )\n}\n\nconst CtaLink = ({ text, link, additionalStyles = null }) => {\n if (!link) {\n return null\n }\n // if (!link.link_type) {\n // return null\n // }\n if (link.link_type && link.link_type === 'Function') {\n // Edge case currently only used in Admin page\n return (\n \n )\n }\n if (\n (link.link_type && link.link_type === 'Document') ||\n (link.type && link.type === 'advance_article') // Handle exception where Advance Article doesn't provide link_type\n ) {\n if (!link.uid) {\n return null\n } // only link to valid page types\n return (\n \n )\n }\n if (\n link.link_type &&\n (link.link_type === 'Web' ||\n link.link_type === 'File' ||\n link.link_type === 'Media')\n ) {\n return (\n \n )\n }\n return null\n}\n\nCtaLink.propTypes = {\n text: string,\n link: object,\n additionalStyles: string,\n}\n\nCtaLink.defaultProps = {\n additionalStyles: '',\n}\n\nexport default CtaLink\n","import styled from 'styled-components'\nimport { DEVICE } from '../../../util/constants'\nimport { GriddedContentBlock } from '../../styles/Utility.styles'\n\nexport const CalendarOfEventsBlock = styled(GriddedContentBlock)`\n /* Naming Convenience */\n margin-top: 0;\n`\n\nexport const CalendarGrid = styled.div`\n grid-column: 2 / 12;\n display: grid;\n grid-template-columns: 1fr;\n\n @media ${DEVICE.laptopL} {\n grid-template-rows: 1fr max-content;\n grid-template-columns: 1fr 1fr 1fr;\n }\n\n [data-layout='two-column'] & {\n @media ${DEVICE.laptopG} {\n grid-column: span 12;\n }\n }\n`\n\nexport const CircleAccent = styled.div`\n border-radius: 50%;\n border: 3px solid var(--graphic-accent-orange-1);\n box-sizing: border-box;\n height: 59px;\n width: 59px;\n z-index: 1;\n grid-row: 1;\n grid-column: 1;\n position: relative;\n right: 128px;\n margin: 0 auto 16px;\n\n @media ${DEVICE.tabletL} {\n margin: unset;\n position: relative;\n z-index: 1;\n right: 29px;\n bottom: 29px;\n }\n`\n\nexport const SectionHeader = styled.div`\n z-index: 2;\n background-color: var(--content-background-light);\n grid-row: 1;\n grid-column: 1;\n padding: 23px;\n font-weight: 600;\n font-size: 1.4rem;\n line-height: 1.3;\n letter-spacing: 0.02em;\n color: var(--content-background-dark-blue);\n text-transform: uppercase;\n width: 257px;\n text-align: center;\n margin: 28px auto 32px;\n\n @media ${DEVICE.tabletL} {\n max-width: max-content;\n min-width: 257px;\n width: unset;\n margin: 0 0 32px;\n font-size: 1.8rem;\n line-height: 1.3;\n }\n`\n\nexport const CalendarEvent = styled.div`\n margin-bottom: 30px;\n\n @media ${DEVICE.laptopL} {\n margin-bottom: unset;\n grid-row: 2;\n }\n`\n\nexport const EventInfoRow = styled.div`\n display: flex;\n flex-direction: row;\n`\n\nexport const DateBox = styled.div`\n flex-shrink: 0;\n background-color: var(--highlight-blue);\n font-weight: 400;\n font-size: 1.8rem;\n line-height: 1.3;\n margin-bottom: 4px;\n letter-spacing: 0.02em;\n text-transform: capitalize;\n color: var(--content-background-light);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 93px;\n height: 83px;\n\n @media ${DEVICE.tabletL} {\n font-size: 2rem;\n }\n`\n\nexport const MultiDateBox = styled(DateBox)`\n font-size: 1.7rem;\n margin: 10px 0;\n letter-spacing: 0.02em;\n text-transform: unset;\n color: var(--content-background-light);\n\n span {\n height: auto;\n }\n`\n\nexport const TimeAndLocationBox = styled.div`\n margin-left: 16px;\n display: flex;\n flex-direction: column;\n align-self: center;\n align-items: left;\n font-size: 1.8rem;\n line-height: 1.6;\n color: var(--content-background-dark-blue);\n\n @media ${DEVICE.tabletL} {\n font-size: 2rem;\n }\n\n span {\n padding-right: 16px;\n\n :last-of-type {\n line-height: 1.3;\n }\n }\n`\n\nexport const EventDetailColumn = styled.div`\n display: flex;\n flex-direction: column;\n padding-right: 30px;\n margin-top: 16px;\n\n h2 {\n font-size: 2.4rem;\n line-height: 1.36;\n color: var(--content-background-dark-blue);\n margin-bottom: 14px;\n\n @media ${DEVICE.tabletL} {\n font-size: 2.8rem;\n margin-bottom: 14px;\n }\n }\n\n p {\n font-size: 1.4rem;\n line-height: 1.375;\n color: var(--content-background-dark-blue);\n\n @media ${DEVICE.tabletL} {\n font-size: 1.6rem;\n line-height: 1.375;\n }\n }\n`\n","import styled from 'styled-components'\nimport { DEVICE } from '../../../util/constants'\nimport { RegionContainer } from '../../styles/Utility.styles'\nimport { DateBox, MultiDateBox } from './CalendarOfEventsBlock.styles'\n\nconst DESKTOP_DATE_COLUMN_WIDTH = 93\nconst DESKTOP_DATE_COLUMN_MARGIN_LEFT = 29\nconst MOBILE_DATE_ROW_HEIGHT = 75\n\nexport const EventListingBlock = styled(RegionContainer)`\n margin-top: 0;\n`\n\nexport const EventListingFlexContainer = styled.div`\n grid-column: 2 / 3;\n grid-row: auto;\n display: flex;\n flex-direction: column;\n\n @media ${DEVICE.tabletL} {\n flex-direction: row;\n }\n\n [data-layout='two-column'] & {\n @media ${DEVICE.laptopG} {\n grid-column: span 3;\n }\n }\n`\n\nexport const EventDateFlexContainer = styled.div`\n display: flex;\n flex-direction: row;\n margin: 0 0 22px;\n\n @media ${DEVICE.tabletL} {\n flex-direction: column;\n flex: 0 0 93px;\n margin-right: ${DESKTOP_DATE_COLUMN_MARGIN_LEFT}px;\n }\n\n img {\n border-radius: 0;\n height: ${MOBILE_DATE_ROW_HEIGHT}px;\n\n @media ${DEVICE.tabletL} {\n flex-direction: column;\n flex: 0 0 93px;\n width: ${DESKTOP_DATE_COLUMN_WIDTH}px;\n height: 83px;\n }\n }\n`\n\nexport const EventListingDateBox = styled(DateBox)`\n width: 85px;\n height: ${MOBILE_DATE_ROW_HEIGHT}px;\n margin-bottom: 0;\n\n @media ${DEVICE.tabletL} {\n width: ${DESKTOP_DATE_COLUMN_WIDTH}px;\n height: 83px;\n }\n`\n\nexport const EventListingMultiDateBox = styled(MultiDateBox)`\n width: 85px;\n height: ${MOBILE_DATE_ROW_HEIGHT}px;\n margin-bottom: 0;\n\n @media ${DEVICE.tabletL} {\n width: ${DESKTOP_DATE_COLUMN_WIDTH}px;\n height: 83px;\n }\n`\n\nexport const EventTextRegion = styled.div`\n color: var(--content-background-dark-blue);\n\n @media ${DEVICE.tabletL} {\n flex-basis: auto;\n padding-right: 30px;\n }\n\n h2 {\n font-size: 2.8rem;\n padding-bottom: 14px;\n line-height: 1.35;\n\n @media ${DEVICE.tabletL} {\n font-size: 2.4rem;\n padding-bottom: 14px;\n }\n }\n\n p {\n font-size: 1.4rem;\n line-height: 2.4rem;\n\n @media ${DEVICE.tabletL} {\n font-size: 1.6rem;\n }\n }\n`\nexport const EventDetailsFlexContainer = styled.aside`\n @media ${DEVICE.tabletL} {\n flex: 0 0 215px;\n flex-grow: 0;\n display: flex;\n flex-direction: column;\n }\n\n h3 {\n font-size: 1.4rem;\n font-weight: bold;\n line-height: 1.71;\n letter-spacing: 0.02em;\n color: var(--highlight-blue);\n padding: 16px 0 0;\n\n @media ${DEVICE.tabletL} {\n padding: 0 0 6px;\n }\n }\n\n p {\n font-size: 1.4rem;\n line-height: 1.5;\n color: var(--content-background-dark-blue);\n\n @media ${DEVICE.tabletL} {\n font-size: 1.6rem;\n\n :first-of-type {\n line-height: 2;\n margin-bottom: 11px;\n }\n }\n }\n`\n\nexport const DividerRow = styled.hr`\n /* margin-left: ; */\n grid-column: 2 / 3;\n border-top: 2px solid var(--graphic-accent-blue-2);\n margin-bottom: 27px;\n\n @media ${DEVICE.tabletL} {\n grid-column: 2 / 3;\n grid-row: auto;\n margin: 26px 0 34px\n ${DESKTOP_DATE_COLUMN_WIDTH + DESKTOP_DATE_COLUMN_MARGIN_LEFT}px;\n }\n\n [data-layout='two-column'] & {\n @media ${DEVICE.laptopG} {\n grid-column: span 3;\n }\n }\n`\n\nexport const additionalCtaStyles = `\n grid-column: 2 / 12;\n padding: 17px 0 27px 0;\n\n @media ${DEVICE.tabletL} {\n padding-bottom: 36px;\n margin-left: ${\n DESKTOP_DATE_COLUMN_WIDTH + DESKTOP_DATE_COLUMN_MARGIN_LEFT\n }px;\n }\n [data-layout=\"two-column\"] & {\n @media ${DEVICE.laptopG} {\n grid-column: span 12;\n }\n }\n`\n","import React from 'react'\nimport { array } from 'prop-types'\nimport { useMediaPredicate } from 'react-media-hook'\nimport { DEVICE } from '../../util/constants'\n\nimport * as Styled from './styles/EventListingBlock.styles'\nimport { formatCityAndState } from '../../util/strings'\nimport {\n formatShortDate,\n getShortDayOfWeek,\n futureEvents,\n} from '../../util/timeDateUtils'\nimport CtaLink from './CtaLink'\n\nexport const EventRow = ({ event, isLast }) => {\n const tabletAndUp = useMediaPredicate(DEVICE.tabletL)\n const cityStateString = formatCityAndState(\n event.event_city,\n event.event_state\n )\n return (\n <>\n \n \n {!event.end_date && (\n \n {getShortDayOfWeek(event.event_date)}\n {formatShortDate(event.event_date)}\n \n )}\n {event.end_date && (\n \n {formatShortDate(event.event_date)}\n to\n {formatShortDate(event.end_date)}\n \n )}\n {event.event_image?.url && (\n {event.event_image.alt}\n )}\n \n \n

{event.event_title?.text ?? ''}

\n

{event.event_description?.text ?? ''}

\n {tabletAndUp && (\n \n )}\n
\n \n

When

\n

\n {event.start_time}\n {event.end_time && ` to ${event.end_time}`}\n

\n

Where

\n {event.event_venue &&

{event.event_venue}

}\n {event.event_address_line_1 &&

{event.event_address_line_1}

}\n {event.event_address_line_2 &&

{event.event_address_line_2}

}\n {cityStateString &&

{cityStateString}

}\n
\n
\n {!tabletAndUp && (\n \n )}\n {!isLast && }\n \n )\n}\n\nconst EventListing = ({ data, bottomPaddingAdjustment }) => {\n const events = futureEvents(\n data.filter(e => !!e.event?.document?.data).map(e => e.event)\n )\n\n return (\n \n {events.map(\n (event, index) =>\n event && (\n = events.length - 1}\n />\n )\n )}\n \n )\n}\n\nexport default EventListing\n","import styled from 'styled-components'\nimport { DEVICE } from '../../../util/constants'\nimport { Link } from 'gatsby'\n\nexport const CtaContainer = styled(Link)`\n display: flex;\n flex-direction: row;\n align-items: center;\n pointer-events: none;\n padding: 14px 0;\n text-decoration-line: none;\n\n svg {\n min-width: 30px;\n\n @media ${DEVICE.tabletL} {\n min-width: 45px;\n }\n }\n\n svg .rollover {\n display: none;\n }\n\n :hover {\n svg .rollover {\n display: inherit;\n }\n\n svg .normal {\n display: none;\n }\n }\n\n /* stylelint-disable value-keyword-case */\n ${({ $additionalStyles }) => $additionalStyles}\n`\n\nexport const TextLink = styled.span`\n pointer-events: auto;\n font-size: 1.4rem;\n line-height: 1.4;\n font-weight: bold;\n letter-spacing: 0.02em;\n color: var(--highlight-blue);\n user-select: none;\n padding: 15px 14px 15px 0;\n`\n"],"names":["React","fallbackMatchMedia","query","matchMedia","omitMatchMediaResult","matchMediaResult","media","matches","useMedia","mounted","useState","setMounted","useEffect","result","setResult","callback","useCallback","addEventListener","removeEventListener","module","exports","useMediaPredicate","MONTHS","SHORT_DAYS_OF_WEEK","formatDate","dateString","splitter","split","Number","getShortDayOfWeek","dateObj","Date","userTzOffset","getTimezoneOffset","correctedDate","getTime","getDay","formatShortDate","formatDuration","hours","minutes","seconds","getIsDuringBusinessHours","businessHours","formattedDate","toLocaleString","timeZone","now","day","time","toLocaleTimeString","hour12","getIsOfflineDate","offlineDates","formattedTodayDate","toLocaleDateString","find","date","dateParts","map","part","charAt","substring","futureEvents","events","today","UTC","getUTCFullYear","getUTCMonth","getUTCDate","filter","e","_e$node","event","node","data","document","event_date","formatCityAndState","city","state","formatted","US_STATES","usState","name","pop","abbreviation","slugify","input","a","p","RegExp","join","toString","toLowerCase","replace","c","indexOf","FunctionTriggerLink","_ref","triggerFunction","additionalStyles","text","Styled","as","onClick","$additionalStyles","target","ArrowInCircle","ExternalLink","_ref2","link","href","rel","InternalLink","_ref3","linkResolver","to","CtaLink","_ref4","link_type","function","type","uid","url","defaultProps","CalendarOfEventsBlock","styled","GriddedContentBlock","withConfig","displayName","componentId","CalendarGrid","div","DEVICE","laptopL","laptopG","CircleAccent","tabletL","SectionHeader","CalendarEvent","EventInfoRow","DateBox","MultiDateBox","TimeAndLocationBox","EventDetailColumn","EventListingBlock","RegionContainer","EventListingFlexContainer","EventDateFlexContainer","EventListingDateBox","EventListingMultiDateBox","EventTextRegion","EventDetailsFlexContainer","aside","DividerRow","hr","DESKTOP_DATE_COLUMN_WIDTH","additionalCtaStyles","EventRow","_event$event_image","_event$event_title$te","_event$event_title","_event$event_descript","_event$event_descript2","isLast","tabletAndUp","cityStateString","event_city","event_state","end_date","event_image","src","alt","event_title","event_description","event_link_text","event_link","start_time","end_time","event_venue","event_address_line_1","event_address_line_2","bottomPaddingAdjustment","_e$event","_e$event$document","index","key","id","length","CtaContainer","Link","TextLink","span"],"sourceRoot":""}