{"version":3,"file":"component---src-templates-park-js-08fd7ffdcc2cf970d9a8.js","mappings":"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","sources":["webpack://bc-parks-gatsby/./node_modules/@restart/hooks/esm/useCommittedRef.js","webpack://bc-parks-gatsby/./node_modules/@restart/hooks/esm/useEventCallback.js","webpack://bc-parks-gatsby/./node_modules/@restart/hooks/esm/useTimeout.js","webpack://bc-parks-gatsby/./node_modules/@restart/hooks/esm/useMounted.js","webpack://bc-parks-gatsby/./node_modules/@restart/hooks/esm/useWillUnmount.js","webpack://bc-parks-gatsby/./node_modules/@restart/hooks/esm/useUpdatedRef.js","webpack://bc-parks-gatsby/./src/components/park/about.js","webpack://bc-parks-gatsby/./src/components/park/contact.js","webpack://bc-parks-gatsby/./node_modules/react-bootstrap/esm/Container.js","webpack://bc-parks-gatsby/./src/components/park/nearbyPark.js","webpack://bc-parks-gatsby/./src/components/park/nearbyParks.js","webpack://bc-parks-gatsby/./src/components/park/reconciliation.js","webpack://bc-parks-gatsby/./src/components/park/specialNote.js","webpack://bc-parks-gatsby/./src/templates/park.js","webpack://bc-parks-gatsby/./node_modules/react-bootstrap/esm/ElementChildren.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded before being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\n\nfunction useCommittedRef(value) {\n var ref = useRef(value);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n var ref = useCommittedRef(fn);\n return useCallback(function () {\n return ref.current && ref.current.apply(ref, arguments);\n }, [ref]);\n}","import { useMemo, useRef } from 'react';\nimport useMounted from './useMounted';\nimport useWillUnmount from './useWillUnmount';\n/*\n * Browsers including Internet Explorer, Chrome, Safari, and Firefox store the\n * delay as a 32-bit signed integer internally. This causes an integer overflow\n * when using delays larger than 2,147,483,647 ms (about 24.8 days),\n * resulting in the timeout being executed immediately.\n *\n * via: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout\n */\n\nvar MAX_DELAY_MS = Math.pow(2, 31) - 1;\n\nfunction setChainedTimeout(handleRef, fn, timeoutAtMs) {\n var delayMs = timeoutAtMs - Date.now();\n handleRef.current = delayMs <= MAX_DELAY_MS ? setTimeout(fn, delayMs) : setTimeout(function () {\n return setChainedTimeout(handleRef, fn, timeoutAtMs);\n }, MAX_DELAY_MS);\n}\n/**\n * Returns a controller object for setting a timeout that is properly cleaned up\n * once the component unmounts. New timeouts cancel and replace existing ones.\n *\n *\n *\n * ```tsx\n * const { set, clear } = useTimeout();\n * const [hello, showHello] = useState(false);\n * //Display hello after 5 seconds\n * set(() => showHello(true), 5000);\n * return (\n *
\n * {hello ?

Hello

: null}\n *
\n * );\n * ```\n */\n\n\nexport default function useTimeout() {\n var isMounted = useMounted(); // types are confused between node and web here IDK\n\n var handleRef = useRef();\n useWillUnmount(function () {\n return clearTimeout(handleRef.current);\n });\n return useMemo(function () {\n var clear = function clear() {\n return clearTimeout(handleRef.current);\n };\n\n function set(fn, delayMs) {\n if (delayMs === void 0) {\n delayMs = 0;\n }\n\n if (!isMounted()) return;\n clear();\n\n if (delayMs <= MAX_DELAY_MS) {\n // For simplicity, if the timeout is short, just set a normal timeout.\n handleRef.current = setTimeout(fn, delayMs);\n } else {\n setChainedTimeout(handleRef, fn, Date.now() + delayMs);\n }\n }\n\n return {\n set: set,\n clear: clear\n };\n }, []);\n}","import { useRef, useEffect } from 'react';\n/**\n * Track whether a component is current mounted. Generally less preferable than\n * properlly canceling effects so they don't run after a component is unmounted,\n * but helpful in cases where that isn't feasible, such as a `Promise` resolution.\n *\n * @returns a function that returns the current isMounted state of the component\n *\n * ```ts\n * const [data, setData] = useState(null)\n * const isMounted = useMounted()\n *\n * useEffect(() => {\n * fetchdata().then((newData) => {\n * if (isMounted()) {\n * setData(newData);\n * }\n * })\n * })\n * ```\n */\n\nexport default function useMounted() {\n var mounted = useRef(true);\n var isMounted = useRef(function () {\n return mounted.current;\n });\n useEffect(function () {\n mounted.current = true;\n return function () {\n mounted.current = false;\n };\n }, []);\n return isMounted.current;\n}","import useUpdatedRef from './useUpdatedRef';\nimport { useEffect } from 'react';\n/**\n * Attach a callback that fires when a component unmounts\n *\n * @param fn Handler to run when the component unmounts\n * @category effects\n */\n\nexport default function useWillUnmount(fn) {\n var onUnmount = useUpdatedRef(fn);\n useEffect(function () {\n return function () {\n return onUnmount.current();\n };\n }, []);\n}","import { useRef } from 'react';\n/**\n * Returns a ref that is immediately updated with the new value\n *\n * @param value The Ref value\n * @category refs\n */\n\nexport default function useUpdatedRef(value) {\n var valueRef = useRef(value);\n valueRef.current = value;\n return valueRef;\n}","import React, { useState, useEffect, useCallback, useMemo } from \"react\"\nimport Accordion from \"react-bootstrap/Accordion\"\nimport Row from \"react-bootstrap/Row\"\nimport Col from \"react-bootstrap/Col\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faChevronUp, faChevronDown } from \"@fortawesome/free-solid-svg-icons\"\n\nimport HtmlContent from \"../htmlContent\"\nimport CustomToggle from \"./customToggle\"\nimport { isNullOrWhiteSpace } from \"../../utils/helpers\"\nimport { trackSnowplowEvent } from \"../../utils/snowplowHelper\"\nimport \"../../styles/cmsSnippets/parkInfoPage.scss\"\n\nexport const AccordionList = ({ eventKey, data, openAccordions, toggleAccordion }) => {\n return (\n \n toggleAccordion(eventKey, data.title)}\n >\n
\n \n {data.title}\n \n
\n
\n {openAccordions[eventKey] ?\n : \n }\n
\n \n \n
\n \n {!isNullOrWhiteSpace(data.description) && data.description}\n \n
\n
\n \n )\n}\n\nexport default function About({\n parkType, conservation, culturalHeritage, history, wildlife, biogeoclimaticZones, terrestrialEcosections, marineEcosections\n}) {\n const dataList = [\n { \"title\": \"Cultural heritage\", \"code\": \"cultural-heritage\", \"description\": culturalHeritage },\n { \"title\": \"History\", \"code\": \"history\", \"description\": history },\n { \"title\": \"Conservation\", \"code\": \"conservation\", \"description\": conservation },\n { \"title\": \"Wildlife\", \"code\": \"wildlife\", \"description\": wildlife }\n ].filter(data => data.description)\n\n const [hash, setHash] = useState(\"\")\n const [openAccordions, setOpenAccordions] = useState({})\n\n const toggleAccordion = (index, accordionName) => {\n setOpenAccordions((prev) => ({\n ...prev,\n [index]: !prev[index],\n }))\n trackSnowplowEvent(\n openAccordions[index] ? \"accordion_close\" : \"accordion_open\",\n null,\n null,\n null,\n accordionName,\n {}\n )\n }\n\n const toggleExpandAll = () => {\n const newExpandAll = !allExpanded\n const newOpenAccordions = dataList.reduce((acc, _, index) => {\n acc[index] = newExpandAll\n return acc\n }, {})\n setOpenAccordions(newOpenAccordions)\n }\n\n const allExpanded = useMemo(() => {\n return dataList.length > 0 &&\n Object.keys(openAccordions).length === dataList.length &&\n Object.values(openAccordions).every((isOpen) => isOpen)\n }, [openAccordions, dataList.length])\n\n const checkHash = useCallback(() => {\n // Check hash in url\n // if we find a matching activityCode, open that activity accordion\n let h = \"\"\n let idx = 0\n if (typeof window !== \"undefined\") {\n h = window.location.hash\n if (h !== undefined && h !== hash) {\n dataList.forEach(data => {\n if (h === \"#\" + data.code) {\n if (!openAccordions[idx]) {\n setOpenAccordions((prev) => ({\n ...prev,\n [idx]: true,\n }))\n }\n }\n idx++\n })\n setHash(h)\n }\n }\n }, [dataList, hash, openAccordions])\n\n useEffect(() => {\n window.addEventListener(\"hashchange\", function (e) {\n checkHash()\n })\n checkHash()\n }, [dataList, checkHash])\n\n useEffect(() => {\n if (dataList.length === 1) {\n setOpenAccordions({ 0: true })\n }\n }, [dataList.length])\n\n return (\n
\n {/* id=\"park-about-container\" should be removed once it's removed from the contents */}\n \n {/* id=\"park-nature-and-culture-container\" should be removed once it's removed from the contents */}\n

\n About this {parkType}\n

\n
\n {biogeoclimaticZones?.length > 0 && (\n

\n \n Biogeoclimatic zone:\n \n {biogeoclimaticZones.map((bioZone, index) => (\n \n {bioZone.zone}\n {biogeoclimaticZones.length > 1 && index + 1 !== biogeoclimaticZones.length && (\", \")}\n \n ))}\n

\n )}\n {terrestrialEcosections?.length > 0 && (\n

\n \n Terrestrial ecosection:\n \n {terrestrialEcosections.map((terreSection, index) => (\n \n {terreSection.terrestrialEcosection}\n {terrestrialEcosections.length > 1 && index + 1 !== terrestrialEcosections.length && (\",\")}\n \n ))}\n

\n )}\n {marineEcosections?.length > 0 && (\n

\n \n Marine ecosection:\n \n {marineEcosections.map((marineSection, index) => (\n \n {marineSection.marineEcosection}\n {marineEcosections.length > 1 && index + 1 !== marineEcosections.length && (\",\")}\n \n ))}\n

\n )}\n
\n {dataList.length > 0 && (\n // if parkType is ecological reserve, display conservation description without accordion\n parkType === \"ecological reserve\" ? (\n {dataList[0].description}\n ) : (\n \n \n {dataList.length > 1 && (\n \n {allExpanded ?\n <>Collapse all about this park \n :\n <>Expand all about this park \n }\n \n )}\n {dataList.map((data, index) => (\n \n ))}\n \n \n )\n )}\n
\n )\n}","import React from \"react\"\nimport FontAwesome from \"../fontAwesome\"\nimport HtmlContent from \"../htmlContent\"\n\n// Helper function to get href prefix based on the contactType\nconst getPrefix = (contactType) => {\n switch (contactType) {\n case \"Email\":\n return \"mailto:\"\n case \"Phone\":\n return \"tel:\"\n default:\n return \"\"\n }\n}\n// Helper function to get the icon based on the contactType\nconst getIcon = (contactType) => {\n switch (contactType) {\n case \"Email\":\n return \"envelope\"\n case \"Phone\":\n return \"phone\"\n case \"Website\":\n return \"laptop\"\n case \"Chat\":\n return \"messages\"\n case \"Facebook\":\n return \"facebook\"\n case \"Instagram\":\n return \"instagram\"\n case \"X-twitter\":\n return \"x-twitter\"\n default:\n return \"\"\n }\n}\n\nexport const ParkContact = ({ contact }) => {\n const parkOperatorContact = contact.parkOperatorContact\n const links = contact.contactInformation.length > 0 ? contact.contactInformation :\n parkOperatorContact?.defaultContactInformation?.length > 0 ? parkOperatorContact.defaultContactInformation : []\n\n return (\n \n \n {contact.title ? contact.title : parkOperatorContact?.defaultTitle}\n \n \n {(contact.description.data.description ||\n parkOperatorContact?.defaultDescription?.data?.defaultDescription) &&\n \n {contact.description.data.description ||\n parkOperatorContact?.defaultDescription?.data?.defaultDescription}\n \n }\n {links.length > 0 && links.map((link, index) => (\n

\n \n {link.contactUrl !== null ?\n \n {link.contactType}: {link.contactText}\n \n :\n link.contactText\n }\n

\n ))}\n \n \n )\n}\n\nexport default function Contact({ contact, parkContacts, operations }) {\n // Filter contacts by isActive and sort by rank\n const sortedContacts =\n parkContacts.filter(contact => contact.isActive).sort((a, b) => {\n return a.rank - b.rank\n })\n const hasAnyReservations =\n operations.hasCanoeCircuitReservations ||\n operations.hasGroupPicnicReservations ||\n operations.hasFrontcountryReservations ||\n operations.hasFrontcountryGroupReservations ||\n operations.hasFrontcountryCabinReservations ||\n operations.hasBackcountryReservations ||\n operations.hasBackcountryGroupReservations ||\n operations.hasBackcountryShelterReservations ||\n operations.hasBackcountryWildernessReservations\n\n return (\n
\n

Contact

\n {contact === \"\" ? (\n
\n \n \n {/* display it if hasAnyReservations is true */}\n {hasAnyReservations && (\n \n \n \n \n )}\n {sortedContacts.length > 0 && sortedContacts.map((contact, index) => (\n \n ))}\n {/* display it always */}\n \n \n \n \n \n
Reservations, changes, and cancellations\n

\n Our call centre is open from 7 am to 7 pm Pacific Time.\n There is a $5 fee for reservations, changes, or cancellations made by phone.\n

\n

\n \n \n Phone number: 1-800-689-9025\n (toll-free from Canada or the US)\n

\n

\n \n \n Phone number: 1-519-858-6161\n (international)\n

\n

\n \n Contact form\n

\n

\n \n \n Live chat\n \n

\n
General questions and feedback for BC Parks\n

\n We answer emails weekdays from 9 am to 5 pm Pacific Time.\n

\n

\n \n \n Email: parkinfo@gov.bc.ca\n \n

\n
\n
\n ) : (\n {contact}\n )}\n
\n )\n}\n","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Container = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n fluid = false,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'container');\n const suffix = typeof fluid === 'string' ? `-${fluid}` : '-fluid';\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, fluid ? `${prefix}${suffix}` : prefix)\n });\n});\nContainer.displayName = 'Container';\nexport default Container;","import React, { useState } from \"react\"\nimport { Link } from \"gatsby\"\nimport Carousel from \"react-bootstrap/Carousel\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faCircleChevronRight, faCircleChevronLeft } from \"@fortawesome/free-solid-svg-icons\"\n\nimport FeatureIcons from \"../search/featureIcons\"\nimport parksLogo from \"../../images/park-card.png\"\nimport { addSmallImagePrefix, handleImgError } from \"../../utils/helpers\"\n\nconst NearbyPark = ({ park }) => {\n // sort photos to keep the same conditions as the find a park page\n // ref: scheduler/elasticsearch/transformers/park/main.js\n const photos = park.parkPhotos\n .filter(p => p.isActive)\n .sort((a, b) => {\n if (a.isFeatured && !b.isFeatured) {\n return -1\n } else if (!a.isFeatured && b.isFeatured) {\n return 1\n } else {\n return a.sortOrder - b.sortOrder\n }\n })\n .slice(0, 5)\n\n // useStates\n const [index, setIndex] = useState(0)\n const [isTabFocused, setIsTabFocused] = useState(false)\n const [errorStates, setErrorStates] = useState(Array(photos.length).fill(false))\n\n // event handlers\n const handleSelect = (selectedIndex, e) => {\n setIndex(selectedIndex)\n }\n const handleKeyDown = (e, photos) => {\n if (e.key === 'ArrowRight') {\n setIndex((oldIndex) => (oldIndex + 1) % photos.length)\n } else if (e.key === 'ArrowLeft') {\n setIndex((oldIndex) => (oldIndex - 1 + photos.length) % photos.length)\n }\n }\n\n let facilities = [];\n let activities = [];\n let campings = [];\n // convert facilities\n if (park.parkFacilities?.length) {\n facilities = park.parkFacilities.filter(f => {\n return f.isActive && f.facilityType?.isActive;\n }).map(f => {\n return {\n code: f.facilityType.facilityCode,\n num: f.facilityType.facilityNumber\n };\n });\n }\n if (park.parkCampingTypes?.length) {\n // convert camping facilities\n campings = park.parkCampingTypes.filter(ct => {\n return ct.isActive && ct.campingType?.isActive;\n }).map(ct => {\n let campingTypeCode = ct.campingType.campingTypeCode;\n let campingTypeNumber = ct.campingType.campingTypeNumber;\n if (campingTypeCode === 'wilderness-camping') {\n campingTypeCode = 'backcountry-camping'\n campingTypeNumber = 36\n }\n return {\n code: campingTypeCode,\n num: campingTypeNumber\n };\n });\n }\n // convert activities\n if (park.parkActivities?.length) {\n activities = park.parkActivities.filter(a => {\n return a.isActive && a.activityType?.isActive;\n }).map(a => {\n return {\n code: a.activityType.activityCode,\n num: a.activityType.activityNumber\n };\n });\n }\n\n return (\n
\n {photos &&\n photos.length === 0 && (\n
\n \n
\n )}\n {photos &&\n photos.length === 1 && (\n
\n handleImgError(setErrorStates, 0)}\n />\n
\n )}\n {photos &&\n photos.length > 1 && (\n
\n }\n prevIcon={}\n onSelect={handleSelect}\n activeIndex={index}\n className={`park-carousel tab-focus-${isTabFocused}`}\n >\n {photos.map(\n (item, index) => {\n return (\n setIsTabFocused(true)}\n onBlur={() => setIsTabFocused(false)}\n onKeyDown={() => handleKeyDown(photos)}\n >\n handleImgError(setErrorStates, index)}\n />\n \n )\n }\n )}\n \n
\n )}\n\n
\n

\n \n {park.protectedAreaName}\n \n \n

\n
\n \n
\n
\n
\n )\n}\n\nexport default NearbyPark","import React from \"react\"\nimport Container from \"react-bootstrap/Container\"\nimport Row from \"react-bootstrap/Row\"\nimport Col from \"react-bootstrap/Col\"\nimport NearbyPark from \"./nearbyPark\"\n\nconst NearbyParks = ({ parks }) => {\n return (\n
\n \n

More parks to visit nearby

\n \n {/* limit 3 nearby parks */}\n {parks.slice(0, 3).map((park, index) =>\n park !== null &&\n \n \n \n )}\n \n
\n
\n )\n}\n\nexport default NearbyParks","import React from \"react\"\n\nimport HtmlContent from \"../htmlContent\"\n\nexport default function Reconciliation({ data }) {\n return (\n
\n {/* id=\"park-reconciliation-container\" should be removed once it's removed from the contents */}\n

\n Reconciliation with Indigenous Peoples\n

\n {data}\n
\n )\n}\n","import React from \"react\"\nimport HtmlContent from \"../htmlContent\"\n\nexport default function SpecialNote({ specialNotes }) {\n return (\n
\n {/* id=\"park-special-notes-container\" should be removed once it's removed from the contents */}\n

Special notes

\n {specialNotes}\n
\n )\n}\n","import React, { useEffect, useState, useRef } from \"react\"\nimport axios from \"axios\"\nimport { sortBy, truncate } from \"lodash\"\nimport { graphql, Link as GatsbyLink, navigate } from \"gatsby\"\nimport Row from \"react-bootstrap/Row\"\nimport Col from \"react-bootstrap/Col\"\nimport useScrollSpy from \"react-use-scrollspy\"\n\nimport { isNullOrWhiteSpace } from \"../utils/helpers\";\nimport { loadAdvisories, WINTER_FULL_PARK_ADVISORY, WINTER_SUB_AREA_ADVISORY } from '../utils/advisoryHelper';\nimport { preProcessSubAreas, combineCampingTypes, combineFacilities } from '../utils/subAreaHelper';\n\nimport About from \"../components/park/about\"\nimport AdvisoryDetails from \"../components/park/advisoryDetails\"\nimport Breadcrumbs from \"../components/breadcrumbs\"\nimport CampingDetails from \"../components/park/campingDetails\"\nimport Contact from \"../components/park/contact\"\nimport Footer from \"../components/footer\"\nimport Header from \"../components/header\"\nimport MapLocation from \"../components/park/mapLocation\"\nimport NearbyParks from \"../components/park/nearbyParks\"\nimport PageMenu from \"../components/pageContent/pageMenu\"\nimport ParkActivity from \"../components/park/parkActivity\"\nimport ParkFacility from \"../components/park/parkFacility\"\nimport ParkHeader from \"../components/park/parkHeader\"\nimport ParkOverview from \"../components/park/parkOverview\"\nimport ParkPhotoGallery from \"../components/park/parkPhotoGallery\"\nimport Reconciliation from \"../components/park/reconciliation\"\nimport ReservationsRequired from \"../components/park/reservationsRequired\"\nimport SafetyInfo from \"../components/park/safetyInfo\"\nimport ScrollToTop from \"../components/scrollToTop\"\nimport Seo from \"../components/seo\"\nimport SpecialNote from \"../components/park/specialNote\"\nimport VisitResponsibly from \"../components/park/visitResponsibly\"\nimport VisitorGuidelines from \"../components/park/visitorGuidelines\"\n\nimport parksLogo from \"../images/park-card.png\"\nimport \"../styles/parks.scss\"\n\nexport default function ParkTemplate({ data }) {\n const apiBaseUrl = `${data.site.siteMetadata.apiURL}/api`\n\n const park = data.strapiProtectedArea\n const parkType = park.type.toLowerCase() ?? \"park\"\n const operations = park.parkOperation || {}\n const photos = [...data.featuredPhotos.nodes, ...data.regularPhotos.nodes]\n\n const description = park.description.data.description\n const safetyInfo = park.safetyInfo.data.safetyInfo\n const specialNotes = park.specialNotes.data.specialNotes\n const locationNotes = park.locationNotes.data.locationNotes\n const conservation = park.conservation.data.conservation\n const culturalHeritage = park.culturalHeritage.data.culturalHeritage\n const history = park.history.data.history\n const wildlife = park.wildlife.data.wildlife\n const reconciliationNotes = park.reconciliationNotes.data.reconciliationNotes\n const maps = park.maps.data.maps\n const contact = park.parkContact.data.parkContact\n const hasNearbyParks = park.nearbyParks?.length > 0\n const nearbyParks = park.nearbyParks\n const hasParkGuidelines = park.parkGuidelines?.length > 0\n const managementAreas = park.managementAreas || []\n const searchArea = managementAreas[0]?.searchArea || {}\n\n const activeActivities = sortBy(\n park.parkActivities.filter(\n activity => activity.isActive && activity.activityType?.isActive\n ),\n [\"activityType.rank\", \"activityType.activityName\"],\n [\"asc\"]\n )\n\n const subAreas = preProcessSubAreas(park.parkOperationSubAreas)\n const activeFacilities = combineFacilities(park.parkFacilities, data.allStrapiFacilityType.nodes, subAreas);\n const activeCampings = combineCampingTypes(park.parkCampingTypes, data.allStrapiCampingType.nodes, subAreas);\n\n const hasReservations = operations.hasReservations\n const hasDayUsePass = operations.hasDayUsePass\n\n const menuContent = data?.allStrapiMenu?.nodes || []\n\n const [advisoryLoadError, setAdvisoryLoadError] = useState(false)\n const [isLoadingAdvisories, setIsLoadingAdvisories] = useState(true)\n const [advisories, setAdvisories] = useState([])\n const [protectedAreaLoadError, setProtectedAreaLoadError] = useState(false)\n const [isLoadingProtectedArea, setIsLoadingProtectedArea] = useState(true)\n const [hasCampfireBan, setHasCampfireBan] = useState(false)\n const [parkAccessStatus, setParkAccessStatus] = useState(null)\n const [addedSeasonalAdvisory, setAddedSeasonalAdvisory] = useState(false)\n\n useEffect(() => {\n setIsLoadingAdvisories(true)\n loadAdvisories(apiBaseUrl, park.orcs)\n .then(response => {\n if (response.status === 200) {\n setAdvisories(response.data.data)\n setAdvisoryLoadError(false)\n } else {\n setAdvisories([])\n setAdvisoryLoadError(true)\n }\n })\n .finally(() => {\n setIsLoadingAdvisories(false)\n })\n setIsLoadingProtectedArea(true)\n axios.get(`${apiBaseUrl}/protected-areas/${park.orcs}?fields=hasCampfireBan`)\n .then(response => {\n if (response.status === 200) {\n setHasCampfireBan(response.data.hasCampfireBan)\n setProtectedAreaLoadError(false)\n } else {\n setHasCampfireBan(false)\n setProtectedAreaLoadError(true)\n }\n })\n .finally(() => {\n setIsLoadingProtectedArea(false)\n })\n }, [apiBaseUrl, park.orcs])\n\n useEffect(() => {\n if (window.location.hash && !isLoadingProtectedArea && !isLoadingAdvisories) {\n const id = window.location.hash.replace(\"#\", \"\")\n const element = document.getElementById(id) || document.querySelector(window.location.hash)\n if (element) {\n setTimeout(() => {\n element.scrollIntoView({ behavior: 'smooth', block: 'start' })\n }, 100)\n }\n }\n }, [isLoadingProtectedArea, isLoadingAdvisories])\n\n const handleAccessStatus = function (statusObj) {\n setParkAccessStatus(statusObj);\n };\n\n const parkOverviewRef = useRef(null)\n const knowBeforeRef = useRef(null)\n const mapLocationRef = useRef(null)\n const campingRef = useRef(null)\n const activityRef = useRef(null)\n const facilityRef = useRef(null)\n const aboutRef = useRef(null)\n const reconciliationRef = useRef(null)\n const contactRef = useRef(null)\n\n const sectionRefs = [\n parkOverviewRef,\n knowBeforeRef,\n mapLocationRef,\n campingRef,\n activityRef,\n facilityRef,\n aboutRef,\n reconciliationRef,\n contactRef,\n ]\n\n const activeSection = useScrollSpy({\n sectionElementRefs: sectionRefs,\n defaultValue: 0,\n offsetPx: -100,\n })\n\n const menuItems = [\n {\n sectionIndex: 0,\n display: `Highlights in this ${parkType}`,\n link: \"#highlights\",\n visible: !isNullOrWhiteSpace(description),\n },\n {\n sectionIndex: 1,\n display: \"Know before you go\",\n link: \"#know-before-you-go\",\n visible: true,\n },\n {\n sectionIndex: 2,\n display: \"Maps and location\",\n link: \"#maps-and-location\",\n visible: !isNullOrWhiteSpace(maps) || !isNullOrWhiteSpace(locationNotes)\n },\n {\n sectionIndex: 3,\n display: \"Camping\",\n link: \"#camping\",\n visible: activeCampings.length > 0,\n },\n {\n sectionIndex: 4,\n display: \"Things to do\",\n link: \"#things-to-do\",\n visible: activeActivities.length > 0,\n },\n {\n sectionIndex: 5,\n display: \"Facilities\",\n link: \"#facilities\",\n visible: activeFacilities.length > 0,\n },\n {\n sectionIndex: 6,\n display: `About this ${parkType}`,\n link: \"#about-this-park\",\n visible: !isNullOrWhiteSpace(conservation) || \n !isNullOrWhiteSpace(culturalHeritage) ||\n !isNullOrWhiteSpace(history) || !isNullOrWhiteSpace(wildlife)\n },\n {\n sectionIndex: 7,\n display: \"Reconciliation with Indigenous Peoples\",\n link: \"#reconciliation\",\n visible: !isNullOrWhiteSpace(reconciliationNotes),\n },\n {\n sectionIndex: 8,\n display: `Contact`,\n link: \"#contact\",\n visible: true\n }\n ]\n\n const parkName = park.protectedAreaName;\n\n if (!addedSeasonalAdvisory) {\n // suppress any seasonal advisories if another advisory overrides them.\n // usually this is due to some sort of full park closure event.\n if (advisories.some(a => a.accessStatus?.hidesSeasonalAdvisory)) {\n setAddedSeasonalAdvisory(true);\n }\n // add park-level seasonal advisory\n if (parkAccessStatus?.mainGateClosure) {\n advisories.push(WINTER_FULL_PARK_ADVISORY);\n setAddedSeasonalAdvisory(true);\n }\n // add subarea seasonal advisory\n else if (parkAccessStatus?.areaClosure) {\n advisories.push(WINTER_SUB_AREA_ADVISORY);\n setAddedSeasonalAdvisory(true);\n }\n }\n\n const breadcrumbs = [\n \n Home\n ,\n {\n if (sessionStorage.getItem(\"prevPath\").includes('find-a-park')) {\n e.preventDefault();\n navigate(-1);\n } else if (sessionStorage.getItem(\"lastSearch\")) {\n e.preventDefault();\n navigate('/find-a-park/' + sessionStorage.getItem(\"lastSearch\"))\n }\n }}\n >\n Find a park\n ,\n
\n {parkName}\n
,\n ]\n\n return (\n
\n
\n
\n
\n
\n \n
\n \n
\n
0}`}>\n {photos.length > 0 && (\n
\n )}\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n {menuItems[0].visible && (\n
\n \n
\n )}\n {menuItems[1].visible && (\n
\n
\n

Know before you go

\n {isLoadingAdvisories && (\n
\n

{`Advisories`}

\n
\n Loading...\n
\n
\n )}\n {!isLoadingAdvisories && advisoryLoadError && (\n
\n
\n An error occurred while loading current public\n advisories.\n
\n
\n )}\n {!isLoadingAdvisories && !advisoryLoadError && (\n \n )}\n {hasParkGuidelines &&\n \n \n \n \n \n }\n {(!isNullOrWhiteSpace(safetyInfo) && !hasParkGuidelines) &&\n \n }\n {(!isNullOrWhiteSpace(specialNotes) && !hasParkGuidelines) &&\n \n }\n
\n

\n Review the detailed guides under visit responsibly for more information\n on staying safe and preserving our natural spaces.\n

\n
\n \n \n \n \n \n \n \n \n
\n
\n )}\n {menuItems[2].visible && (\n
\n \n
\n )}\n {menuItems[3].visible && (\n
\n \n
\n )}\n {menuItems[4].visible && (\n
\n \n
\n )}\n {menuItems[5].visible && (\n
\n \n
\n )}\n {menuItems[6].visible && (\n
\n \n
\n )}\n {menuItems[7].visible && (\n
\n \n
\n )}\n {menuItems[8].visible && (\n
\n \n
\n )}\n
\n
\n
\n {hasNearbyParks &&\n \n }\n \n
\n
\n )\n}\n\nexport const Head = ({ data }) => {\n const park = data.strapiProtectedArea\n const seo = park.seo\n const description = park.description.data.description\n const parkDescription = description.replace(/(<([^>]+)>)/ig, '');\n const parkDescriptionShort = truncate(parkDescription, { length: 160 });\n const photos = [...data.featuredPhotos.nodes, ...data.regularPhotos.nodes]\n const photoUrl = photos[0]?.imageUrl\n\n return (\n \n )\n}\n\nexport const query = graphql`\n query ProtectedAreaDetails($orcs: Int) {\n strapiProtectedArea(orcs: {eq: $orcs}) {\n slug\n protectedAreaName\n description {\n data {\n description\n }\n }\n status\n orcs\n marineArea\n type\n typeCode\n hasCampfireBan\n hasDiscoverParksLink\n locationNotes {\n data {\n locationNotes\n }\n }\n reconciliationNotes {\n data {\n reconciliationNotes\n }\n }\n safetyInfo {\n data {\n safetyInfo\n }\n }\n specialNotes {\n data {\n specialNotes\n }\n }\n parkContact {\n data {\n parkContact\n }\n }\n conservation {\n data {\n conservation\n }\n }\n culturalHeritage {\n data {\n culturalHeritage\n }\n }\n history {\n data {\n history\n }\n }\n wildlife {\n data {\n wildlife\n }\n }\n reservations {\n data {\n reservations\n }\n }\n maps {\n data {\n maps\n }\n }\n latitude\n longitude\n mapZoom\n totalArea\n uplandArea\n marineArea\n establishedDate\n marineProtectedArea\n seo {\n metaDescription\n metaKeywords\n metaTitle\n }\n parkActivities {\n isActive\n isActivityOpen\n hideStandardCallout\n description {\n data\n }\n activityType {\n activityName\n activityCode\n isActive\n icon\n iconNA\n rank\n defaultDescription {\n data\n }\n appendStandardCalloutText {\n data\n }\n }\n }\n parkFacilities {\n isActive\n isFacilityOpen\n hideStandardCallout\n description {\n data\n }\n facilityType {\n facilityCode\n }\n }\n parkCampingTypes {\n isActive\n isCampingOpen\n hideStandardCallout\n description {\n data\n }\n campingType {\n campingTypeCode\n }\n }\n parkGuidelines {\n isActive\n rank\n title\n description {\n data {\n description\n }\n }\n guidelineType {\n icon\n hasTrailReport\n defaultRank\n defaultTitle\n defaultDescription {\n data {\n defaultDescription \n }\n }\n }\n }\n parkOperation {\n isActive\n hasReservations\n hasBackcountryReservations\n hasBackcountryPermits\n hasDayUsePass\n hasFirstComeFirstServed\n reservationUrl\n dayUsePassUrl\n frontcountryReservationUrl\n frontcountryGroupReservationUrl\n frontcountryCabinReservationUrl\n backcountryReservationUrl\n backcountryPermitUrl\n backcountryGroupReservationUrl\n backcountryWildernessReservationUrl\n backcountryShelterReservationUrl\n canoeCircuitReservationUrl\n groupPicnicReservationUrl\n hasParkGate\n offSeasonUse\n openNote {\n data {\n openNote\n }\n }\n gateOpenTime\n gateCloseTime\n gateOpensAtDawn\n gateClosesAtDusk\n gateOpen24Hours\n hasGroupPicnicReservations\n hasCanoeCircuitReservations\n hasFrontcountryReservations\n hasFrontcountryGroupReservations\n hasFrontcountryCabinReservations\n hasBackcountryGroupReservations\n hasBackcountryShelterReservations\n hasBackcountryWildernessReservations\n customReservationLinks {\n content {\n data {\n content\n }\n }\n }\n }\n parkOperationSubAreas {\n parkSubArea\n orcsSiteNumber\n isActive\n isOpen\n hasReservations\n hasBackcountryReservations\n hasBackcountryPermits\n hasFirstComeFirstServed\n parkAccessUnitId\n isCleanAirSite\n totalCapacity\n frontcountrySites\n reservableSites\n nonReservableSites\n vehicleSites\n vehicleSitesReservable\n doubleSites\n pullThroughSites\n rvSites\n rvSitesReservable\n electrifiedSites\n longStaySites\n walkInSites\n walkInSitesReservable\n groupSites\n groupSitesReservable\n backcountrySites\n wildernessSites\n boatAccessSites\n horseSites\n cabins\n huts\n yurts\n shelters\n boatLaunches\n serviceNote {\n data {\n serviceNote\n }\n }\n reservationNote {\n data {\n reservationNote\n }\n }\n offSeasonNote {\n data {\n offSeasonNote\n }\n }\n closureAffectsAccessStatus\n parkOperationSubAreaDates {\n isActive\n operatingYear\n openDate\n closeDate\n serviceStartDate\n serviceEndDate\n reservationStartDate\n reservationEndDate\n offSeasonStartDate\n offSeasonEndDate\n }\n parkSubAreaType {\n subAreaType\n subAreaTypeCode\n closureAffectsAccessStatus\n facilityType {\n facilityCode\n }\n campingType {\n campingTypeCode\n }\n }\n }\n parkOperationDates {\n operatingYear\n gateOpenDate\n gateCloseDate\n }\n biogeoclimaticZones {\n zone\n }\n marineEcosections {\n marineEcosection\n }\n terrestrialEcosections {\n terrestrialEcosection\n }\n nearbyParks {\n orcs\n slug\n protectedAreaName\n parkPhotos {\n isActive\n isFeatured\n sortOrder\n imageUrl\n }\n parkActivities {\n isActive\n activityType {\n activityNumber\n activityCode\n isActive\n }\n }\n parkFacilities {\n isActive\n facilityType {\n facilityNumber\n facilityCode\n isActive\n }\n }\n parkCampingTypes {\n isActive\n campingType {\n campingTypeNumber\n campingTypeCode\n isActive\n }\n }\n }\n managementAreas {\n searchArea {\n searchAreaName\n }\n }\n trailReports {\n title\n reportUrl\n reportDate\n }\n parkContacts {\n rank\n isActive\n title\n description {\n data {\n description\n }\n }\n contactInformation {\n contactType\n contactText\n contactUrl\n }\n parkOperatorContact {\n facilityOperatorName\n defaultTitle\n defaultDescription {\n data {\n defaultDescription\n }\n }\n defaultContactInformation {\n contactType\n contactText\n contactUrl\n }\n }\n }\n }\n featuredPhotos: allStrapiParkPhoto(\n filter: {\n orcs: {eq: $orcs},\n isFeatured: {eq: true},\n isActive: {eq: true}\n }\n sort: [\n {sortOrder: ASC},\n {dateTaken: DESC},\n {strapi_id: DESC}\n ]\n ) {\n nodes {\n imageUrl\n caption {\n data {\n caption\n }\n }\n photographer\n showPhotoCredit\n }\n }\n regularPhotos: allStrapiParkPhoto(\n filter: {\n orcs: {eq: $orcs},\n isFeatured: {ne: true},\n isActive: {eq: true}\n }\n sort: [\n {sortOrder: ASC},\n {dateTaken: DESC},\n {strapi_id: DESC}\n ]\n ) {\n nodes {\n imageUrl\n caption {\n data {\n caption\n }\n }\n photographer\n showPhotoCredit\n }\n }\n allStrapiCampingType {\n nodes {\n appendStandardCalloutText {\n data {\n appendStandardCalloutText\n }\n }\n defaultDescription {\n data {\n defaultDescription\n }\n }\n campingTypeCode\n campingTypeName\n icon\n isActive\n rank\n pluralName\n }\n }\n allStrapiFacilityType {\n nodes {\n appendStandardCalloutText {\n data {\n appendStandardCalloutText\n }\n }\n defaultDescription {\n data {\n defaultDescription\n }\n }\n facilityCode\n facilityName\n icon\n isActive\n rank\n }\n }\n allStrapiMenu(\n sort: {order: ASC},\n filter: {show: {eq: true}}\n ) {\n nodes {\n strapi_id\n title\n url\n order\n id\n show\n strapi_children {\n id\n title\n url\n order\n show\n }\n strapi_parent {\n id\n title\n }\n }\n }\n site {\n siteMetadata {\n apiURL\n }\n }\n }\n`\n","import * as React from 'react';\n\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid elements\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n */\nfunction map(children, func) {\n let index = 0;\n return React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) ? func(child, index++) : child);\n}\n\n/**\n * Iterates through children that are \"valid elements\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n */\nfunction forEach(children, func) {\n let index = 0;\n React.Children.forEach(children, child => {\n if ( /*#__PURE__*/React.isValidElement(child)) func(child, index++);\n });\n}\n\n/**\n * Finds whether a component's `children` prop includes a React element of the\n * specified type.\n */\nfunction hasChildOfType(children, type) {\n return React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && child.type === type);\n}\nexport { map, forEach, hasChildOfType };"],"names":["value","ref","useRef","useEffect","current","useEventCallback","fn","useCallback","apply","arguments","MAX_DELAY_MS","Math","pow","setChainedTimeout","handleRef","timeoutAtMs","delayMs","Date","now","setTimeout","useTimeout","isMounted","mounted","useMounted","useWillUnmount","clearTimeout","useMemo","clear","set","valueRef","onUnmount","AccordionList","_ref","eventKey","data","openAccordions","toggleAccordion","React","Accordion","className","CustomToggle","toggleId","code","ariaControls","title","handleClick","HtmlContent","FontAwesomeIcon","icon","faChevronUp","faChevronDown","Collapse","in","isNullOrWhiteSpace","description","About","_ref2","parkType","conservation","culturalHeritage","history","wildlife","biogeoclimaticZones","terrestrialEcosections","marineEcosections","dataList","filter","hash","setHash","useState","setOpenAccordions","index","accordionName","prev","trackSnowplowEvent","allExpanded","length","Object","keys","values","every","isOpen","checkHash","h","idx","window","location","undefined","forEach","addEventListener","e","id","href","map","bioZone","key","zone","terreSection","terrestrialEcosection","marineSection","marineEcosection","Row","Col","onClick","toggleExpandAll","newExpandAll","newOpenAccordions","reduce","acc","_","toString","getPrefix","contactType","getIcon","ParkContact","_parkOperatorContact$","_parkOperatorContact$2","_parkOperatorContact$3","_parkOperatorContact$4","_parkOperatorContact$5","contact","parkOperatorContact","links","contactInformation","defaultContactInformation","scope","defaultTitle","defaultDescription","link","FontAwesome","contactUrl","contactText","Contact","parkContacts","operations","sortedContacts","isActive","sort","a","b","rank","hasAnyReservations","hasCanoeCircuitReservations","hasGroupPicnicReservations","hasFrontcountryReservations","hasFrontcountryGroupReservations","hasFrontcountryCabinReservations","hasBackcountryReservations","hasBackcountryGroupReservations","hasBackcountryShelterReservations","hasBackcountryWildernessReservations","Container","bsPrefix","fluid","as","Component","props","prefix","suffix","displayName","_park$parkFacilities","_park$parkCampingType","_park$parkActivities","park","photos","parkPhotos","p","isFeatured","sortOrder","slice","setIndex","isTabFocused","setIsTabFocused","errorStates","setErrorStates","Array","fill","facilities","activities","campings","parkFacilities","f","_f$facilityType","facilityType","facilityCode","num","facilityNumber","parkCampingTypes","ct","_ct$campingType","campingType","campingTypeCode","campingTypeNumber","parkActivities","_a$activityType","activityType","activityCode","activityNumber","alt","src","parksLogo","addSmallImagePrefix","imageUrl","onError","handleImgError","Carousel","fade","interval","nextIcon","faCircleChevronRight","prevIcon","faCircleChevronLeft","onSelect","handleSelect","selectedIndex","activeIndex","item","Item","tabIndex","onFocus","onBlur","onKeyDown","handleKeyDown","oldIndex","Link","to","slug","protectedAreaName","FeatureIcons","page","iconSize","parks","xs","lg","NearbyPark","Reconciliation","SpecialNote","specialNotes","ParkTemplate","_park$type$toLowerCas","_park$nearbyParks","_park$parkGuidelines","_managementAreas$","_data$allStrapiMenu","_park$parkOperation","apiBaseUrl","site","siteMetadata","apiURL","strapiProtectedArea","type","toLowerCase","parkOperation","concat","_toConsumableArray","featuredPhotos","nodes","regularPhotos","safetyInfo","locationNotes","reconciliationNotes","maps","parkContact","hasNearbyParks","nearbyParks","hasParkGuidelines","parkGuidelines","searchArea","managementAreas","activeActivities","_sortBy","activity","_activity$activityTyp","subAreas","preProcessSubAreas","parkOperationSubAreas","activeFacilities","combineFacilities","allStrapiFacilityType","activeCampings","combineCampingTypes","allStrapiCampingType","hasReservations","hasDayUsePass","menuContent","allStrapiMenu","advisoryLoadError","setAdvisoryLoadError","isLoadingAdvisories","setIsLoadingAdvisories","advisories","setAdvisories","protectedAreaLoadError","setProtectedAreaLoadError","isLoadingProtectedArea","setIsLoadingProtectedArea","hasCampfireBan","setHasCampfireBan","parkAccessStatus","setParkAccessStatus","addedSeasonalAdvisory","setAddedSeasonalAdvisory","loadAdvisories","orcs","then","response","status","finally","axios","replace","element","document","getElementById","querySelector","scrollIntoView","behavior","block","parkOverviewRef","knowBeforeRef","mapLocationRef","campingRef","activityRef","facilityRef","aboutRef","reconciliationRef","contactRef","sectionRefs","activeSection","useScrollSpy","sectionElementRefs","defaultValue","offsetPx","menuItems","sectionIndex","display","visible","parkName","some","_a$accessStatus","accessStatus","hidesSeasonalAdvisory","mainGateClosure","push","WINTER_FULL_PARK_ADVISORY","areaClosure","WINTER_SUB_AREA_ADVISORY","breadcrumbs","GatsbyLink","sessionStorage","getItem","includes","preventDefault","navigate","Header","mode","content","Breadcrumbs","ParkHeader","mapZoom","latitude","longitude","operationDates","parkOperationDates","onStatusCalculated","statusObj","ParkPhotoGallery","PageMenu","pageSections","menuStyle","ParkOverview","role","AdvisoryDetails","VisitorGuidelines","guidelines","trailReports","SafetyInfo","md","VisitResponsibly","marineProtectedArea","ReservationsRequired","MapLocation","CampingDetails","reservations","ParkActivity","hasDiscoverParksLink","ParkFacility","groupPicnicReservationUrl","NearbyParks","ScrollToTop","Footer","Head","_photos$","seo","parkDescription","parkDescriptionShort","_truncate","photoUrl","Seo","metaTitle","metaDescription","keywords","metaKeywords","image","children","func","child","hasChildOfType","toArray"],"sourceRoot":""}