{"version":3,"file":"static/chunks/452-4007a6672f660a0d.js","mappings":"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","sources":["webpack://_N_E/./components/resources/GTM.js","webpack://_N_E/./components/resources/Adobe.js","webpack://_N_E/./components/resources/NewRelic.js","webpack://_N_E/./components/resources/CookieConsent.js","webpack://_N_E/./js/utils/time.js","webpack://_N_E/./hooks/useAgentStatus.js","webpack://_N_E/./components/blocks/Banners/BannerCountdown.js","webpack://_N_E/./js/plugins/site-navigation.js","webpack://_N_E/./components/blocks/SiteNavigation/index.js","webpack://_N_E/./components/blocks/Header.js","webpack://_N_E/./providers/content-provider/components/SiteLegal.js","webpack://_N_E/./components/blocks/Footer.js","webpack://_N_E/./providers/content-provider/components/Annotation.js","webpack://_N_E/./providers/content-provider/utils/legal.js","webpack://_N_E/./providers/content-provider/hooks/useContentProviderLegal.js","webpack://_N_E/./components/templates/Default.js","webpack://_N_E/./js/config/state.js","webpack://_N_E/./js/utils/filters.js","webpack://_N_E/./components/blocks/Banners/BannerCountdown.module.css","webpack://_N_E/"],"sourcesContent":["/**\n * @module Google Tag Manage\n * @description Our GTM Snippet\n */\nimport Script from 'next/script';\n\n/**\n * @function GTMSnippet\n * @description Google Tag Manager Snippet\n */\nexport const GTMScript = () => (\n \n);\n\n/**\n * @function GTMSnippet\n * @description Google Tag Manager Snippet\n */\nexport const GTMSnippet = () => (\n \n);\n","/**\n * @module Adobe\n * @description Our Adobe Snippet\n */\nimport Script from 'next/script';\n\n/**\n * @function AdobeSnippet\n * @description Adobe Snippet\n */\nexport const AdobeSnippet = () => (\n <>\n {\n const { pathname } = window.location;\n let path = pathname.length > 1 ? pathname.substring( 1 ) : pathname;\n\n if ( path === '/' ) {\n path = 'home';\n }\n\n s_dtm.trackData( {\n pageName: `ftr:${ path }`,\n eVar22: 'visitor',\n eVar49: 'unverified service area'\n } );\n } }\n />\n \n);\n\nexport default AdobeSnippet;\n","/**\n * @module New Relic\n * @description Our New Relic Snippet\n */\nimport Script from 'next/script';\nimport { getAsset } from '@/js/utils/helpers';\n\n/**\n * @function NewRelic\n * @description New Relic Snippet\n */\nconst NewRelic = () => (\n \n);\n\nexport default NewRelic;\n","/**\n * @module CookieConsent\n * @description Our cookie consent script\n */\nimport Script from 'next/script';\n\n/**\n * @function CookieConsent\n * @description Cookie Consent script\n */\nexport const CookieConsent = () => (\n <>\n '\n } }\n />\n \n \n '\n } }\n />\n \n);\n\nexport default CookieConsent;\n","/**\n * @module Time\n * @description Time Utility\n */\nimport dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport objectSupport from 'dayjs/plugin/objectSupport';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\n\ndayjs.extend( relativeTime );\ndayjs.extend( advancedFormat );\ndayjs.extend( objectSupport );\ndayjs.extend( isBetween );\ndayjs.extend( isSameOrAfter );\n\n/**\n * @function getMoment\n * @description Manipulate our data.\n */\nexport const getMoment = ( date = new Date().toLocaleString( 'en-US', { timeZone: 'America/New_York' } ) ) => dayjs( date );\n\n\n/**\n * @function getDayOfWeek\n * @description Get numeric day of week\n */\nexport const getDayOfWeek = () => dayjs().day();\n\n/**\n * @function formateDate\n * @param date - Date object were passing.\n * @param format - How we want the date to be formatted\n * @description Manipulate our data.\n */\nexport const formatDate = ( format = '', date = new Date() ) => dayjs( date ).format( format );\n\n\n/**\n * @function parseTimeString\n * @description Split up time string into hour, minutes, seconds\n * @param {string} value the string to split up\n */\nexport const parseTimeString = ( value ) => {\n const values = value.split( ':' );\n\n values.forEach( ( val, index ) => {\n values[ index ] = Number( val ) < 10 ? val.charAt( 1 ) : val;\n } );\n\n return {\n hour: values[ 0 ],\n minute: values[ 1 ],\n second: values[ 2 ]\n };\n};\n","/**\n * @module Agent Status Hooks\n * @description\n */\nimport { getMoment, parseTimeString, getDayOfWeek } from '@/js/utils/time';\n\n/**\n * @function checkStatus\n * @description Compare datetime to see if open\n */\nconst checkStatus = ( today ) => {\n if ( today && today.openTime !== undefined && today.closeTime !== undefined ) {\n // Parse the time string\n const openTime = parseTimeString( today.openTime );\n const closeTime = parseTimeString( today.closeTime );\n\n // number of month & day\n const date = new Date();\n const month = date.getMonth();\n const day = date.getDate();\n\n // Holiday hours for December\n if ( month === 11 ) {\n // 24th & 31st: Open at 8am EST, close at 6pm EST\n if ( day === 24 || day === 31 ) {\n openTime.hour = 8;\n closeTime.hour = 18;\n }\n\n // 25th: Closed\n if ( day === 25 ) {\n openTime.hour = 0;\n closeTime.hour = 0;\n }\n }\n\n // Compare time strings to current time.\n return {\n isOpen: getMoment().isBetween( openTime, closeTime, 'minute' ),\n openTime,\n closeTime\n };\n }\n};\n\n/**\n * @function fetchStatus\n * @description Get the hours of our call center\n */\nconst fetchStatus = ( openHours ) => {\n const today = openHours.find( ( hour ) => hour.dayOfWeek === getDayOfWeek() );\n return checkStatus( today );\n};\n\n\n/**\n * @function useAgentStatus\n * @description Our agent status API\n */\nexport const useAgentStatus = () => fetchStatus;\n\nexport default useAgentStatus;\n","/**\n * @module StickyNav\n * @description Global Sticky Nav\n */\nimport { useContext, useEffect, useState } from 'react';\nimport Link from 'next/link';\nimport { FuelContext } from '@/providers/fuel-provider';\nimport styles from './BannerCountdown.module.css';\nimport { trackEvent } from '@/js/helpers/tracking';\nimport { formatPhoneNumber } from '@/js/helpers/fuse';\nimport useAgentStatus from '@/hooks/useAgentStatus';\nimport { DEFAULT_FUSE_NUMBER } from '@/js/constants/cohesion';\n\nconst position = 'BANNER COUNTDOWN';\n\n/**\n * @function Component\n * @description\n */\nconst Component = ( { location = 'GLOBAL' } ) => {\n const [ isOpen, setIsOpen ] = useState( false );\n const { fuseNumber } = useContext( FuelContext );\n const { cartHeavy, openHours } = useContext( FuelContext );\n const phoneNumber = formatPhoneNumber( fuseNumber || DEFAULT_FUSE_NUMBER );\n const fetchStatus = useAgentStatus( );\n\n useEffect( () => {\n if ( openHours.length === 0 ) return;\n const data = fetchStatus( openHours );\n setIsOpen( data?.isOpen );\n }, [ openHours, fetchStatus ] );\n\n /**\n * @function handleClick\n * @description\n */\n const handleClick = ( event ) => {\n const data = {\n elementType: 'BUTTON',\n position,\n location,\n text: 'PHONE NUMBER',\n actionOutcome: 'CLICKTOCALL'\n };\n\n trackEvent( { action: 'elementClicked', data, event } );\n };\n\n if ( cartHeavy ) {\n return ( <> );\n }\n\n return ( <>\n {\n isOpen && (\n
\n
\n
\n \n

\n \n Call now { phoneNumber }\n \n

\n
\n
\n
\n )\n }\n \n );\n};\n\nexport default Component;\n","/**\n * @module Site Navigation\n * @description Our site navigation\n */\nimport state from '@/js/config/state';\n\nexport default class SiteNavigation {\n constructor() {\n this.el = {\n header: null,\n navCollapse: null,\n\n // Buttons\n navToggle: null\n };\n\n this.state = {\n navOpen: false\n };\n\n this.init();\n }\n\n /**\n * @function openNav\n * @description Open Nav\n */\n openNav() {\n this.state.navOpen = true;\n document.documentElement.setAttribute( 'data-nav-open', true );\n this.el.navToggle.classList.add( 'navigation-open' );\n this.el.header.classList.add( 'navigation-open' );\n this.el.navCollapse.classList.add( 'navigation-open' );\n }\n\n /**\n * @function closeNav\n * @description Close Nav\n */\n closeNav() {\n this.state.navOpen = false;\n document.documentElement.setAttribute( 'data-nav-open', false );\n this.el.navToggle.classList.remove( 'navigation-open' );\n this.el.header.classList.remove( 'navigation-open' );\n this.el.navCollapse.classList.remove( 'navigation-open' );\n }\n\n /**\n * @function navToggle\n * @description Open / Close Nav\n */\n navToggle() {\n if ( ! this.state.navOpen ) {\n this.openNav();\n return;\n }\n\n this.closeNav();\n }\n\n /**\n * @function determineClose\n * @description Allow user to close nav by clicking outside of it\n */\n determineClose( e ) {\n if ( state.is_desktop ) {\n return;\n }\n\n const { target } = e;\n\n if ( target.tagName === 'HEADER' ) {\n if ( this.state.navOpen ) {\n this.closeNav();\n }\n }\n }\n\n /**\n * @function bindEvents\n * @description Bind events for this modules functions\n */\n bindEvents() {\n this.el.navToggle.addEventListener( 'click', this.navToggle.bind( this ) );\n this.el.header.addEventListener( 'click', this.determineClose.bind( this ) );\n }\n\n /**\n * @function init\n * @description Kick off this modules functions\n */\n init() {\n this.el.header = document.querySelector( '.site-header' );\n\n if ( ! this.el.header ) {\n return;\n }\n\n // Buttons\n this.el.navToggle = this.el.header.querySelector( '.navigation-toggle' );\n\n // Elements\n this.el.navCollapse = this.el.header.querySelector( '.navigation-collapse' );\n\n // Bind our buttons / elements with events\n this.bindEvents();\n }\n}\n","/**\n * @module SiteMenu\n * @description Site Menu\n */\nimport { useEffect } from 'react';\nimport Link from 'next/link';\nimport Image from 'next/legacy/image';\nimport PropTypes from 'prop-types';\nimport SiteNavigation from '@/js/plugins/site-navigation';\nimport { stringify } from '@/js/utils/filters';\nimport { fastly } from '@/js/utils/helpers';\nimport { trackEvent } from '@/js/helpers/tracking';\n\n/**\n * @function Component\n * @description\n */\nconst Component = ( { ...props } ) => {\n const { links } = props;\n\n /**\n * @function useEffect\n * @description Kick off this modules functions\n */\n useEffect( () => {\n new SiteNavigation();\n }, [] );\n\n /**\n * @function handleClick\n * @description fire off tagular events\n */\n const handleClick = ( event ) => {\n const { target } = event;\n const payload = JSON.parse( target.getAttribute( 'data-payload' ) );\n const { text, actionOutcome, position } = payload;\n\n const data = {\n elementType: 'BUTTON',\n location: 'GLOBAL',\n position,\n text,\n actionOutcome\n };\n\n trackEvent( { action: 'elementClicked', data, event } );\n };\n\n return <>\n
\n\n
\n
\n { /* */ }\n
\n\n\n
\n

\n \n\n \n\n \n

\n
{ /* */ }\n
{ /* */ }\n\n
\n
\n
\n { /* */ }\n
{ /* */ }\n
{ /* */ }\n
{ /* */ }\n
\n ;\n};\n\nComponent.defaultProps = {\n links: [\n {\n title: 'Bundles',\n href: '/ps/plans-pricing/',\n links: []\n },\n {\n title: 'Internet',\n href: 'https://frontier.com/shop/internet/fiber-internet',\n links: []\n }\n ]\n};\n\nComponent.propTypes = {\n links: PropTypes.arrayOf(\n PropTypes.shape( {\n title: PropTypes.string,\n links: PropTypes.arrayOf(\n PropTypes.shape( {\n href: PropTypes.string,\n title: PropTypes.string,\n target: PropTypes.string\n } )\n )\n } )\n )\n};\n\nexport default Component;\n","/**\n * @module Header - Default\n * @description Site Header\n */\nimport Head from 'next/head';\n\n// Tracking & Scripts\nimport { GTMScript } from '@/resources/GTM';\nimport { AdobeSnippet } from '@/resources/Adobe';\nimport NewRelicSnippet from '@/resources/NewRelic';\nimport CookieConsent from '../resources/CookieConsent';\n\n// Components\nimport CountdownBanner from '@/blocks/Banners/BannerCountdown';\nimport SiteNavigation from '@/blocks/SiteNavigation';\n\n// Helpers\nimport { getAsset } from '@/js/utils/helpers';\n\n/**\n * @function Component\n * @description Default Header\n */\nconst Component = () => {\n const siteTitle = 'Frontierinternet.com';\n const siteUrl = '/ps/';\n const siteDescription = 'Enjoy fiber internet, TV & phone services from Frontier. Explore the best Internet, TV, and phone packages and deals we offer. More digital solutions available.';\n const faviconPath = getAsset( '/img/favicons/' );\n\n return (\n <>\n \n \n \n \n \n\n { /* PWA Info */ }\n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n\n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n { /* END PWA Info */ }\n\n { /* Image Preconnects */ }\n \n \n\n { /* 3rd Party / External Scripts */ }\n \n { process.env.environment === 'production' &&\n <>\n \n \n \n }\n {( process.env.environment === 'production' || process.env.environment === 'development' ) && }\n\n
\n Skip to content\n\n \n \n
{ /* */ }\n \n );\n};\n\nexport default Component;\n","/**\n * @module Site Legal\n * @description Footer Site Legal\n */\nimport { useContext } from 'react';\nimport { ContentProviderContext } from '../index';\n\n/**\n * @function Component\n * @description\n */\nconst Component = () => {\n const { legal } = useContext( ContentProviderContext );\n\n return (\n <>\n
\n { legal && [ ...legal ].map( ( item, index ) => (\n \n ) ) }\n
\n \n );\n};\n\nexport default Component;\n","/**\n * @module Footer - Default\n * @description Site Footer\n */\nimport Link from 'next/link';\nimport PropTypes from 'prop-types';\nimport SiteLegal from '@/content-provider/components/SiteLegal';\n\n/**\n * @function Component\n * @description Default Footer\n */\nconst Component = ( { ...props } ) => {\n const { links } = props;\n\n return (\n
\n
\n \n
{ /* .site-footer-primary */ }\n\n
\n \n

© { new Date().getFullYear() } Frontier Communications Parent, Inc. All rights reserved.

\n\n { /* Launches cookie consent pop-up (Needs trailing space to avoid hydration error) */ }\n

Do Not Sell or Share My Personal Information

{ /* eslint-disable-line no-irregular-whitespace */ }\n
{ /* .site-footer-secondary */ }\n
\n );\n};\n\nComponent.defaultProps = {\n links: [\n {\n title: 'Privacy Policy',\n href: 'https://frontier.com/corporate/privacy-policy'\n },\n {\n title: 'Terms & Conditions',\n href: '/terms'\n },\n {\n title: 'Accessibility',\n href: '/terms'\n },\n {\n title: 'California Privacy Policy',\n href: 'https://frontier.com/corporate/privacy-policy-california'\n },\n {\n title: 'Connecticut Privacy Policy',\n href: 'https://frontier.com/corporate/privacy-policy-connecticut'\n }\n ]\n};\n\nComponent.propTypes = {\n links: PropTypes.arrayOf(\n PropTypes.shape( {\n title: PropTypes.string,\n href: PropTypes.string\n } )\n )\n};\n\nexport default Component;\n","/**\n * @module Annotation\n * @description Legal Annotation\n */\nimport { useState, useEffect } from 'react';\n\n/**\n * @function Component\n * @description\n */\nconst Component = ( { hash, content, disclosures } ) => {\n const [ annotationIndex, setAnnotationIndex ] = useState();\n\n /**\n * @function useEffect\n * @description Kick off this modules functions\n */\n useEffect( () => {\n const legal = [ ...disclosures ].filter( ( disclosure ) => disclosure.hash === hash )[ 0 ];\n\n if ( ! legal ) {\n return;\n }\n\n setAnnotationIndex( legal.annotationIndex );\n }, [ disclosures, hash ] );\n\n return (\n <>\n { content }\n \n Legal Annotation { annotationIndex }\n \n \n );\n};\n\nexport default Component;\n","/**\n * @module Content Provider Legal Logic\n * @description\n */\nimport { createRoot } from 'react-dom/client';\nimport Annotation from '../components/Annotation';\n\n/**\n * @function filterLegal\n * @description Filter out the legal we don't need\n */\nexport const filterLegal = ( node, disclosures ) => {\n const legal = new Set();\n\n if ( ! disclosures ) {\n return [];\n }\n\n const els = node.querySelectorAll( '[data-legal]' );\n\n els.forEach( ( el ) => {\n const hash = el.getAttribute( 'data-legal' );\n const matched = disclosures.filter( ( disclosure ) => disclosure.hash === hash )[ 0 ];\n\n if ( ! matched ) {\n return;\n }\n\n legal.add( matched );\n el.setAttribute( 'data-legal-set', false );\n } );\n\n return {\n legal,\n legalNodes: els\n };\n};\n\n/**\n * @function setAnnotationIndex\n * @description Set an index starting at 1 to match legal to footer\n */\nexport const setAnnotationIndex = ( legal = new Set(), setLegal ) => {\n let annotationIndex = 1;\n\n legal.forEach( ( disclosure ) => {\n legal.forEach( ( disclosure2 ) => {\n if ( disclosure !== disclosure2 ) {\n if ( disclosure.full === disclosure2.full ) {\n if ( disclosure.alternateHash ) {\n disclosure.alternateHash.push( disclosure2.hash );\n } else {\n disclosure.alternateHash = [ disclosure2.hash ];\n }\n legal.delete( disclosure2 );\n }\n }\n } );\n } );\n\n legal.forEach( ( item ) => {\n item.annotationIndex = annotationIndex;\n annotationIndex += 1;\n } );\n\n setLegal( legal );\n};\n\n/**\n * @function insertAnnotations\n * @description Place annotations within their respective DOM nodes.\n */\nexport const insertAnnotations = ( disclosures, nodes = [] ) => {\n nodes.forEach( ( node ) => {\n const isSet = node.getAttribute( 'data-legal-set' );\n\n if ( isSet === 'true' ) {\n return;\n }\n\n const hash = node.getAttribute( 'data-legal' );\n const content = node.textContent;\n\n const root = createRoot( node );\n root.render( );\n node.setAttribute( 'data-legal-set', true );\n } );\n};\n","/**\n * @module ContentProvider Hooks - Legal\n * @description\n */\nimport {\n useRef, useCallback, useContext\n} from 'react';\nimport { ContentProviderContext } from '../index';\nimport { filterLegal, setAnnotationIndex, insertAnnotations } from '../utils/legal';\n\n/**\n * @function useContentProviderLegal\n * @description Locate all legal hash keys on site and begin setup.\n */\nconst useContentProviderLegal = () => {\n const { disclosures, setLegal } = useContext( ContentProviderContext );\n const ref = useRef( null );\n\n const setRef = useCallback( ( node ) => {\n cohesion( 'ready', () => {\n if ( node ) {\n setTimeout( () => {\n const { legal, legalNodes } = filterLegal( node, disclosures );\n setAnnotationIndex( legal, setLegal );\n insertAnnotations( legal, legalNodes );\n }, 1500 );\n }\n\n ref.current = node;\n } );\n }, [ ref, disclosures, setLegal ] );\n\n return [ setRef ];\n};\n\nexport default useContentProviderLegal;\n","/**\n * @module Template - Default\n * @description Default Template\n */\nimport PropTypes from 'prop-types';\n\n// Partials\nimport Header from '@/blocks/Header';\nimport Footer from '@/blocks/Footer';\nimport useContentProviderLegal from '@/content-provider/hooks/useContentProviderLegal';\n/**\n * @function Template\n * @description Default Template\n */\nconst Template = ( {\n title, hero, primary, modal\n} ) => {\n const [ ref ] = useContentProviderLegal();\n return (\n <>\n
\n\n
\n
\n
\n
\n

{ title }

\n { hero }\n
\n\n
\n { primary }\n
\n
\n
\n
{ /* */ }\n\n