{"version":3,"sources":["webpack:///./src/components/common/Image.js","webpack:///./src/components/common/LocationSearchInput.jsx","webpack:///./src/components/common/AddressSearchInput.jsx","webpack:///./src/constants/modal-content.js"],"names":["Image","props","imageSrcRaw","undefined","src","imageSrc","mermaidImgUrl","imagesrcfrom","imagesrc","React","createElement","Object","assign","alt","googleLogoContainerStyles","textAlign","paddingTop","borderTop","googleLogoStyles","width","LocationSearchInput","_React$Component","_this","call","searchOptions","location","isClientSideRendering","window","google","maps","LatLng","radius","types","componentRestrictions","country","renderFunc","_ref","getInputProps","suggestions","getSuggestionItemProps","Fragment","className","id","name","placeholder","onBlur","onFocus","value","state","address","maxLength","required","length","map","suggestion","index","active","description","matchedSubstrings","replacementNum","key","match","offset","slice","split","replace","dangerouslySetInnerHTML","__html","style","caption","handleChange","setState","onChange","handleSelect","placeId","onSelect","handleError","status","clearSuggestions","console","log","initialValue","bind","_inheritsLoose","_proto","prototype","e","targetParent","target","parentElement","classList","remove","querySelector","add","targetClosestField","closest","addressInputTouchEvents","render","PlacesAutocomplete","this","highlightFirstSuggestion","shouldFetchSuggestions","onError","clearItemsOnError","Component","AddressSearchInput","searchButtonText","initialAddress","label","padding","onAddressChange","showLabel","isRequired","useTrigger","onSelection","labelClass","searchIcon","isSsfRedirect","setAddress","useState","isFlex","isLabelVisible","isRequiredField","ctaSvgIcon","ssfRedirect","getCookieValue","process","deleteCookie","setCookie","href","htmlFor","fieldLabel","GtmHelper","sendAddressSearchAutoComplete","navigate","isAutoComplete","onClick","preventDefault","sendFormComplete","Svg","title","col","icon","defaultProps","modalContents","contentType","content","selector"],"mappings":"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","file":"d99b6e01db33cb2c387e91bc0799e1d6bf0c1b93-d7ca57a5d561b8dc82f9.js","sourcesContent":["import React from 'react';\r\nimport { mermaidImgUrl } from 'constants/urls';\r\n\r\n\r\nfunction Image (props) {\r\n\r\n    let imageSrcRaw = props.src !== undefined ? props.src : '';\r\n    let imageSrc = `${mermaidImgUrl}${imageSrcRaw}`;\r\n\r\n    if(props.imagesrcfrom!==undefined && props.imagesrcfrom!==null && props.imagesrcfrom==='youtube'){\r\n        imageSrc = props.imagesrc;\r\n    }\r\n    \r\n    return (\r\n        <img {...props} src={imageSrc} alt={props.alt} />\r\n    );\r\n}\r\n\r\nexport default Image;","import React from 'react';\r\nimport PlacesAutocomplete from 'react-places-autocomplete';\r\nimport {isClientSideRendering} from '../../constants/global';\r\nimport { addressInputTouchEvents } from 'kh-common-components';\r\nimport Image from 'components/common/Image';\r\n\r\nconst googleLogoContainerStyles = {\r\n  textAlign: 'center',\r\n  paddingTop: '.1875em',\r\n  borderTop: '1px solid #d9d9d9'\r\n};\r\n\r\nconst googleLogoStyles = {\r\n  width: '7.1875em'\r\n};\r\n\r\nclass LocationSearchInput extends React.Component {\r\n  constructor(props) {\r\n      super(props);\r\n\r\n      this.state = {\r\n          address: this.props.initialValue\r\n      };\r\n      \r\n      this.handleChange = this.handleChange.bind(this);\r\n      this.handleSelect = this.handleSelect.bind(this);\r\n      this.onBlur = this.onBlur.bind(this); \r\n  }\r\n\r\n  //-- The following is use for setting search options to filter and prioritise the suggestion list.\r\n  searchOptions = {\r\n      location: isClientSideRendering ? new window.google.maps.LatLng(-32, 116) : null, //-- This is Perth latitude and longitude.\r\n      radius: 2000,\r\n      types:['address'],\r\n      componentRestrictions: {country: 'au'}\r\n  }\r\n  \r\n  renderFunc = ({ getInputProps, suggestions, getSuggestionItemProps }) => (\r\n      <React.Fragment>\r\n\r\n          {/* The following input is the search text box */}\r\n          <div className=\"mdc-text-field mdc-text-field--outlined mdc-text-field--no-label mer-z-index--base\">\r\n              <input \r\n                   {...getInputProps({\r\n                      className: 'location-search-input mdc-text-field__input'                \r\n                  })}\r\n                  id={this.props.id !== undefined ? this.props.id : this.props.name}\r\n                  placeholder={this.props.placeholder}\r\n                  name={this.props.name}\r\n                  onBlur={this.onBlur}\r\n                  onFocus={this.onFocus}\r\n                  value={this.state.address}\r\n                  maxLength={240}\r\n                  required\r\n              />\r\n              <div className=\"mdc-notched-outline\">\r\n                  <div className=\"mdc-notched-outline__leading\"></div>\r\n                  <div className=\"mdc-notched-outline__trailing\"></div>\r\n              </div>\r\n\r\n              {/* The following will display the autocomplete dropdown. */}\r\n              {suggestions.length > 0 && (\r\n                  <div className=\"autocomplete-dropdown-container pac-container pac-container--popout\">\r\n                      {/* remove loading - #23704\r\n                       * loading && \r\n                          <div className=\"mer-loading-spinner\">Loading...</div>\r\n                      */}\r\n                      {suggestions.map((suggestion, index) => {\r\n\r\n                          const className = suggestion.active\r\n                              ? 'pac-item pac-item-query suggestion-item--active pac-item-selected'\r\n                              : 'pac-item suggestion-item';\r\n                          let description = suggestion.description;\r\n                          if (suggestion.matchedSubstrings !== undefined &&\r\n                              suggestion.matchedSubstrings !== null &&\r\n                              suggestion.matchedSubstrings.length > 0) {\r\n                              let replacementNum = 0;\r\n                              for (var key in suggestion.matchedSubstrings) {\r\n                                  let match = suggestion.matchedSubstrings[key];\r\n                                  let offset = match.offset + 2 * replacementNum;\r\n                                  let length = match.length;\r\n                                  replacementNum = replacementNum + 1;\r\n                                  description = description.slice(0, offset) + '<' + description.slice(offset);\r\n                                  description = description.slice(0, offset + length + 1) +\r\n                                      '!' +\r\n                                      description.slice(offset + length + 1);\r\n                              }\r\n                              if(description.split(',').length>1){\r\n                                 description = description.split(',')[0] + description.split(',')[1]; // remove country\r\n                              }\r\n                              description = description.replace(/</g, '<strong class=\"pac-matched\">').replace(/!/g, '</strong>').replace(/,/,'');\r\n                          }\r\n\r\n\r\n                          return (\r\n                              <div {...getSuggestionItemProps(suggestion, { className })} key={index}>\r\n                                  {/* TODO might have to look at package like html-react-parser instead of using dangerourslySetInnerHTML */}\r\n                                  <span dangerouslySetInnerHTML={{ __html: description }}></span>\r\n                              </div>\r\n                          );\r\n                      })}\r\n                      <div style={googleLogoContainerStyles}>\r\n                          <Image style={googleLogoStyles}\r\n                                 src=\"/powered-by-google-on-white.png\"\r\n                                 alt=\"Powered by Google\"\r\n                          />\r\n                      </div>\r\n                  </div>\r\n              )}\r\n\r\n              {this.props.caption && <span className=\"mer-form-field__descriptor\">{this.props.caption}</span>}\r\n          </div>\r\n      </React.Fragment>\r\n  );\r\n\r\n  handleChange = address => {    \r\n      this.setState({ address });      \r\n      if (this.props.onChange !== undefined) {\r\n        this.props.onChange(address);\r\n      }\r\n  };\r\n  \r\n  onBlur(e) {\r\n      const target = e.target;\r\n      const targetParent = target.parentElement;\r\n      targetParent.classList.remove('mdc-text-field--focused');\r\n\r\n      if (targetParent.querySelector('.pac-container')) {\r\n          targetParent.querySelector('.pac-container').classList.add('d-none');\r\n      }\r\n  }\r\n\r\n  onFocus(e) {\r\n\r\n      const target = e.target;\r\n      const targetParent = target.parentElement;\r\n      targetParent.classList.add('mdc-text-field--focused');      \r\n\r\n      if (targetParent.querySelector('.pac-container')) {\r\n          targetParent.querySelector('.pac-container').classList.remove('d-none');\r\n      }\r\n\r\n      // touch event\r\n      const targetClosestField = target.closest('.mer-form__field');\r\n      addressInputTouchEvents(targetClosestField);\r\n  }\r\n\r\n  handleSelect = (address, placeId) => {  \r\n    if(address.split(',').length>1){\r\n      address = address.split(',')[0] + address.split(',')[1]; // remove country\r\n    }\r\n      this.setState({ address });\r\n\r\n    if (this.props.onSelect !== undefined) {\r\n        this.props.onSelect(address);\r\n    }\r\n  }\r\n\r\n  handleError = (status, clearSuggestions) => {\r\n      console.log('Google Maps API returned error with status: ', status);\r\n      clearSuggestions();\r\n  }\r\n\r\n  render() {\r\n      return (\r\n          <PlacesAutocomplete \r\n              value={this.state.address}\r\n              onChange={this.handleChange}\r\n              onSelect={this.handleSelect}\r\n              searchOptions={this.searchOptions}\r\n              highlightFirstSuggestion\r\n              shouldFetchSuggestions={this.state.address.length > 0}\r\n              onError={this.handleError}\r\n              clearItemsOnError\r\n          >\r\n              {this.renderFunc}\r\n          </PlacesAutocomplete>\r\n      );\r\n  }\r\n}\r\n\r\n/* EXPORT SECTION */\r\nexport default LocationSearchInput;","import React, { useState } from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport LocationSearchInput from 'components/common/LocationSearchInput';\r\nimport { navigate } from 'gatsby';\r\nimport { GtmHelper, getCookieValue, deleteCookie, setCookie, Svg } from 'kh-common-components';\r\n\r\nconst AddressSearchInput = ({searchButtonText, initialAddress, label, padding, onAddressChange, showLabel, isRequired, useTrigger=false, onSelection=null, labelClass='', searchIcon, isSsfRedirect=false}) => {\r\n  const [address, setAddress] = useState(initialAddress);\r\n  const isFlex = searchButtonText ? 'mer-form__field-action--flex' : '';\r\n  const isLabelVisible = !showLabel ? 'mer-display--visual-hidden' : '';\r\n  const isRequiredField = isRequired ? 'mer-form-label-required' : '';\r\n  const ctaSvgIcon = searchIcon ? searchIcon : 'chevron-right';\r\n    \r\n  function handleClick(e) {\r\n    e.preventDefault();    \r\n    // console.log('address: ' + address); \r\n\r\n    if(!useTrigger){\r\n\r\n      if (isSsfRedirect) {\r\n        GtmHelper.sendFormComplete('Address search');\r\n        ssfRedirect(address);\r\n      } else {\r\n        navigate(`/service-availability`, { state: { address : address } });\r\n      }\r\n\r\n    } else { \r\n      if(onSelection!==undefined && onSelection!==null){\r\n        onSelection(address,false);\r\n      }\r\n    }\r\n  }\r\n\r\n  function handleChange(address) {    \r\n    setAddress(address);\r\n    if (onAddressChange !== undefined) {\r\n      onAddressChange(address);\r\n    }\r\n  }\r\n\r\n  function handleSelect(address) {          \r\n    setAddress(address);            \r\n    GtmHelper.sendAddressSearchAutoComplete();\r\n\r\n\r\n    if(!useTrigger){\r\n\r\n      if (isSsfRedirect) {\r\n        ssfRedirect(address);\r\n      } else {\r\n        navigate(`/service-availability`, { state: { address : address, isAutoComplete : true } });    \r\n      }\r\n\r\n    } else{ \r\n      if(onSelection!==undefined && onSelection!==null){\r\n        onSelection(address,false);\r\n      }\r\n    }\r\n  }\r\n\r\n  function ssfRedirect(address) {\r\n\r\n    const cookieName = process.env.ADDRESS_COOKIE_NAME;\r\n    const cookieValue = getCookieValue(cookieName);\r\n\r\n    deleteCookie(cookieName);\r\n    setCookie(cookieName, address, 1);\r\n\r\n    window.location.href = '/sign-up';\r\n  }\r\n\r\n  return (\r\n    \r\n    <div className={`mer-form__field ${padding}`}>\r\n        { label !== '' &&\r\n          <label className={`mer-form__field-label ${isLabelVisible} ${isRequiredField} ${labelClass}`} htmlFor=\"addressSearch.address\">\r\n              {label}\r\n          </label>\r\n        }\r\n        <div className={`mer-form__field-action ${isFlex} ${!showLabel ? 'mt-3' : ''}`}>\r\n\r\n            <LocationSearchInput                         \r\n              initialValue={address} \r\n              name=\"addressSearch.address\" \r\n              placeholder=\"Get started with your address\" \r\n              fieldLabel=\"Get started with your address\" \r\n              onChange={handleChange}\r\n              onSelect={handleSelect} />\r\n\r\n            { searchButtonText !== undefined && \r\n                <button onClick={handleClick} className=\"mer-button mer-button--primary\">\r\n                  <span className=\"d-none d-sm-block mer-text--no-wrap\">{searchButtonText}</span>\r\n                  <Svg title={searchButtonText}\r\n                        col=\"mer-svg-container--size-xs d-sm-none mer-fill--gs-white\"\r\n                        icon={ctaSvgIcon} />\r\n                </button>             \r\n            }         \r\n        </div>\r\n    </div>    \r\n  )\r\n}\r\n\r\nAddressSearchInput.defaultProps = {      \r\n  initialAddress: '',\r\n  label: '',\r\n  padding: '',\r\n  searchIcon: '',\r\n  isRequired: false\r\n};\r\n\r\nAddressSearchInput.propTypes = {\r\n  searchButtonText: PropTypes.string,\r\n  initialAddress: PropTypes.string,\r\n  label: PropTypes.string,\r\n  padding: PropTypes.string,\r\n  searchIcon: PropTypes.string,\r\n  isRequired: PropTypes.bool,\r\n  onAddressChange: PropTypes.func\r\n};\r\n\r\n\r\nexport default AddressSearchInput;","'use strict';\r\n\r\n\r\n//--Please note, use lowercase for the name as the calls will be using lowercase.\r\nexport const modalContents = [\r\n    {\r\n        name: 'terms-directdebit',\r\n        contentType: 'url',\r\n        content: 'policies/direct-debit-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'rac-ng-terms',\r\n        contentType: 'url',\r\n        content: '/rac/ng-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'rac50-ng-terms',\r\n        contentType: 'url',\r\n        content: '/rac/ng50-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'racbonus50-ng-terms',\r\n        contentType: 'url',\r\n        content: '/rac/natural-gas/racbonus50ng-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'racbonus50-ng-plans-terms',\r\n        contentType: 'url',\r\n        content: '/rac/natural-gas/racbonus50ng-plans-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'rac38and50-ng-terms',\r\n        contentType: 'url',\r\n        content: '/rac/natural-gas/rac38and50ng-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },  \r\n    {\r\n        name: 'rac38and50-ng-plans-terms',\r\n        contentType: 'url',\r\n        content: '/rac/natural-gas/rac38and50ng-plans-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'rac-offer-end-terms',\r\n        contentType: 'url',\r\n        content: '/rac/offer-end-terms',\r\n        selector: '[id=main] div[class=content]'\r\n    },  \r\n    {\r\n        name: 'value-rac-kleenheat',\r\n        contentType: 'url',\r\n        content: '/help/rewards-offers/value-rac-kleenheat',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'rac-lpg-terms',\r\n        contentType: 'url',\r\n        content: '/rac/lpg-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'flybuys-terms',\r\n        contentType: 'url',\r\n        content: 'natural-gas/rewards/flybuys-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'terms-tcc-two-tickets',\r\n        contentType: 'url',\r\n        content: '/about/community/telethon-community-cinemas/terms',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'waseniors-terms',\r\n        contentType: 'url',\r\n        content: 'natural-gas/rewards/waseniors-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'secure_payment',\r\n        contentType: 'html',\r\n        content:\r\n            '<p>Your payment information is confidentially transmitted to a secure payment processing service, to provide additional protection to your sensitive information.</p>',\r\n        selector: ''\r\n    },\r\n    {\r\n        name: 'no_rac_number',\r\n        contentType: 'html',\r\n        content:\r\n            '<p>Don\\'t have RAC Number</p>',\r\n        selector: ''\r\n    },\r\n    {\r\n        name: 'monthly_instalments',\r\n        contentType: 'iframe',\r\n        content:\r\n        '//www.youtube.com/embed/gda5tA5p-Yk?wmode=opaque&amp;rel=0&amp;showinfo=0&amp;modestbranding=1&amp;controls=2&amp;autohide=1&amp;enablejsapi=1',\r\n            selector: ''\r\n    },\r\n    {\r\n        name: 'why_dob',\r\n        content: 'We\\'ll use your date of birth to verify your identity when you contact customer service and to check your eligibility for certain products or offers. We also compile data on the age of our customers to better understand how to meet customer needs.'\r\n    },\r\n    {\r\n        name: 'standard_prices_and_fees',\r\n        contentType: 'url',\r\n        content: '/natural-gas/plans-and-pricing/natural-gas-standard-prices-fees',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'flybuys_plan_terms_conditions',\r\n        contentType: 'url',\r\n        content: '/flybuys/plan-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'flybuys_dollar_spend_terms_conditions',\r\n        contentType: 'url',\r\n        content: '/flybuys/dollar-spend-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'flybuys_10k_terms_conditions',\r\n        contentType: 'url',\r\n        content: '/flybuys/10k-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'plan_details_and_terms_1',\r\n        contentType: 'url',\r\n        content: '/natural-gas/plans-and-pricing/standard-form-contract',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'plan_details_and_terms_2',\r\n        contentType: 'url',\r\n        content: '/natural-gas/plans-and-pricing/monthly-smart-saver-plan-details',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'plan_details_and_terms_2_summer',\r\n        contentType: 'url',\r\n        content: '/natural-gas/plans-and-pricing/monthly-smart-saver-plan-details?promo-discount=35&promo-duration=12',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'plan_details_and_terms_2_flybuys_march_offer',\r\n        contentType: 'url',\r\n        content: '/natural-gas/plans-and-pricing/monthly-smart-saver-plan-details?promo-discount=35&promo-duration=12',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'plan_details_and_terms_537',\r\n        contentType: 'url',\r\n        content: '/natural-gas/plans-and-pricing/monthly-energiser-plan-details',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'plan_details_and_terms_rac_1',\r\n        contentType: 'url',\r\n        content: '/natural-gas/plans-and-pricing/standard-form-contract?promo-discount=15.5',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'plan_details_and_terms_rac_2',\r\n        contentType: 'url',\r\n        content: '/natural-gas/plans-and-pricing/monthly-smart-saver-plan-details?promo-discount=28',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'plan_details_and_terms_rac_2_summer',\r\n        contentType: 'url',\r\n        content: '/natural-gas/plans-and-pricing/monthly-smart-saver-plan-details?promo-discount=38&promo-duration=12',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'plan_details_and_terms_rac_537',\r\n        contentType: 'url',\r\n        content: '/natural-gas/plans-and-pricing/monthly-energiser-plan-details?promo-discount=38',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'flybuys',\r\n        contentType: 'html',\r\n        content:\r\n            '<ul><li> Log in to My Account</li><li>Under the \"My Details\" tab, click \"Rewards\"</li> <li>Enter your flybuys membership number and click \"Save details\"</li></ul><p>That\\'s it! Your bonus will be reflected in your next Kleenheat invoice.</p><p>For the moment, you can sign up without adding your flybuys number.</p>',\r\n        selector: ''\r\n    },\r\n    {\r\n        name: 'rac',\r\n        contentType: 'html',\r\n        content:\r\n            '<ul><li> Log in to My Account</li><li>Under the \"My Details\" tab, click \"Rewards\"</li> <li>Enter your RAC membership number and click \"Save details\"</li></ul> <p>That\\'s it! Any further discounts you qualify for will be reflected in your next Kleenheat invoice.</p>',\r\n        selector: ''\r\n    },\r\n    {\r\n        name: 'switchplans',\r\n        contentType: 'html',\r\n        content: '<p>Looks like you\\'re looking to apply our _displayText_ bonus on _currentPlan_. We think you might get better long term value by applying this offer against our _newPlan_ plan.</p> <p>Would you like to apply this bonus to the _newPlan_ plan instead?</p>',\r\n        selector: ''\r\n    },\r\n    {\r\n        name: 'promopartner',\r\n        contentType: 'html',\r\n        content: '<p>Are you a _membership_ member?</p>',\r\n        selector: ''\r\n    },\r\n    {\r\n        name: 'what_monthly_instalments',\r\n        contentType: 'url',\r\n        content: 'natural-gas/plans-and-pricing/monthly-instalments/what-are-monthly-instalments',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'non_standard_terms',\r\n        contentType: 'url',\r\n        content: 'natural-gas/plans-and-pricing/',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'gas_service_terms',\r\n        contentType: 'url',\r\n        content: 'gas-service-data-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'privacy_policy',\r\n        contentType: 'url',\r\n        content: 'policies/privacy-policy',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'collection_of_information_terms',\r\n        contentType: 'url',\r\n        content: 'policies/collection-of-information-statement',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'hint_find_address',\r\n        contentType: 'url',\r\n        content: 'help/signing-up/cant-find-address',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'lpg_acquisition_offer',\r\n        contentType: 'url',\r\n        content: '/lpg/new-customer/lpg-save30-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'lpg_order_terms',\r\n        contentType: 'url',\r\n        content: '/policies/online-ordering-discount-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'employee_discount_offer_terms',\r\n        contentType: 'html',\r\n        content: '<p>40% off the usage component of the standard tariff for 12 months when selecting the Monthly Energiser Plan (new and existing customers) or the Monthly Smart Saver plan (existing customers only). Offer is only available to WA residential customers in areas where Kleenheat supplies natural gas. Your application must be accepted by Kleenheat. This offer may be extended, cancelled or changed at any time at the discretion of Kleenheat.</p>',\r\n        selector: ''\r\n    },\r\n    {\r\n        name: 'family_friends_offer_terms',\r\n        contentType: 'html',\r\n        content: '<p>40% off the usage component of the standard tariff for 12 months when selecting the Monthly Energiser Plan (new and existing customers) or the Monthly Smart Saver plan (existing customers only). Offer is only available to WA residential customers in areas where Kleenheat supplies natural gas. Your application must be accepted by Kleenheat. This offer may be extended, cancelled or changed at any time at the discretion of Kleenheat. This offer cannot be used in conjunction with any other promotional offer. Other terms, conditions, fees and charges apply.</p>',\r\n        selector: ''\r\n    },\r\n    {\r\n        name: 'comp_dyson_terms',\r\n        contentType: 'url',\r\n        content: '/terms-conditions/dyson-competition',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'fringe_world_voucher_giveaway_terms',\r\n        contentType: 'url',\r\n        content: '/terms-conditions/fringe-voucher-giveaway',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'terms-carbonoffset-opt-in',\r\n        contentType: 'url',\r\n        content: '/about/carbon-offset/terms',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'flybuys-march-offer-terms-conditions',\r\n        contentType: 'html',\r\n        content: \"<h3>Kleenheat 10,000 Flybuys bonus points sign up Offer</h3><p>This offer is only available to Western Australian residents where Kleenheat is available as a natural gas retailer. This offer is available to new Kleenheat customers only and is available from 27 March 2025 to 30 April 2025 (Promotional Period).</p><p>To receive the 10,000 Flybuys bonus points, you must be a Flybuys member, sign up for the Kleenheat Monthly Smart Saver plan via <a href='/natural-gas' target='_blank'>kleenheat.com.au/natural-gas</a> within the 'Promotional Period’ and enter your valid Flybuys membership number during the signup process. Kleenheat must accept your application, and you must remain a Kleenheat natural gas customer for a minimum period of 90 days.</p><p>The 10,000 Flybuys bonus points are not transferable to another Flybuys membership number and will be allocated to your linked Flybuys account 90 days after the application is accepted, provided you are still a Kleenheat natural gas customer then. This offer cannot be used in conjunction with any other promotional code offer.</p><p>Each Kleenheat account is only eligible for one allocation of 10,000 bonus points to one Flybuys membership.</p><p>10,000 Flybuys bonus points are not redeemable for cash. Flybuys' <a href='https://experience.flybuys.com.au/policies/privacy-policy' target='_blank'>privacy policy</a> applies. Standard Flybuys terms and conditions apply and are available at <a href='https://flybuys.com.au' target='_blank'>flybuys.com.au</a>.</p><h3>Kleenheat 35% off gas usage charges for 12 months</h3><p>35% off the usage component of the standard tariff for 12 months when selecting the Monthly Smart Saver Plan. Other terms, conditions, fees and charges apply. See <a href='/natural-gas' target='_blank'>https://www.kleenheat.com.au/natural-gas</a> for further details.</a></p><h3>Flybuys points on natural gas spend</h3><p>Kleenheat residential natural gas customers who link their Flybuys membership number to their Kleenheat account will be issued with one (1) Flybuys point for every whole dollar billed and paid on their residential natural gas account with Kleenheat. To be eligible to earn Flybuys points, customers must have an active Flybuys membership. This offer may be extended or cancelled at the discretion of Kleenheat. This offer is sent by Flybuys. Flybuys’ <a href='https://experience.flybuys.com.au/policies/privacy-policy' target='_blank'>privacy policy</a> applies. Standard Flybuys Terms and Conditions apply and are available at <a href='https://flybuys.com.au' target='_blank'>flybuys.com.au</a>.</p>\",\r\n        selector: ''\r\n    },\r\n    {\r\n        name: 'flybuys20x_terms_conditions',\r\n        contentType: 'url',\r\n        content: '/flybuys-20x-offer/flybuys-20x-offer-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'flybuys10x_terms_conditions',\r\n        contentType: 'url',\r\n        content: '/flybuys-10x-offer/flybuys-10x-offer-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'flybuys-win-terms',\r\n        contentType: 'url',\r\n        content: '/flybuys-win/flybuys-win-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'flybuys-win-1m-terms',\r\n        contentType: 'url',\r\n        content: '/flybuys-win-1m/flybuys-giveaway-terms-and-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'business_case_study_varsity',\r\n        contentType: 'video',\r\n        content:\r\n        '<iframe class=\"mer-dialog__video\" src=\"//player.vimeo.com/video/714320164?color=009ee3&amp;title=0&amp;byline=0&amp;portrait=0\" allowFullScreen=\"true\" frameBorder=\"0\" width=\"100%\" height=\"100%\"></iframe>'\r\n    },\r\n    {\r\n        name: 'business_case_study_windward',\r\n        contentType: 'video',\r\n        content:\r\n        '<iframe class=\"mer-dialog__video\" src=\"//player.vimeo.com/video/725523183?color=009ee3&amp;title=0&amp;byline=0&amp;portrait=0\" allowFullScreen=\"true\" frameBorder=\"0\" width=\"100%\" height=\"100%\"></iframe>'\r\n    },\r\n    {\r\n        name: 'flybuys-2x-terms',\r\n        contentType: 'url',\r\n        content: '/flybuys-2x-offer-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'flybuys-5x-terms',\r\n        contentType: 'url',\r\n        content: '/flybuys-5x-offer-terms-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'summer-terms',\r\n        contentType: 'url',\r\n        content: '/natural-gas/rewards/summer-terms-and-conditions',\r\n        selector: '[id=main] div[class=content]'\r\n    },\r\n    {\r\n        name: 'terms-2-for-1-freo-3-game-passes',\r\n        contentType: 'html',\r\n        content: `\r\n            <ul>\r\n                <li>\r\n                    Offer runs until 11.59pm WST on Wednesday 30 April 2025, unless otherwise withdrawn prior by Fremantle Football Club at its discretion.\r\n                </li>\r\n                <li>\r\n                    Offer is valid for two adult 3 Game Passes per transaction.\r\n                </li>\r\n                <li>\r\n                    Ticket redemption via Ticketmaster is required to access games, subject to availability.*\r\n                </li>\r\n                <li>\r\n                    Full inclusions and further information available at <a href=\"https://membership.fremantlefc.com.au/membership/3-game-pass\" target=\"_blank\">https://membership.fremantlefc.com.au/membership/3-game-pass</a>.\r\n                    <br>\r\n                    <small>*excludes RAC Derby</small>\r\n                </li>\r\n            </ul>\r\n        `,\r\n        selector: ''\r\n    }\r\n];"],"sourceRoot":""}