{"version":3,"sources":["webpack:///./src/components/Footer.js","webpack:///./src/components/layout/layoutMain.js","webpack:///./src/components/common/Link.js","webpack:///./node_modules/lodash.throttle/index.js","webpack:///./src/constants/global.js","webpack:///./src/constants/homepage/global-navigation.js","webpack:///./src/components/Header.js"],"names":["Footer","currentYear","Date","getFullYear","React","createElement","Fragment","className","data-contentoffset","href","Svg","title","icon","aria-hidden","isLpgDemergerOn","target","Link","text","link","LiveChat","Layout","_ref","children","useStaticQuery","id","Hyperlink","props","linkSetup","linkClass","undefined","length","linkTarget","gatsbylink","to","Boolean","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","debounce","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","arguments","this","toNumber","isObject","cancel","clearTimeout","flush","value","type","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","isClientSideRendering","process","browser","window","JSON","parse","globalNavigation","getDeviceConfig","width","NavigationItem","data","index","hidingClass","iconClass","svgIcon","specialClass","submenuClass","activeSubMenuClass","handleDesktopSearchClick","e","currentTarget","childNodes","classList","contains","remove","add","handleDropdownSubmenuClick","preventDefault","thisTarget","thisTargetId","getAttribute","scope","closest","parentElement","nextElementSibling","subMenus","getElementsByClassName","subMenuButtons","i","setAttribute","hiddenByLpgDemerger","onClick","method","action","htmlFor","name","autoComplete","col","aria-controls","aria-expanded","Submenu","submenuData","submenu","_ref2","aria-labelledby","map","submenuIndex","key","Header","_ref3","useReactApi","point","useBreakpoint","brkPnt","setBrkPnt","useState","innerWidth","useEffect","calcInnerWidth","throttle","addEventListener","removeEventListener","mobileMenu","setMobileMenu","merGlobalNavRef","useRef","merGlobalNavMobileMenu","rawData","navigationLinksData","content","baseNavigation","filter","el","myAcct","closeMobileMenu","contentOffset","document","querySelectorAll","current","onerror","msg","url","line","column","error","console","log","message","filename","lineno","colno","handleClickOutside","event","activeSubMenus","activeSubMenuBtn","querySelector","useLayoutEffect","NoticeBar","data-version","data-slide","aria-label","offsets","ref","data-mer-global-nav","defaultProps","siteTitle"],"mappings":"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","file":"48ff9b23e86a18dec52f7474508f978baaf0a64d-59b673def53b32a4fd36.js","sourcesContent":["import React from 'react';\r\nimport Link from 'components/common/Link';\r\nimport { Svg, LiveChat } from 'kh-common-components';\r\nimport { isLpgDemergerOn } from 'constants/global';\r\n\r\nfunction Footer () {\r\n\r\n const currentYear = new Date().getFullYear();\r\n \r\n return (\r\n <>\r\n <footer className=\"mer mer-global-footer mer-theme--dark\" data-contentoffset=\"true\">\r\n <div className=\"container\">\r\n <div className=\"row align-items-center\">\r\n\r\n <div className=\"col-sm-12 col-md-6 mer-global-footer--contacts\">\r\n <h4 className=\"mer-global-footer--title\">Speak to us</h4>\r\n <p className=\"mer-global-footer--call\">\r\n <a href=\"tel:132180\">\r\n <Svg title=\"Phone\" \r\n icon=\"phone-fill\"\r\n aria-hidden=\"true\" />\r\n <span>13 21 80</span>\r\n </a>\r\n </p>\r\n <p className=\"mer-global-footer--cyan-highlight\">\r\n Monday to Friday: <time>8:00am</time> - <time>5:00pm</time> AWST\r\n </p>\r\n\r\n <div className=\"mer-global-footer--emergency\">\r\n <h4 className=\"mer-global-footer--title\">Emergency numbers</h4>\r\n <p className=\"mer-global-footer--cyan-highlight\"><strong>If a life or property is threatened, please call <a href=\"tel:000\" title=\"Call 000\">000</a></strong></p>\r\n <ul className=\"mer-global-footer--emergency-list\">\r\n <li>Electricity (Western Power) – \r\n <a href=\"tel:131351\">13 13 51</a>\r\n </li>\r\n <li>Natural Gas (ATCO Gas) – \r\n <a href=\"tel:131352\">13 13 52</a>\r\n </li>\r\n {!isLpgDemergerOn &&\r\n <li>LPG emergencies (Cylinders & Tanks) – \r\n <a href=\"tel:1800093336\">1800 093 336</a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div className=\"col-sm-12 col-md-6\">\r\n <div className=\"row justify-content-center\">\r\n <div className=\"col-12 text-center\">\r\n <a className=\"mer-global-footer--social-link\" href=\"https://www.facebook.com/kleenheat\" target=\"_blank\">\r\n <Svg title=\"Facebook\" \r\n icon=\"facebook-fill\"\r\n aria-hidden=\"true\" />\r\n <span className=\"mer-display--visual-hidden\">Find Kleenheat on Facebook</span>\r\n </a>\r\n <a className=\"mer-global-footer--social-link\" href=\"https://www.youtube.com/c/kleenheatgas\" target=\"_blank\">\r\n <Svg title=\"YouTube\" \r\n icon=\"youtube-fill\"\r\n aria-hidden=\"true\" />\r\n <span className=\"mer-display--visual-hidden\">Find Kleenheat on YouTube</span>\r\n </a>\r\n <a className=\"mer-global-footer--social-link\" href=\"https://instagram.com/kleenheat\" target=\"_blank\">\r\n <Svg title=\"Instagram\" \r\n icon=\"instagram-fill\"\r\n aria-hidden=\"true\" />\r\n <span className=\"mer-display--visual-hidden\">Find Kleenheat on Instagram</span>\r\n </a>\r\n </div>\r\n\r\n <div className=\"col-12 py-0\">\r\n <div className=\"row justify-content-center\">\r\n <div className=\"col-6 col-sm-4 col-md-5 col-lg-4 text-center\">\r\n <a href=\"/\" className=\"mer-global-footer--branding-link\">\r\n <Svg title=\"Kleenheat\" \r\n icon=\"kleenheat-logo\"\r\n aria-hidden=\"true\" />\r\n </a>\r\n\r\n </div>\r\n <div className=\"col-6 col-sm-4 col-md-5 col-lg-4 text-center\">\r\n <a href=\"https://www.wesfarmers.com.au\" className=\"mer-global-footer--branding-link\" target=\"_blank\">\r\n <Svg title=\"Wesfarmers\" \r\n icon=\"wesfarmers-logo\"\r\n aria-hidden=\"true\" />\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"mer-global-footer--terms\">\r\n <Link text=\"Terms of use\" \r\n link=\"/policies/terms-of-use\" />\r\n <Link text=\"Collection of Information Statement\" \r\n link=\"/policies/collection-of-information-statement\" />\r\n <Link text=\"Privacy Policy\" \r\n link=\"/policies/privacy-policy\" />\r\n </div>\r\n <span className=\"mer-global-footer--copyright\">© {currentYear} Kleenheat. All Rights Reserved.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n <LiveChat />\r\n </>\r\n );\r\n}\r\n\r\nexport default Footer;","/**\r\n * Layout component that queries for data\r\n * with Gatsby's useStaticQuery component\r\n *\r\n * See: https://www.gatsbyjs.org/docs/use-static-query/\r\n */\r\n\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useStaticQuery, graphql } from 'gatsby';\r\n\r\nconst Layout = ({ children }) => {\r\n const data = useStaticQuery(graphql`\r\n query SiteTitleQuery {\r\n site {\r\n siteMetadata {\r\n title\r\n }\r\n }\r\n }\r\n `);\r\n\r\n return (\r\n <>\r\n <main id=\"main-content\" className=\"mer\" data-contentoffset=\"true\">\r\n {children}\r\n </main>\r\n </>\r\n );\r\n};\r\n\r\nLayout.propTypes = {\r\n children: PropTypes.node.isRequired\r\n};\r\n\r\nexport default Layout;\r\n","import React from 'react';\r\nimport { Link } from 'gatsby';\r\n\r\nfunction Hyperlink (props) {\r\n\r\n let linkClass = props.linkClass !== undefined && props.linkClass !== null && props.linkClass.length > 0 ? props.linkClass : '';\r\n\r\n let linkTarget = props.linkTarget !== undefined && props.linkTarget !== null && props.linkTarget.length > 0 ? props.linkTarget : '';\r\n\r\n let linkSetup;\r\n\r\n if(props.gatsbylink) {\r\n linkSetup = (\r\n <Link to={props.link} title={props.text} className={linkClass}>\r\n {Boolean(props.children) ? props.children : props.text}\r\n </Link>\r\n )\r\n } else {\r\n linkSetup = (\r\n <a href={props.link} title={props.text} className={linkClass} target={linkTarget}>\r\n {Boolean(props.children) ? props.children : props.text}\r\n </a>\r\n )\r\n }\r\n\r\n return (\r\n linkSetup\r\n );\r\n}\r\n\r\nexport default Hyperlink;","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function () {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\nmodule.exports = throttle;","export const isClientSideRendering = process.browser && typeof window !== 'undefined';\r\n\r\nexport const isLpgDemergerOn = process.env.LPG_DEMERGER && process.env.LPG_DEMERGER !== undefined ? JSON.parse(process.env.LPG_DEMERGER) : false;\r\n","const globalNavigation = {\r\n \"content\": [\r\n {\r\n \"link\": \"/\",\r\n \"title\": \"Residential\",\r\n \"svgIcon\": \"house\",\r\n \"specialClass\": null,\r\n \"submenu\": [\r\n {\r\n \"link\": \"/sign-up\",\r\n \"title\": \"Sign up\"\r\n },\r\n {\r\n \"link\": \"/moving-house\",\r\n \"title\": \"Moving house\"\r\n },\r\n {\r\n \"link\": \"/natural-gas\",\r\n \"title\": \"Natural Gas\"\r\n },\r\n {\r\n \"link\": \"/lpg\",\r\n \"title\": \"LPG Cylinders\",\r\n \"hiddenByLpgDemerger\": true\r\n },\r\n {\r\n \"link\": \"/kwik-gas\",\r\n \"title\": \"Kwik-Gas\",\r\n \"hiddenByLpgDemerger\": true\r\n }\r\n ]\r\n },\r\n {\r\n \"link\": \"/business\",\r\n \"title\": \"Business\",\r\n \"svgIcon\": \"store\",\r\n \"specialClass\": null,\r\n \"submenu\": [\r\n {\r\n \"link\": \"/business/get-a-quote\",\r\n \"title\": \"Request a quote\"\r\n },\r\n {\r\n \"link\": \"/business/natural-gas\",\r\n \"title\": \"Natural Gas\"\r\n },\r\n {\r\n \"link\": \"/business/electricity\",\r\n \"title\": \"Electricity\"\r\n },\r\n {\r\n \"link\": \"/business/lpg\",\r\n \"title\": \"LPG Cylinders\",\r\n \"hiddenByLpgDemerger\": true\r\n },\r\n {\r\n \"link\": \"/transport/lng\",\r\n \"title\": \"Liquefied Natural Gas\",\r\n \"hiddenByLpgDemerger\": true\r\n },\r\n {\r\n \"link\": \"/business/specialty-gases\",\r\n \"title\": \"Specialty Gas\",\r\n \"hiddenByLpgDemerger\": true\r\n }\r\n ]\r\n },\r\n {\r\n \"link\": \"/about\",\r\n \"title\": \"About\",\r\n \"svgIcon\": null,\r\n \"specialClass\": \"mer-global-nav__menu-item--shunt-right\",\r\n \"submenu\": [\r\n {\r\n \"link\": \"/about\",\r\n \"title\": \"Our story\"\r\n },\r\n {\r\n \"link\": \"/about/people\",\r\n \"title\": \"Our people\"\r\n },\r\n {\r\n \"link\": \"/blog\",\r\n \"title\": \"Our blog\"\r\n },\r\n {\r\n \"link\": \"/about/community\",\r\n \"title\": \"Community\"\r\n },\r\n {\r\n \"link\": \"/about/carbon-offset\",\r\n \"title\": \"Carbon offsets\"\r\n },\r\n {\r\n \"link\": \"/about/media-releases\",\r\n \"title\": \"Media releases\"\r\n }\r\n ]\r\n },\r\n {\r\n \"link\": \"/locations\",\r\n \"title\": \"Locations\",\r\n \"svgIcon\": null,\r\n \"specialClass\": null,\r\n \"hiddenByLpgDemerger\": true\r\n },\r\n {\r\n \"link\": \"/help\",\r\n \"title\": \"Help\",\r\n \"svgIcon\": null,\r\n \"specialClass\": null,\r\n \"submenu\": [\r\n {\r\n \"link\": \"/help\",\r\n \"title\": \"Help Centre\"\r\n },\r\n {\r\n \"link\": \"/safety\",\r\n \"title\": \"Safety\"\r\n },\r\n {\r\n \"link\": \"/hardship\",\r\n \"title\": \"Hardship support\"\r\n },\r\n {\r\n \"link\": \"/help/policies/family-domestic-violence-support\",\r\n \"title\": \"Family and domestic violence support\"\r\n }\r\n ]\r\n },\r\n {\r\n \"link\": \"/contact\",\r\n \"title\": \"Contact\",\r\n \"svgIcon\": null,\r\n \"specialClass\": null\r\n },\r\n {\r\n \"link\": \"tel:132180\",\r\n \"title\": \"13 21 80 \",\r\n \"svgIcon\": \"phone-fill\",\r\n \"specialClass\": \"call\"\r\n },\r\n {\r\n \"link\": null,\r\n \"title\": \"Search\",\r\n \"svgIcon\": \"search\",\r\n \"specialClass\": \"search\"\r\n },\r\n {\r\n \"link\": \"/login\",\r\n \"title\": \"My Account\",\r\n \"svgIcon\": \"circle-user\",\r\n \"specialClass\": \"my-account\",\r\n \"submenuClass\": \"mer-global-nav__submenu--right\",\r\n \"submenu\": [\r\n {\r\n \"link\": \"/login\",\r\n \"title\": \"Login\"\r\n },\r\n {\r\n \"link\": \"/pay-online\",\r\n \"title\": \"Pay a bill\"\r\n },\r\n {\r\n \"link\": \"/lpg/order-online\",\r\n \"title\": \"Order cylinders\",\r\n \"hiddenByLpgDemerger\": true\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n\r\nexport default globalNavigation","import React, { useState, useEffect, useRef, useLayoutEffect } from 'react';\r\nimport throttle from 'lodash.throttle';\r\nimport Link from 'components/common/Link';\r\nimport { Svg, NoticeBar } from 'kh-common-components';\r\nimport navigationLinksData from 'constants/homepage/global-navigation';\r\nimport { isClientSideRendering, isLpgDemergerOn } from 'constants/global';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst getDeviceConfig = (width) => {\r\n if(width < 1024){\r\n return 'small';\r\n } else {\r\n return 'large';\r\n }\r\n};\r\n\r\nconst useBreakpoint = () => {\r\n const [brkPnt, setBrkPnt] = useState(() => isClientSideRendering ? getDeviceConfig(window.innerWidth) : null);\r\n \r\n useEffect(() => {\r\n \r\n const calcInnerWidth = throttle(function() {\r\n setBrkPnt(getDeviceConfig(window.innerWidth))\r\n }, 200); \r\n window.addEventListener('resize', calcInnerWidth);\r\n return () => window.removeEventListener('resize', calcInnerWidth);\r\n }, []);\r\n \r\n return brkPnt;\r\n}\r\n\r\nconst NavigationItem = ({data, index, hidingClass}) => {\r\n\r\n const iconClass = data.svgIcon ? 'mer-global-nav__menu-item--icon' : '';\r\n const specialClass = data.specialClass ? data.specialClass : '';\r\n const submenuClass = data.submenuClass ? data.submenuClass : '';\r\n\r\n const activeSubMenuClass = 'mer-global-nav__submenu--isOpen';\r\n const desktopSearchClass = 'mer-global-nav__menu-link';\r\n\r\n const handleDesktopSearchClick = (e) => {\r\n \r\n let thisTarget = e.currentTarget;\r\n let target = e.target;\r\n let currentTarget = e.currentTarget.childNodes[1];\r\n\r\n if (target.classList.contains(desktopSearchClass)) {\r\n if (currentTarget.classList.contains(activeSubMenuClass)) {\r\n currentTarget.classList.remove(activeSubMenuClass);\r\n } else {\r\n currentTarget.classList.add(activeSubMenuClass);\r\n }\r\n }\r\n }\r\n\r\n const handleDropdownSubmenuClick = (e) => {\r\n\r\n e.preventDefault();\r\n\r\n let thisTarget = e.currentTarget;\r\n let thisTargetId = e.currentTarget.getAttribute('aria-controls');\r\n\r\n let scope = thisTarget.closest('[data-mer-global-nav=\"scope\"]');\r\n let target = thisTarget.parentElement.nextElementSibling;\r\n\r\n let subMenus = scope.getElementsByClassName('mer-global-nav__submenu');\r\n let subMenuButtons = scope.getElementsByClassName('mer-global-nav__accordion-button');\r\n\r\n // sub menus\r\n for (let i = 0; i < subMenus.length; i++) {\r\n if (subMenus[i].getAttribute('id') !== thisTargetId) {\r\n subMenus[i].classList.remove(activeSubMenuClass);\r\n }\r\n }\r\n\r\n // sub menu buttons\r\n for (let i = 0; i < subMenuButtons.length; i++) {\r\n if (subMenuButtons[i].getAttribute('id') !== thisTargetId) {\r\n subMenuButtons[i].setAttribute('aria-expanded', false);\r\n }\r\n }\r\n\r\n if (target.classList.contains(activeSubMenuClass)) {\r\n thisTarget.setAttribute('aria-expanded', false);\r\n target.classList.remove(activeSubMenuClass);\r\n } else {\r\n thisTarget.setAttribute('aria-expanded', true);\r\n target.classList.add(activeSubMenuClass);\r\n }\r\n }\r\n\r\n if (isLpgDemergerOn && data.hiddenByLpgDemerger !== undefined && data.hiddenByLpgDemerger === true) {\r\n return null;\r\n } else if (data.specialClass === 'search') {\r\n return (\r\n <li className={`mer-global-nav__menu-item ${iconClass} mer-global-nav__menu-item--search`} \r\n onClick={handleDesktopSearchClick} >\r\n <span className=\"mer-global-nav__menu-link\">\r\n <Svg title=\"Magnifying glass\" \r\n icon=\"search\"\r\n aria-hidden=\"true\" />\r\n Search\r\n </span>\r\n <ul className=\"mer-global-nav__submenu mer-global-nav__submenu--right\">\r\n <li className=\"mer-global-nav__submenu-item\">\r\n <form method=\"get\" action=\"/\">\r\n <div className=\"form-field\">\r\n <label className=\"mer-form__field-label\" htmlFor=\"global-nav-search-field\">\r\n Search\r\n </label>\r\n <div className=\"mer-form__field-action mer-form__field-action--flex\">\r\n <div className=\"mdc-text-field mdc-text-field--outlined mdc-text-field--no-label mer-flex--auto\">\r\n <input className=\"mdc-text-field__input\" id=\"global-nav-search-field\" name=\"s\" autoComplete=\"off\" />\r\n <div className=\"mdc-notched-outline mdc-notched-outline--no-label\">\r\n <div className=\"mdc-notched-outline__leading\"></div>\r\n <div className=\"mdc-notched-outline__trailing\"></div>\r\n </div>\r\n </div>\r\n <button className=\"mer-button mer-button--primary\">\r\n <Svg title=\"Magnifying glass\" \r\n icon=\"search\"\r\n col=\"mer-fill--gs-white mer-svg-container--size-xs\"\r\n aria-hidden=\"true\" />\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n </li>\r\n </ul>\r\n </li>\r\n )\r\n } else if(data.specialClass === 'call'){\r\n return (\r\n <li className=\"mer-global-nav__menu-item mer-global-nav__menu-item--call\">\r\n <a href={data.link} className=\"mer-global-nav__menu-link\">\r\n <Svg title=\"Phone ring\" \r\n icon={data.svgIcon}\r\n col=\"mer-svg-container--width-xs mer-svg-container--height-xs\"\r\n aria-hidden=\"true\" />\r\n {data.title}\r\n </a>\r\n </li>\r\n )\r\n } else if (data.specialClass === 'my-account') {\r\n return (\r\n <li className={`mer-global-nav__menu-item ${iconClass} mer-global-nav__menu-item--myAcct ${hidingClass}`}>\r\n <a href={data.link} className=\"mer-global-nav__menu-link\">\r\n <Svg title=\"User\"\r\n icon={data.svgIcon}\r\n aria-hidden=\"true\" />\r\n My Account\r\n <button className=\"mer-global-nav__accordion-button\" \r\n id={`global-nav-submenu-btn-${index}`} \r\n aria-controls={`global-nav-submenu-${index}`} \r\n aria-expanded=\"false\"\r\n onClick={handleDropdownSubmenuClick}>\r\n <Svg title=\"Chevron down\" \r\n icon=\"chevron-down\"\r\n col=\"mer-fill--primary-royal\"\r\n aria-hidden=\"true\" />\r\n </button>\r\n </a>\r\n <Submenu submenuData={data.submenu} submenuClass={submenuClass} index={index} />\r\n </li>\r\n )\r\n }\r\n else{\r\n\r\n return (\r\n <li className={`mer-global-nav__menu-item ${iconClass} ${specialClass}`}>\r\n <a href={data.link} className=\"mer-global-nav__menu-link\">\r\n\r\n {data.svgIcon &&\r\n <Svg title={data.svgIcon}\r\n icon={data.svgIcon}\r\n aria-hidden=\"true\" />\r\n }\r\n {data.title}\r\n\r\n {data.submenu &&\r\n <button className=\"mer-global-nav__accordion-button\" \r\n id={`global-nav-submenu-btn-${index}`} \r\n aria-controls={`global-nav-submenu-${index}`} \r\n aria-expanded=\"false\"\r\n onClick={handleDropdownSubmenuClick}>\r\n <Svg title=\"Chevron down\" \r\n icon=\"chevron-down\"\r\n col=\"mer-fill--primary-royal\"\r\n aria-hidden=\"true\" />\r\n </button>\r\n }\r\n\r\n </a>\r\n <Submenu submenuData={data.submenu} submenuClass={submenuClass} index={index} />\r\n </li>\r\n )\r\n }\r\n}\r\n\r\nconst Submenu = ({submenuData, index, submenuClass}) => {\r\n\r\n if(submenuData === undefined){\r\n return null\r\n }\r\n \r\n return (\r\n <ul className={`mer-global-nav__submenu ${submenuClass}`} \r\n id={`global-nav-submenu-${index}`} \r\n aria-labelledby={`global-nav-submenu-btn-${index}`}>\r\n {submenuData.map((data, submenuIndex) => {\r\n if (data == undefined || (isLpgDemergerOn && data.hiddenByLpgDemerger !== undefined && data.hiddenByLpgDemerger === true)) {\r\n return null;\r\n } else {\r\n return (\r\n <li className=\"mer-global-nav__submenu-item\" key={submenuIndex}>\r\n <Link text={data.title}\r\n linkClass=\"mer-global-nav__submenu-link\"\r\n link={data.link} />\r\n </li>\r\n );\r\n }\r\n })}\r\n </ul>\r\n \r\n );\r\n}\r\n\r\nconst Header = ({useReactApi}) => {\r\n\r\n const point = useBreakpoint(); \r\n const [mobileMenu, setMobileMenu] = useState(false);\r\n\r\n const activeClass = 'mer-global-nav--isOpen';\r\n const activeSubMenuClass = 'mer-global-nav__submenu--isOpen';\r\n const contentOffset = '[data-contentoffset=\"true\"]';\r\n const merGlobalNavRef = useRef(null);\r\n const merGlobalNavMobileMenu = useRef(null);\r\n\r\n const rawData = navigationLinksData.content;\r\n let baseNavigation = rawData.filter(function(el) { return el.title !== \"My Account\"; });\r\n let myAcct = rawData.filter(function(el) { return el.title == \"My Account\"; });\r\n\r\n\r\n\r\n const closeMobileMenu = () => {\r\n\r\n // close offset and nav\r\n let contentOffset = document.querySelectorAll('[data-contentoffset=\"true\"]');\r\n let scope = document.querySelectorAll('[data-mer-global-nav=\"scope\"]');\r\n\r\n setMobileMenu(false);\r\n merGlobalNavMobileMenu.current.setAttribute('aria-expanded', false);\r\n\r\n // remove contetnIsOffset\r\n for (let i = 0; i < contentOffset.length; i++) {\r\n contentOffset[i].classList.remove('contentIsOffset');\r\n }\r\n\r\n for (let i = 0; i < scope.length; i++) {\r\n scope[i].classList.remove('mer-global-nav--isOpen');\r\n }\r\n }\r\n\r\n const handleMobileMenuClick = (e) => {\r\n\r\n e.preventDefault();\r\n\r\n let thisTarget = e.currentTarget;\r\n let target = e.currentTarget.nextElementSibling;\r\n let offsets = document.querySelectorAll(contentOffset);\r\n\r\n setMobileMenu(!mobileMenu);\r\n\r\n if (!mobileMenu) {\r\n thisTarget.setAttribute('aria-expanded', true);\r\n target.classList.add(activeClass);\r\n\r\n for (let i = 0; i < offsets.length; i++) {\r\n offsets[i].classList.add('contentIsOffset');\r\n }\r\n } else {\r\n closeMobileMenu();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n // console.log('Header');\r\n if (typeof window !== 'undefined'){\r\n window.onerror = function(msg, url, line, column, error){\r\n console.log('from header ' + msg );\r\n }\r\n }\r\n\r\n window.addEventListener('error', e=>{\r\n // Get the error properties from the error event object\r\n const { message, filename, lineno, colno, error } = e; \r\n console.log('from header 1' + message);\r\n });\r\n\r\n\r\n // console.log(`MST.Gatsby ::: header ::: useReactApi:${useReactApi}`);\r\n\r\n const handleClickOutside = (event) => {\r\n\r\n // outside nav\r\n if (merGlobalNavRef.current && !merGlobalNavRef.current.contains(event.target) && !merGlobalNavMobileMenu.current.contains(event.target)) {\r\n\r\n closeMobileMenu();\r\n }\r\n\r\n // outside sub menu\r\n let activeSubMenus = document.getElementsByClassName(activeSubMenuClass);\r\n let navItem = '.mer-global-nav__menu-item';\r\n let navItems = document.getElementsByClassName('mer-global-nav__menu-item');\r\n\r\n if (activeSubMenus.length > 0) {\r\n\r\n for (let i = 0; i < activeSubMenus.length; i++) {\r\n\r\n\r\n if (event.target.getAttribute('class') !== 'mer-global-nav__accordion-button' && !activeSubMenus[i].closest(navItem).contains(event.target)) {\r\n \r\n let activeSubMenuBtn = document.querySelector(`[aria-controls=\"${activeSubMenus[i].getAttribute('id')}\"]`);\r\n\r\n if (activeSubMenuBtn !== null) {\r\n activeSubMenuBtn.setAttribute('aria-expanded', false);\r\n }\r\n\r\n activeSubMenus[i].classList.remove(activeSubMenuClass);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Bind the event listener\r\n document.addEventListener('mousedown', handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener('mousedown', handleClickOutside);\r\n };\r\n });\r\n\r\n useLayoutEffect(() => {\r\n if(point === 'large') {\r\n closeMobileMenu();\r\n }\r\n });\r\n\r\n return (\r\n <>\r\n <NoticeBar useReactApi={useReactApi} />\r\n <header className=\"mer mer-global-header\" data-contentoffset=\"true\" data-version=\"5\">\r\n <div className=\"container-lg\">\r\n <div className=\"row\">\r\n <a href=\"/\" className=\"mer-global-header__logo-container\">\r\n <h1 className=\"mer-display--visual-hidden\">\r\n Kleenheat\r\n </h1>\r\n <Svg title=\"Kleenheat\" \r\n icon=\"kleenheat-logo\"\r\n aria-hidden=\"true\" />\r\n </a>\r\n <button className=\"mer-global-header__menu-btn\" \r\n data-slide=\"data-contentslide\" \r\n aria-controls=\"mer-global-nav\" \r\n aria-expanded=\"false\" \r\n aria-label=\"Open menu\"\r\n onClick={handleMobileMenuClick}\r\n ref={merGlobalNavMobileMenu}>\r\n <Svg title=\"Hamburger\" \r\n icon=\"hamburger\" />\r\n <span className=\"mer-global-header__menu-btn-wording\">\r\n <span className=\"mer-display--visual-hidden mer-global-header__menu-btn-SR\">Open</span> Menu\r\n </span>\r\n </button>\r\n {<nav className=\"mer-global-nav\" \r\n id=\"mer-global-nav\" \r\n aria-label=\"Primary navigation\"\r\n data-mer-global-nav=\"scope\"\r\n ref={merGlobalNavRef}>\r\n <ul className=\"mer-global-nav__menu\">\r\n { myAcct.map((data, index) => {\r\n return (\r\n <NavigationItem data={data} key={'myAcct-'+data.title + index} index={'myAcct-'+index} hidingClass='d-lg-none' />\r\n );\r\n })}\r\n { baseNavigation.map((data, index) => {\r\n return (\r\n <NavigationItem data={data} key={'other-'+data.title + index} index={'other-'+index} />\r\n );\r\n })}\r\n { myAcct.map((data, index) => {\r\n return (\r\n <NavigationItem data={data} key={'small-'+data.title + index} index={'small'-index} hidingClass='d-none d-lg-block' />\r\n );\r\n })}\r\n </ul>\r\n </nav>}\r\n \r\n </div>\r\n </div>\r\n </header>\r\n </>\r\n );\r\n}\r\n\r\n Header.propTypes = {\r\n siteTitle: PropTypes.string,\r\n useReactApi: PropTypes.bool\r\n};\r\n\r\nHeader.defaultProps = {\r\n siteTitle: ``,\r\n useReactApi: true\r\n};\r\n\r\nexport default Header;\r\n"],"sourceRoot":""}