{"version":3,"sources":["webpack:///./src/components/Banner/index.js","webpack:///./src/utils/index.js","webpack:///./src/components/TourCards/index.js","webpack:///./src/components/PhoneContactBlock/styles.module.scss","webpack:///./src/components/PageTitle/index.js","webpack:///./src/components/BookContact/styles.module.scss","webpack:///./src/templates/Destination/index.js","webpack:///./src/components/PageTitle/styles.module.scss","webpack:///./src/components/Seo/index.js","webpack:///./src/components/Banner/styles.module.scss","webpack:///./src/components/BookContact/index.js","webpack:///./src/components/CardLabel/styles.module.scss","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./src/templates/Destination/styles.module.scss","webpack:///./src/components/PhoneContactBlock/index.js","webpack:///./src/components/TourCards/styles.module.scss","webpack:///./src/utils/constants.js"],"names":["Banner","className","children","cx","styles","banner","style","maxWidth","Icon","props","icon","Title","title","Button","button","Text","text","moment","tz","setDefault","FaRegClock","FaRegEye","FaRegSun","FaCar","FaRegCheck","FaTimes","FaRegCommentDots","FaAccessibleIcon","FaRegCheckCircle","FaRegTimesCircle","FaUtensils","FaBus","FaShip","FaPlane","FaShuttleVan","FaCamera","FaRegMap","FaRegFlag","FaRegThumbsUp","FaMapMarkerAlt","FaClock","FaTag","FaThumbsUp","FaCheck","useWindowSize","isClient","window","getSize","React","useCallback","ev","dimensions","width","innerWidth","undefined","height","innerHeight","isMobile","BREAKPOINTS","TABLET","isTablet","DESKTOP","isDesktop","useState","windowSize","setWindowSize","useEffect","handleResize","addEventListener","removeEventListener","scrollToTarget","selector","offsetTop","element","document","querySelector","bodyRect","body","getBoundingClientRect","top","offsetPosition","scrollTo","behavior","useLazyQuery","query","client","useApolloClient","variables","isJwtExpired","token","isExpired","atob","exp","JSON","parse","split","Math","floor","Date","getTime","ex","console","error","aggregateAdultPrices","getTourPricing","numberOfAdults","filter","i","passengerType","map","availability","price","Array","keys","flat","sort","a","b","_i","idx","ListIcon","listIcon","fontSize","TourCards","aside","showArrows","scrollableRef","useRef","cardRef","cardSize","setCardSize","marginRight","getComputedStyle","current","getPropertyValue","clientWidth","parseInt","cards","btn","btnLeft","onClick","scrollLeft","max","btnIcon","btnRight","ref","scrollable","Children","child","type","Card","forwardRef","overview","stamp","url","image","departure","duration","features","combo","card","Link","to","imgWrapper","imageCol","cardStamp","fluid","cardImage","headingWrapper","cardHeading","Typography","tourTitle","variant","component","tourTitleLink","list","teal","hours","minutes","feature","key","priceSummary","CardWp","acf","card_features","card_image","card_label_color","card_label_text","card_overview","card_stamp","tour_duration_hours","tour_duration_minutes","is_combo","rest","label","color","localFile","childImageSharp","card_feature","module","exports","PageTitle","isDestination","spacer","titleContainer","TourCard","Destination","data","pageContext","siteMetadata","content","desktop_image","related_tours","yoast_meta","meta","containerSmallNoGutter","heroImage","containerListing","html","tour","SEO","is404","yoast_wpseo_title","yoast_wpseo_metadesc","yoast_wpseo_facebook_title","yoast_wpseo_canonical","yoast_wpseo_facebook_description","yoast_wpseo_facebook_image","yoast_wpseo_facebook_type","yoast_wpseo_twitter_title","yoast_wpseo_twitter_description","yoast_wpseo_twitter_image","yoast_wpseo_website_name","yoast_wpseo_social_url","yoast_wpseo_company_or_person","yoast_wpseo_person_name","yoast_wpseo_company_name","yoast_wpseo_company_logo","yoast_wpseo_social_defaults","opengraph","facebook_site","og_default_image","twitter","og_frontpage_image","twitter_card_type","twitter_site","yoast_schema","location","name","property","siteUrl","pathname","stringify","BookContact","big","bookContact","bookContactIcon","href","bookContactLink","createHTML","this","PhoneContactBlock","wrap","phone","phoneLink"],"mappings":"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","file":"component---src-templates-destination-index-js-81befa1ca4df81f1d9a9.js","sourcesContent":["import React from 'react'\nimport cx from 'utils/classnames'\nimport {\n Container\n} from 'react-bootstrap'\nimport Icon from 'entrada-ui/Icon'\nimport Link from 'components/Link'\nimport styles from './styles.module.scss'\n\nconst Banner = ({\n className,\n children\n}) => (\n
\n \n {children}\n \n
\n)\n\nBanner.Icon = ({ className, children, ...props }) => (\n {children}\n)\n\nBanner.Title = ({ children, ...props }) =>

{children}

\nBanner.Button = ({ children, ...props }) => (\n \n {children}\n \n)\n\nBanner.Text = ({ children, ...props }) =>
{children}
\n\nexport default Banner\n","import React from 'react'\nimport { BREAKPOINTS } from 'utils/constants'\nimport {\n useApolloClient,\n} from '@apollo/react-hooks'\n\nimport {\n FaAccessibleIcon,\n FaRegEye,\n FaCar,\n FaCheck,\n FaRegCheck,\n // FaClock,\n // FaMapMarker,\n FaRegClock,\n FaRegCommentDots,\n // FaShareAlt,\n // FaTag,\n FaRegSun,\n // FaThumbsUp,\n FaTimes,\n FaRegCheckCircle,\n FaRegTimesCircle,\n FaUtensils,\n FaBus,\n FaShip,\n FaPlane,\n FaShuttleVan,\n FaCamera,\n FaRegMap,\n FaRegFlag,\n FaRegThumbsUp,\n FaMapMarkerAlt,\n FaClock,\n FaTag,\n FaThumbsUp,\n} from 'react-icons/fa'\n\nimport moment from 'moment-timezone'\nmoment.tz.setDefault(\"Pacific/Auckland\");\n\nconst subsetMapIcons = {\n 'far fa-clock': FaRegClock,\n 'far fa-eye': FaRegEye,\n 'far fa-sun': FaRegSun,\n 'far fa-car': FaCar,\n 'far fa-check': FaRegCheck,\n 'far fa-times': FaTimes,\n 'far fa-reg-comment-dots': FaRegCommentDots,\n 'far fa-accessible-icon': FaAccessibleIcon,\n 'far fa-check-circle': FaRegCheckCircle,\n 'far fa-times-circle': FaRegTimesCircle,\n 'fas fa-utensils': FaUtensils,\n 'fas fa-bus': FaBus,\n 'fas fa-ship': FaShip,\n 'fas fa-plane': FaPlane,\n 'fas fa-shuttle-van': FaShuttleVan,\n 'fas fa-camera': FaCamera,\n 'far fa-map': FaRegMap,\n 'far fa-flag': FaRegFlag,\n 'far fa-thumbs-up': FaRegThumbsUp,\n 'fas fa-map-marker-alt': FaMapMarkerAlt,\n 'fas fa-clock': FaClock,\n 'fas fa-tag': FaTag,\n 'fas fa-thumbs-up': FaThumbsUp,\n 'fas fa-check': FaCheck,\n 'fas fa-times': FaTimes,\n}\n\nconst StringToIcon = ({ icon, ...props}) => {\n const CustomIcon = subsetMapIcons[icon]\n\n if (!CustomIcon) {\n return `missing ${icon}`\n }\n\n return \n}\n\nconst useWindowSize = () => {\n const isClient = typeof window === 'object'\n\n const getSize = React.useCallback((ev) => {\n const dimensions = {\n width: isClient ? window.innerWidth : undefined,\n height: isClient ? window.innerHeight : undefined\n }\n\n return {\n ...dimensions,\n isMobile: isClient ? dimensions.width < BREAKPOINTS.TABLET : false,\n isTablet: isClient ? (dimensions.width >= BREAKPOINTS.TABLET && dimensions.width < BREAKPOINTS.DESKTOP) : false,\n isDesktop: isClient ? dimensions.width >= BREAKPOINTS.DESKTOP : false\n };\n }, [isClient])\n\n const [windowSize, setWindowSize] = React.useState(getSize)\n\n React.useEffect(() => {\n if (!isClient) {\n return false\n }\n\n function handleResize() {\n setWindowSize(getSize())\n }\n\n window.addEventListener('resize', handleResize)\n return () => window.removeEventListener('resize', handleResize)\n }, [getSize, isClient])\n\n return windowSize\n}\n\nconst scrollToTarget = (selector, { offsetTop = 0 }) => {\n const element = typeof window !== 'undefined' ? document.querySelector(selector) : null\n if(element) {\n const bodyRect = document.body.getBoundingClientRect().top\n const elementRect = element.getBoundingClientRect().top\n const elementPosition = elementRect - bodyRect\n const offsetPosition = elementPosition - offsetTop\n\n window.scrollTo({\n top: offsetPosition,\n behavior: 'smooth'\n })\n }\n}\n\nconst useLazyQuery = (query) => {\n const client = useApolloClient()\n\n return React.useCallback((variables) => client.query({\n query: query,\n variables: variables,\n }), [query, client])\n}\n\nconst isJwtExpired = (token) => {\n let isExpired = false\n const hasAtob = typeof window !== 'undefined' && window.atob\n\n if (hasAtob) {\n try {\n const exp = (JSON.parse(window.atob(token.split('.')[1]))).exp\n isExpired = Math.floor((new Date).getTime() / 1000) >= exp\n\n } catch (ex){\n console.error(`Cannot parse jwt token: ${token}`, ex)\n }\n } \n return isExpired\n}\n\nconst aggregateAdultPrices = (getTourPricing, numberOfAdults) => {\n // return an array of variable pricing based on number of adults\n return getTourPricing\n .filter(i => i.passengerType === 'ADULT')\n .map(({availability, price}) => {\n return [...Array(availability).keys()].map(() => price)\n })\n .flat()\n .sort((a, b) => a - b)\n .filter((_i, idx) => idx < numberOfAdults) \n}\n\nexport {\n StringToIcon,\n useWindowSize,\n scrollToTarget,\n useLazyQuery,\n isJwtExpired,\n aggregateAdultPrices\n}\n","import React from \"react\"\nimport Img from \"gatsby-image\"\nimport cx from \"utils/classnames\"\nimport { map } from \"lodash-es\"\nimport { FaClock, FaCheck, FaArrowLeft, FaArrowRight } from \"react-icons/fa\"\nimport Icon from \"entrada-ui/Icon\"\nimport Typography from 'entrada-ui/Typography'\nimport CardLabel from \"components/CardLabel\"\nimport Link from \"components/Link\"\nimport {\n useWindowSize,\n} from 'utils'\nimport styles from \"./styles.module.scss\"\n\nconst ListIcon = ({ children }) => (\n \n {children}\n \n)\n\nconst TourCards = ({\n aside,\n showArrows = true,\n children\n}) => {\n const wSize = useWindowSize()\n const scrollableRef = React.useRef(null)\n const cardRef = React.useRef(null)\n\n const [cardSize, setCardSize] = React.useState(0)\n\n const onClickLeft = ev => {\n scrollableRef.current.scrollLeft = Math.max(\n scrollableRef.current.scrollLeft - cardSize,\n 0\n )\n }\n\n const onClickRight = ev => {\n scrollableRef.current.scrollLeft += cardSize\n }\n\n React.useEffect(() => {\n if (cardRef) {\n const cardStyle = window.getComputedStyle(cardRef.current)\n const marginRight = cardStyle.getPropertyValue(\"margin-right\")\n\n setCardSize(cardRef.current.clientWidth + parseInt(marginRight))\n }\n }, [cardRef])\n\n return (\n
\n {showArrows && !aside && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n )}\n
\n {React.Children.map(children, (child, idx) => (\n \n ))}\n
\n
\n )\n}\n\nTourCards.Card = React.forwardRef(function TourCardsCard(props, ref) {\n const {\n className,\n title,\n overview,\n stamp,\n url,\n image,\n departure,\n duration,\n features,\n price,\n combo,\n aside = false,\n } = props\n\n return (\n
\n \n
\n {stamp &&
{stamp}
}\n \n
\n \n
\n
\n From {departure}\n
\n
\n
\n \n {title}\n \n
\n {/*
\n {departure && (\n
\n From {departure}\n
\n )}\n

\n {title}\n

\n
*/}\n \n {aside &&
{overview}
}\n \n
    \n
  • \n {duration && (\n <>\n \n \n \n { combo ? \n 'Two-day tour combo' : \n `${duration.hours} hours` + (duration.minutes != (null || 0) ? `, ${duration.minutes} minutes` : '')\n }\n \n )}\n
  • \n \n {map(features, (feature, idx) => (\n
  • \n \n \n \n {feature}\n
  • \n ))}\n
\n \n
\n From
${price} NZD
\n
\n
\n
\n
\n )\n})\n\nTourCards.CardWp = React.forwardRef(function TourCardsCardWp(props, ref) {\n const {\n url,\n title,\n acf: {\n price,\n card_features,\n card_image,\n card_label_color,\n card_label_text,\n card_overview,\n card_stamp,\n departure,\n tour_duration_hours,\n tour_duration_minutes,\n is_combo\n },\n ...rest\n } = props\n\n\n return (\n feature.card_feature)}\n price={price}\n />\n )\n})\n\nexport default TourCards\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrap\":\"V_dz\",\"phone\":\"V_dB\",\"phone-link\":\"V_dC\",\"phoneLink\":\"V_dC\"};","import React from 'react'\nimport { Container } from 'react-bootstrap'\nimport Typography from 'entrada-ui/Typography'\nimport styles from './styles.module.scss'\n\nconst PageTitle = ({ \n title, \n isDestination = false\n}) => {\n return (\n // If compontent isDestination, wrap the title as \"Awesome {Hobbiton} Tours\"\n <>\n
\n \n \n { isDestination ? `Awesome ${title} Tours` : title }\n \n \n \n )\n}\n\nexport default PageTitle\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"book-contact\":\"r_b6\",\"bookContact\":\"r_b6\",\"book-contact-icon\":\"r_b7\",\"bookContactIcon\":\"r_b7\",\"book-contact-link\":\"r_b8\",\"bookContactLink\":\"r_b8\"};","import React from 'react'\nimport Img from \"gatsby-image\"\nimport { map } from 'lodash-es'\nimport { FaClock } from 'react-icons/fa'\nimport {\n Container,\n} from 'react-bootstrap'\nimport Alert from 'react-bootstrap/Alert'\nimport RawHtml from 'entrada-ui/RawHtml'\nimport Banner from 'components/Banner'\nimport BookContact from 'components/BookContact'\nimport Link from 'components/Link'\nimport TourCards from 'components/TourCards'\nimport Seo from 'components/Seo'\nimport PhoneContactBlock from 'components/PhoneContactBlock'\nimport PageTitle from 'components/PageTitle'\nimport styles from './styles.module.scss'\n\nimport { FIXED_FRAGMENT, FLUID_FRAGMENT } from 'utils/constants.js'\n\nconst TourCard = TourCards.CardWp\n\nconst Destination = ({ pageContext: { data } }) => {\n const {\n siteMetadata,\n title,\n content,\n acf: {\n desktop_image: {\n localFile: {\n childImageSharp: {\n fluid\n }\n }\n },\n related_tours\n },\n yoast_meta\n } = data\n\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {map(related_tours, (tour, idx) => (\n \n ))}\n \n\n \n\n \n\n \n )\n}\n\nexport default Destination\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"spacer\":\"W_dD\",\"title-container\":\"W_dF\",\"titleContainer\":\"W_dF\",\"title\":\"W_bx\"};","/**\n * SEO component that queries for data with\n * Gatsby's useStaticQuery React hook\n *\n * See: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Location } from \"@reach/router\"\nimport Helmet from \"react-helmet\"\nimport { find } from 'lodash-es'\n\nfunction SEO({\n is404 = false,\n siteMetadata,\n meta,\n}) {\n const {\n yoast_wpseo_title,\n yoast_wpseo_metadesc,\n yoast_wpseo_canonical,\n yoast_wpseo_facebook_title,\n yoast_wpseo_facebook_description,\n yoast_wpseo_facebook_type,\n yoast_wpseo_facebook_image,\n yoast_wpseo_twitter_title,\n yoast_wpseo_twitter_description,\n yoast_wpseo_twitter_image,\n yoast_wpseo_social_url,\n yoast_wpseo_company_or_person,\n yoast_wpseo_person_name,\n yoast_wpseo_company_name,\n yoast_wpseo_company_logo,\n yoast_wpseo_website_name,\n yoast_wpseo_social_defaults: {\n facebook_site,\n opengraph,\n og_default_image,\n og_frontpage_image,\n twitter,\n twitter_site,\n twitter_card_type\n },\n // This is a custom field that we added on functions.php\n yoast_schema\n } = meta\n\n return (\n \n {({ location }) => (\n \n {yoast_wpseo_title}\n\n {yoast_wpseo_metadesc &&\n \n }\n\n {/* Facebook */}\n\n \n \n\n {opengraph &&\n \n }\n\n {(yoast_wpseo_facebook_description || yoast_wpseo_metadesc) &&\n \n }\n\n \n\n {(yoast_wpseo_website_name || siteMetadata.title) &&\n \n }\n\n {(yoast_wpseo_facebook_image || og_default_image) &&\n \n }\n\n {/* Twitter */}\n\n {twitter &&\n \n }\n\n {yoast_wpseo_twitter_description &&\n \n }\n\n {twitter &&\n \n }\n\n {(yoast_wpseo_twitter_image || og_default_image) &&\n \n }\n\n\n \n \n )}\n \n )\n}\n\nexport default SEO\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"banner\":\"m_bR\",\"icon\":\"m_bS\",\"title\":\"m_bx\",\"text\":\"m_bT\",\"button\":\"m_bV\"};","import React from 'react'\nimport cx from 'classnames'\nimport { FaPhoneAlt } from 'react-icons/fa'\nimport Typography from 'entrada-ui/Typography'\nimport styles from './styles.module.scss'\n\nconst BookContact = ({ className, big = false }) => (\n
\n {big ?\n <>\n \n 0800 486 877\n \n \n :\n <>\n Book online or call: 0800 486 877\n \n\n }\n
\n)\n\nexport default BookContact\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"bk_cD\",\"text\":\"bk_bT\"};","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"j_b\",\"cards-heading\":\"j_c\",\"cardsHeading\":\"j_c\",\"alert\":\"j_d\",\"container-small-gutter\":\"j_f\",\"containerSmallGutter\":\"j_f\",\"hero-image\":\"j_g\",\"heroImage\":\"j_g\",\"container-small-no-gutter\":\"j_h\",\"containerSmallNoGutter\":\"j_h\",\"container-listing\":\"j_bj\",\"containerListing\":\"j_bj\"};","import React from 'react'\nimport Typography from 'entrada-ui/Typography'\nimport { FaPhoneAlt } from 'react-icons/fa'\nimport Link from 'components/Link'\nimport styles from './styles.module.scss'\n\nconst PhoneContactBlock = () => {\n \n return (\n
\n \n \n 0800 486 877\n \n\n \n Questions? Call us on our tollfree number and our friendly team can help.\n \n\n \n Get in touch\n \n
\n )\n}\n\nexport default PhoneContactBlock\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cards\":\"l_bp\",\"aside\":\"l_bq\",\"card-image\":\"l_br\",\"cardImage\":\"l_br\",\"scrollable\":\"l_bs\",\"card\":\"l_bt\",\"img-wrapper\":\"l_bv\",\"imgWrapper\":\"l_bv\",\"body\":\"l_j\",\"card-header\":\"l_bw\",\"cardHeader\":\"l_bw\",\"title\":\"l_bx\",\"departure\":\"l_by\",\"list\":\"l_J\",\"image-col\":\"l_bz\",\"imageCol\":\"l_bz\",\"price-summary\":\"l_bB\",\"priceSummary\":\"l_bB\",\"card-heading\":\"l_bC\",\"cardHeading\":\"l_bC\",\"tour-title\":\"l_bD\",\"tourTitle\":\"l_bD\",\"btn\":\"l_bF\",\"btn-left\":\"l_bG\",\"btnLeft\":\"l_bG\",\"btn-right\":\"l_bH\",\"btnRight\":\"l_bH\",\"btn-icon\":\"l_bJ\",\"btnIcon\":\"l_bJ\",\"card-stamp\":\"l_C\",\"cardStamp\":\"l_C\",\"overview\":\"l_bK\",\"list-icon\":\"l_bL\",\"listIcon\":\"l_bL\",\"price\":\"l_bM\",\"tour-title-link\":\"l_bN\",\"tourTitleLink\":\"l_bN\",\"teal\":\"l_bP\",\"heading-wrapper\":\"l_bQ\",\"headingWrapper\":\"l_bQ\"};","const HOME_URL = '/new-zealand-tours'\n\nconst BREAKPOINTS = {\n TABLET: 768,\n DESKTOP: 1024\n}\n\nexport {\n HOME_URL,\n BREAKPOINTS\n}\n"],"sourceRoot":""}