{"version":3,"sources":["webpack:///./src/templates/TourCombos/index.js","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/TourCombos/styles.module.scss","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/components/PhoneContactBlock/index.js","webpack:///./src/components/TourCards/styles.module.scss","webpack:///./src/utils/constants.js"],"names":["TourCard","TourCards","CardWp","Destination","data","pageContext","ToursWithCombos","TourCombos","siteMetadata","title","content","acf","fluid","featured_image","localFile","childImageSharp","sub_title","yoast_meta","meta","isDestination","className","styles","containerSmallNoGutter","heroImage","tourComboBody","html","aside","tour","idx","key","Banner","children","cx","banner","style","maxWidth","Icon","props","icon","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","ListIcon","listIcon","fontSize","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","cardImage","headingWrapper","cardHeading","Typography","tourTitle","variant","component","tourTitleLink","list","teal","hours","minutes","feature","priceSummary","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","card_feature","module","exports","PageTitle","spacer","titleContainer","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-tour-combos-index-js-7e9bf753dd18e0b322a3.js","sourcesContent":["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 ToursWithCombos,\n TourCombos: {\n siteMetadata,\n title,\n content,\n acf: {\n featured_image: {\n localFile: {\n childImageSharp: {\n fluid\n }\n }\n },\n sub_title\n },\n yoast_meta\n }\n } = data\n\n\n\n return (\n <>\n \n \n \n \n \n \n
\n \n

{sub_title}

\n \n \n \n {map(ToursWithCombos, (tour, idx) => {\n return ()\n }\n )}\n \n\n \n\n
\n
\n\n \n )\n}\n\n\nexport default Destination\n","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\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"b_b\",\"cards-heading\":\"b_c\",\"cardsHeading\":\"b_c\",\"alert\":\"b_d\",\"container-small-gutter\":\"b_f\",\"containerSmallGutter\":\"b_f\",\"hero-image\":\"b_g\",\"heroImage\":\"b_g\",\"container-small-no-gutter\":\"b_h\",\"containerSmallNoGutter\":\"b_h\"};","// 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","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":""}