{"version":3,"file":"rctShared-d7b0a9f069ff4cf6a464.js","mappings":"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","sources":["webpack://@whistleout/webui/./Areas/Shared/React/js/components/maps/AddressMap.jsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/maps/HeaderMap.jsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/AppComponent.tsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/LoadingProgress.tsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/addressSearch/AddressChangeTracker.tsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/sliders/Slider.tsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/sliders/SliderHandle.tsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/locationHeader/TitleSplit.tsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/locationHeader/Title.tsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/locationHeader/HeaderBrowse.tsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/locationHeader/AddressLabel.tsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/locationHeader/HeaderSearch.tsx","webpack://@whistleout/webui/./Areas/Shared/React/js/components/locationHeader/LocationHeader.tsx","webpack://@whistleout/webui/./Areas/Shared/js/utils/productArea.ts","webpack://@whistleout/webui/./Areas/Shared/React/js/components/maps/SupplierHeaderMap.jsx","webpack://@whistleout/webui/./Areas/Shared/React/js/index.ts","webpack://@whistleout/webui/./Areas/Shared/js/vendor/react.ts"],"sourcesContent":["import React, { Component } from 'react';\nimport { renderToStaticMarkup } from 'react-dom/server';\n\nimport AddressHelper from '../../utils/AddressHelper';\nimport AddressChangeTracker from '../addressSearch/AddressChangeTracker';\n\nexport default class AddressMap extends Component {\n constructor(props) {\n super(props);\n\n this.id = AddressMap.counter++;\n this.mapWrapperId = `header-map-wrapper-${this.id}`;\n\n this.state = {\n address: this.props.address,\n marker: null,\n isSmallScreen: this.isSmallScreen()\n };\n\n this.onAddressChange = this.onAddressChange.bind(this);\n this.onWindowResize = this.onWindowResize.bind(this);\n this.onResizeEnd = this.onResizeEnd.bind(this);\n this.getMapContainer = this.getMapContainer.bind(this);\n this.renderStaticMap = this.renderStaticMap.bind(this);\n }\n\n componentDidMount() {\n addEventListener('DOMContentLoaded', async () => {\n this.mapboxgl = await import(/* webpackChunkName: \"mapbox\" */ 'mapbox-gl');\n window.addEventListener('resize', this.onWindowResize);\n this.setView(this.state.address);\n });\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.onWindowResize);\n }\n\n componentDidUpdate() {\n this.setView(this.state.address);\n }\n\n onAddressChange(address) {\n if (this.props.ignoreAddressChange || AddressHelper.isEqual(address, this.state.address)) {\n return;\n }\n\n this.setState({ address: address });\n }\n\n getMapContainer() {\n return wo$(`#${this.props.mapContainerId}`)[0];\n }\n\n onWindowResize() {\n if (this.resizeTimer) {\n // HACK: Reset the timeout to let the resize finish\n // See: https://css-tricks.com/snippets/jquery/done-resizing-event/\n clearTimeout(this.resizeTimer);\n }\n\n this.resizeTimer = setTimeout(this.onResizeEnd, 250);\n }\n\n isSmallScreen() {\n return window.innerWidth < 992;\n }\n\n onResizeEnd() {\n const isSmallScreen = this.isSmallScreen();\n if (isSmallScreen === this.state.isSmallScreen) {\n return;\n }\n\n this.setState({ isSmallScreen: isSmallScreen }, () => {\n if (this.useStaticMap()) {\n return;\n }\n\n const mapContainer = this.getMapContainer();\n if (isSmallScreen) {\n if (mapContainer.innerHTML) {\n mapContainer.innerHTML = '';\n window.dynamicMap = null;\n\n this.onMapRemove();\n }\n } else {\n if (!mapContainer.innerHTML) {\n this.initMap();\n }\n }\n });\n }\n\n onMapRemove() {\n if (this.props.onMapRemove) {\n this.props.onMapRemove();\n }\n }\n\n onMapInit() {\n if (this.props.onMapInit) {\n this.props.onMapInit();\n }\n }\n\n initMap() {\n if (window.dynamicMap || typeof window === 'undefined') {\n return;\n }\n\n console.log('initialising header map');\n\n const location = this.getLocation(this.state.address, this.props.countryCode);\n const center = location.center || {};\n const zoom = location.zoom;\n\n this.setState({\n center: center,\n zoom: zoom\n });\n\n const mapContainer = (\n \n );\n\n this.getMapContainer().innerHTML = renderToStaticMarkup(mapContainer);\n this.onMapInit();\n\n const map = new this.mapboxgl.Map({\n accessToken: this.props.apiKey,\n container: this.mapWrapperId,\n style: `mapbox://styles/${this.props.styleId}`,\n\n center: center,\n zoom: zoom,\n\n interactive: false,\n trackResize: true,\n attributionControl: false\n });\n\n map.addControl(new this.mapboxgl.AttributionControl(), 'bottom-right');\n\n this.offset(map, center);\n this.setMarker(map, center);\n\n window.dynamicMap = map;\n }\n\n clearMarker() {\n if (this.state.marker) {\n this.state.marker.remove();\n }\n }\n\n setMarker(map, center) {\n if (AddressHelper.isCountry(this.state.address)) {\n return;\n }\n\n const cdn = 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7';\n var markerIconUrl =\n wo$(`#${this.props.mapContainerId}`).data('marker-url') || `${cdn}/images/marker-icon-2x.png`;\n\n var el = document.createElement('div');\n el.className = 'marker';\n el.style.backgroundImage = `url(${markerIconUrl})`;\n el.style.backgroundSize = 'contain';\n el.style.backgroundRepeat = 'no-repeat';\n el.style.width = '27px';\n el.style.height = '41px';\n\n const marker = new this.mapboxgl.Marker(el, { anchor: 'bottom' })\n .setLngLat([center.lng, center.lat])\n .addTo(map);\n\n this.setState({ marker: marker });\n }\n\n setView(address) {\n if (this.useStaticMap()) {\n this.renderStaticMap();\n return;\n }\n\n if (typeof window === 'undefined' || this.state.isSmallScreen) {\n return;\n }\n\n const map = window.dynamicMap;\n if (!map) {\n this.initMap();\n return;\n }\n\n const currentCenter = map.getCenter();\n const location = this.getLocation(address, this.props.countryCode);\n const newCenter = location.center;\n if (currentCenter.lat === newCenter.lat && currentCenter.lng === newCenter.lng) {\n return;\n }\n\n this.setCenter(map, newCenter, location.zoom);\n }\n\n setCenter(map, center, zoom) {\n if (JSON.stringify(center) === JSON.stringify(this.state.center)) {\n return;\n }\n\n this.setState({\n center: center,\n zoom: zoom\n });\n\n this.clearMarker();\n\n if (map.getZoom() !== zoom) {\n map.setZoom(zoom);\n }\n\n const currentCenter = map.getCenter();\n if (currentCenter.lng !== center.lng || currentCenter.lat !== center.lat) {\n map.panTo([center.lng, center.lat]);\n }\n\n if (AddressHelper.isCountry(this.state.address)) {\n return;\n }\n\n this.offset(map, center);\n this.setMarker(map, center);\n }\n\n offset(map, center) {\n const targetLatLng = this.getOffsetLatLng(map, center);\n map.panTo(targetLatLng);\n }\n\n getOffsetLatLng(map, center) {\n const offset = this.getOffset();\n\n // See: https://github.com/Leaflet/Leaflet/issues/859\n const targetPoint = map.project(center).sub(new this.mapboxgl.Point(offset.x, offset.y));\n\n return map.unproject(targetPoint);\n }\n\n getOffset() {\n if (this.props.getOffset) {\n return this.props.getOffset();\n }\n\n const wrapperRect = wo$(`#${this.mapWrapperId}`)[0].getBoundingClientRect();\n const centerBetween = this.props.getCenterBoundaries();\n\n const expected = {\n x: this.getCenter(centerBetween.left, centerBetween.right),\n y: this.getCenter(wrapperRect.top, wrapperRect.bottom)\n };\n\n const actual = {\n x: this.getCenter(wrapperRect.left, wrapperRect.right),\n y: this.getCenter(wrapperRect.top, wrapperRect.bottom)\n };\n\n return {\n x: expected.x - actual.x,\n y: expected.y - actual.y\n };\n }\n\n getCenter(start, end) {\n return start + (end - start) / 2;\n }\n\n getLocation(address, countryCode) {\n if (address && !AddressHelper.isCountry(address)) {\n return {\n center: {\n lat: address.latitude,\n lng: address.longitude\n },\n zoom: this.getZoom(address)\n };\n }\n\n if (!countryCode) {\n throw new Error('countryCode is undefined');\n }\n\n // Based on https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-hotelsearch\n const countries = {\n au: {\n center: { lat: -33.1382032, lng: 144.7961969 },\n zoom: 6\n },\n ca: {\n center: { lat: 62, lng: -110.0 },\n zoom: 3\n },\n mx: {\n center: { lat: 23.6, lng: -102.5 },\n zoom: 5\n },\n nz: {\n center: { lat: -40.9, lng: 174.9 },\n zoom: 5\n },\n uk: {\n center: { lat: 52.8, lng: -4.6 },\n zoom: 5\n },\n us: {\n center: { lat: 39.85, lng: -97.8 },\n zoom: 5\n }\n };\n\n return countries[countryCode] || countries['au'];\n }\n\n getZoom(address) {\n const zoomLevel = AddressMap.zoomLevel;\n\n if (!address) {\n return zoomLevel.country;\n }\n\n if (address.unit) {\n return zoomLevel.unit;\n }\n\n if (address.streetNumber) {\n return zoomLevel.streetNumber;\n }\n\n if (address.street) {\n return zoomLevel.street;\n }\n\n if (address.city) {\n return zoomLevel.city;\n }\n\n if (address.postcode) {\n return zoomLevel.postcode;\n }\n\n if (address.state) {\n return zoomLevel.state;\n }\n\n return zoomLevel.country;\n }\n\n renderStaticMap() {\n window.dynamicMap = null;\n const backgroundMapUrl = this.props.backgroundMapUrl;\n this.getMapContainer().innerHTML = `\n
\n `;\n }\n\n useStaticMap() {\n return this.props.useStaticMap || AddressHelper.isCountry(this.state.address) || !this.mapboxgl.supported();\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nAddressMap.counter = 1;\nAddressMap.zoomLevel = {\n country: 6,\n\n unit: 14,\n streetNumber: 14,\n street: 13,\n\n postcode: 12,\n city: 12,\n\n state: 5\n};\n","import React, { Component } from 'react';\n\nimport AddressMap from './AddressMap';\n\nexport default class HeaderMap extends Component {\n\n constructor(props) {\n super(props);\n\n this.getCenterBoundaries = this.getCenterBoundaries.bind(this);\n }\n\n getCenterBoundaries() {\n if (this.props.getCenterBoundaries) {\n return this.props.getCenterBoundaries();\n }\n\n const locationHeaderRect = wo$('#location-header')[0].getBoundingClientRect();\n\n // HACK: .filter() or .map() are not transpiled in this particular case for some reason, giving an error in IE10 (IE9 is fine...)\n const contains = (array, p) => {\n for (let i = 0; i < array.length; i++) {\n const item = array[i].toLowerCase();\n if (p === item) {\n return true;\n }\n }\n\n return false;\n };\n\n var coverageButton = wo$('#coverage-maps-button a')[0];\n if (coverageButton\n && coverageButton.offsetParent !== null\n && !coverageButton.hidden\n && !contains(coverageButton.classList || [], 'hidden')\n ) {\n\n const coverageButtonRect = coverageButton.getBoundingClientRect();\n return {\n left: locationHeaderRect.right,\n right: coverageButtonRect.left\n };\n }\n\n const mainContentRect = wo$('#main-content')[0].getBoundingClientRect();\n return {\n left: locationHeaderRect.right,\n right: mainContentRect.right\n };\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { store } from '@shared/redux/store';\nimport { StrictMode, useContext, useMemo } from 'react';\nimport { Provider as ReduxProvider, ReactReduxContext } from 'react-redux';\nimport { createBrowserRouter, RouterProvider, useInRouterContext } from 'react-router-dom';\nconst WithRouter = ({ routes, routeOpts }) => {\n const router = createBrowserRouter(routes, routeOpts);\n return _jsx(RouterProvider, { router: router });\n};\nexport const App = ({ children, routes, routeOpts }) => {\n const reduxContext = useContext(ReactReduxContext);\n const isInRouter = useInRouterContext();\n const withRouter = useMemo(() => isInRouter || !routes || !routes.length ? (_jsx(_Fragment, { children: children })) : (_jsxs(_Fragment, { children: [_jsx(WithRouter, { routes: routes, routeOpts: routeOpts }), children] })), [children, isInRouter, routeOpts, routes]);\n return (_jsx(StrictMode, { children: reduxContext ? _jsx(_Fragment, { children: withRouter }) : _jsx(ReduxProvider, { store: store, children: withRouter }) }));\n};\n// TODO: Remove this\n/** Same as App, use App directly instead */\nexport const AppComponent = App;\n// TODO: Remove this\nexport default AppComponent;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React, { useEffect } from 'react';\nexport const LoadingProgress = (props) => {\n useEffect(() => {\n if (props.loading) {\n WhistleOut.startProgress('#loading-container', 0.1, 50);\n }\n else {\n WhistleOut.endProgress('#loading-container');\n }\n }, [props.loading]);\n return (_jsx(React.StrictMode, { children: _jsx(\"div\", { id: \"loading-container\", children: props.children }) }));\n};\n","import { Fragment as _Fragment, jsx as _jsx } from \"react/jsx-runtime\";\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect } from 'react';\nimport AddressHelper from '../../utils/AddressHelper';\nimport AppComponent from '../AppComponent';\nimport { onAddressChangedEvent } from './AddressSearch';\n/* eslint-disable import/no-named-as-default-member */\nconst propTypes = {\n initialValue: PropTypes.any,\n onAddressChange: PropTypes.func\n};\n/* eslint-enable */\nconst AddressChangeTrackerComponent = (props) => {\n const onAddressChange = useCallback((value) => {\n if (props.onAddressChange) {\n props.onAddressChange(value);\n }\n }, [props]);\n const onAddressChangedEventHandler = useCallback((e) => {\n // TODO: Fix eslint error\n // eslint-disable-next-line @typescript-eslint/no-invalid-this\n if (!e.detail || e.detail.sender === this) {\n return;\n }\n if (AddressHelper.isEqual(props.initialValue, e.detail.address)) {\n return;\n }\n onAddressChange(e.detail.address);\n }, [onAddressChange, props.initialValue]);\n const handleOnMount = useCallback(() => {\n addEventListener(onAddressChangedEvent, onAddressChangedEventHandler);\n // Unmount\n return () => {\n removeEventListener(onAddressChangedEvent, onAddressChangedEventHandler);\n };\n }, [onAddressChangedEventHandler]);\n useEffect(() => handleOnMount(), [handleOnMount]);\n return _jsx(_Fragment, {});\n};\nconst AddressChangeTracker = (props) => {\n return (_jsx(AppComponent, { children: _jsx(AddressChangeTrackerComponent, Object.assign({}, props)) }));\n};\nAddressChangeTracker.propTypes = propTypes;\nexport default AddressChangeTracker;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport PropTypes from 'prop-types';\nimport Rcslider from 'rc-slider';\nimport React, { useCallback } from 'react';\nimport SliderHandle from './SliderHandle';\nconst Slider = ({ current, data, onValueChanged, onValueUpdating }) => {\n const handleValueChanged = useCallback(index => {\n if (onValueChanged) {\n onValueChanged(data[index]);\n }\n }, [data, onValueChanged]);\n const handleValueUpdating = useCallback(index => {\n if (onValueUpdating) {\n onValueUpdating(data[index]);\n }\n }, [data, onValueUpdating]);\n const range = {\n min: 0,\n max: data.length - 1\n };\n const index = data.indexOf(current);\n const createHandle = useCallback(p => _jsx(SliderHandle, Object.assign({}, p)), []);\n return (_jsx(React.StrictMode, { children: _jsx(Rcslider, { min: range.min, max: range.max, onChange: handleValueUpdating, value: index, onAfterChange: handleValueChanged, step: 1, handle: createHandle }) }));\n};\n/* eslint-disable import/no-named-as-default-member */\nSlider.prototype = {\n current: PropTypes.number.isRequired,\n data: PropTypes.arrayOf(PropTypes.number).isRequired,\n onValueChanged: PropTypes.func.isRequired,\n onValueUpdating: PropTypes.func.isRequired\n};\n/* eslint-enable */\nexport default Slider;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React, { forwardRef } from 'react';\nconst SliderHandle = forwardRef((props, ref) => {\n return (_jsx(\"div\", { ref: ref, className: \"rc-slider-handle rc-slider-handle-2 rc-slider-handle-upper\", style: { left: `${props.offset}%` }, \"aria-disabled\": props.disabled }));\n});\nSliderHandle.displayName = 'SliderHandle';\nexport default SliderHandle;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport React, { useCallback, useEffect, useState } from 'react';\nconst TitleSplit = (props) => {\n const getParts = useCallback((text) => {\n const parts = text.trim().split(/\\s+/);\n const part1 = parts.slice(0, 2).join(' ');\n const part2 = parts.slice(2).join(' ');\n return [part1, part2];\n }, []);\n const [parts, setParts] = useState(getParts(props.text));\n useEffect(() => setParts(getParts(props.text)), [getParts, props.text]);\n return (_jsxs(\"span\", { className: props.className, children: [_jsx(\"span\", { dangerouslySetInnerHTML: { __html: parts[0] } }), ' ', _jsx(\"span\", { className: \"display-block-xs\", dangerouslySetInnerHTML: { __html: parts[1] } })] }));\n};\nexport default TitleSplit;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React, { useCallback } from 'react';\nimport TitleSplit from './TitleSplit';\nconst Title = (props) => {\n const isLongText = useCallback(() => {\n return props.text && props.text.length >= 25;\n }, [props.text]);\n return isLongText() ? (_jsx(TitleSplit, { className: props.className, text: props.text })) : (_jsx(\"span\", { className: props.className, dangerouslySetInnerHTML: { __html: props.text } }));\n};\nexport default Title;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport React from 'react';\nimport Title from './Title';\nconst HeaderBrowse = (props) => {\n return (_jsxs(\"div\", { className: \"row pad-y-2-xs bor-b-0-xs bor-b-0-sm pad-t-3\", children: [_jsx(\"div\", { className: \"[ col-xs-24 ]\", children: _jsx(\"h1\", { className: \"mar-0 line-height-12 mar-b-3\", children: _jsx(Title, { className: \"display-block font-8 font-feature font-800\", text: `${props.title} ${props.address}` }) }) }), props.children] }));\n};\nexport default HeaderBrowse;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport React from 'react';\nconst AddressLabel = (props) => {\n return (_jsxs(\"div\", { className: \"display-flex align-items-baseline\", children: [_jsx(\"span\", { className: \"font-6 font-sans font-400 mar-t-1 line-height-13 text-truncate\", children: props.address }), props.allowEdit ? (_jsx(\"span\", { className: \"fa fa-pencil-square-o c-blue font-5 mar-l-3\", onClick: props.onEditClick })) : null] }));\n};\nexport default AddressLabel;\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport React from 'react';\nimport AddressLabel from './AddressLabel';\nimport Title from './Title';\nconst HeaderSearch = (props) => {\n return (_jsxs(\"div\", { className: \"row bor-b-0-xs bor-b-0-sm pad-t-7 pad-b-2\", children: [_jsx(\"div\", { className: \"col-xs-24\", children: _jsxs(\"h1\", { className: \"mar-0 mar-b-2\", children: [_jsx(Title, { className: \"display-block font-8 font-feature\", text: props.title }), _jsx(AddressLabel, { address: props.address, allowEdit: props.allowEdit, onEditClick: props.onEditClick })] }) }), props.children] }));\n};\nexport default HeaderSearch;\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport ClassNames from 'classnames';\nimport React, { Component, createRef } from 'react';\nimport { productArea } from '../../../../js/utils/productArea';\nimport SearchAddressActions from '../../actions/SearchAddressActions';\nimport AddressChangeTracker from '../addressSearch/AddressChangeTracker';\nimport AddressSearch from '../addressSearch/AddressSearch';\nimport HeaderBrowse from './HeaderBrowse';\nimport HeaderSearch from './HeaderSearch';\nconst getLabel = (address) => {\n return (address === null || address === void 0 ? void 0 : address.streetNumber) ? address.label : null;\n};\nconst shouldHideAddressSearch = (productAreaType) => productAreaType === productArea.mobilePhones || productAreaType === productArea.tablets;\nclass LocationHeader extends Component {\n constructor(props) {\n var _a;\n super(props);\n this.onAddressChange = (value) => {\n //\n if ((value && this.state && this.state.address === value) || this.props.ignoreAddressChange) {\n return;\n }\n // Set the address cookie because the search address component doesn't do it when it's hidden\n if (this.state.hidden) {\n SearchAddressActions.setAddressCookie(value);\n }\n this.setState({\n address: value,\n inputValue: (value || {}).label || null,\n addressNotFound: null,\n isError: null\n });\n if (value) {\n this.hideAddressSearch(true);\n }\n };\n this.onAddressSelect = () => {\n if (this.state.address) {\n this.hideAddressSearch(true);\n }\n };\n this.handleAddressChanged = (address) => {\n if (this.props.ignoreAddressChange) {\n return;\n }\n this.setState({\n address: address || {},\n inputValue: (address || {}).label || null\n });\n };\n this.toggle = () => {\n if (this.state.hidden) {\n this.showAddressSearch();\n }\n else {\n this.setState({\n // Reset input value, otherwise the search bar wouldn't collapse if the address wasn't found\n inputValue: null\n }, () => {\n this.hideAddressSearch();\n });\n }\n };\n // onEnterPress() {\n // this.hideAddressSearch();\n // }\n this.onAddressEmptyResults = () => {\n this.setState({\n addressNotFound: true,\n isError: null\n });\n };\n this.onAddressResponseError = () => {\n this.setState({\n addressNotFound: null,\n isError: true\n });\n };\n this.onInput = (value) => {\n this.setState({\n inputValue: value,\n addressNotFound: null,\n isError: null\n });\n };\n this.onInputInitialized = (input) => {\n if (!input) {\n return;\n }\n input.value = this.state.inputValue || '';\n };\n const label = getLabel(props.address);\n this.state = {\n initialAddress: label,\n address: props.address || {},\n hidden: !!((_a = props.address) === null || _a === void 0 ? void 0 : _a.streetNumber) || shouldHideAddressSearch(props.productAreaType),\n inputValue: label || undefined\n };\n // Set the address cookie because the search address component doesn't do it when it's hidden\n SearchAddressActions.setAddressCookie(props.address);\n this.resultsLocationForm = createRef();\n this.addresSearchRef = createRef();\n }\n showAddressSearch() {\n this.setState({\n hidden: false,\n inputValue: (this.state.address || {}).label || null\n }, () => {\n const searchAddress = this.addresSearchRef.current;\n wo$(this.resultsLocationForm.current).slideDown(400, () => {\n searchAddress.focus();\n });\n });\n }\n hideAddressSearch(force = false) {\n // Do not hide if the value is pending\n // (for example, in case of an error or if the address was not found)\n if (!force && this.state.inputValue && this.state.inputValue !== (this.state.address || {}).label) {\n return;\n }\n wo$(this.resultsLocationForm.current).slideUp(400, () => {\n this.setState({\n hidden: true,\n inputValue: null,\n addressNotFound: null,\n isError: null\n });\n });\n }\n renderErrorWarning(isError) {\n const classes = ClassNames('col-xs-24', { 'c-brand-danger': isError }, { 'c-brand-warning': !isError });\n const message = isError\n ? this.props.addressData.text.unableToVerifyAddress\n : this.props.addressData.text.addressNotFound;\n return (_jsx(\"div\", { className: \"row pad-y-3 pad-x-3 text-center\", children: _jsxs(\"div\", { className: classes, children: [_jsx(\"span\", { className: \"fa fa-exclamation-circle\" }), \" \", message] }) }));\n }\n // eslint-disable-next-line complexity\n render() {\n var _a;\n let addressLabel = this.state.address\n ? this.state.address.label || this.props.text.countryName\n : this.props.text.countryName;\n // If a state, display the long name\n if (this.state.address && this.state.address.state && addressLabel === this.state.address.state.shortName) {\n addressLabel = this.state.address.state.longName;\n }\n const addressLabelString = this.props.addressLabelPrefix && this.props.addressLabelPrefix.length > 0\n ? `${this.props.addressLabelPrefix} ${addressLabel}`\n : addressLabel;\n const addressData = this.props.addressData;\n const searchAddressProps = {\n key: `${this.state.hidden}`,\n ref: this.addresSearchRef,\n className: 'form-group mar-0 pad-y-2',\n inputClassName: 'font-5',\n current: this.state.address,\n countryCode: addressData.countryCode,\n placeholder: addressData.text.addressSearchPlaceHolder,\n tooltipLink: _jsx(\"i\", { children: addressData.text.tooltipLink }),\n tooltipDescription: addressData.text.tooltipDescription,\n addressNotFoundMessage: null,\n commonErrorMessage: null,\n types: addressData.types,\n queryDelay: addressData.queryDelay,\n apiKey: addressData.apiKey,\n onChange: this.onAddressChange,\n onSelect: this.onAddressSelect,\n onEmptyResults: this.onAddressEmptyResults,\n onResponseError: this.onAddressResponseError,\n // onEnterPress: this.onEnterPress,\n onInput: this.onInput,\n onInitialized: this.onInputInitialized\n };\n const searchFormClasses = ClassNames({ 'display-hidden': this.state.hidden });\n const title = ((_a = this.state.address) === null || _a === void 0 ? void 0 : _a.streetNumber)\n ? this.props.text.title\n : this.props.text.title.replace(/\\s+at$/i, ' in');\n return (_jsx(React.StrictMode, { children: _jsxs(_Fragment, { children: [_jsx(AddressChangeTracker, { onAddressChange: this.handleAddressChanged, initialValue: this.state.address }), this.props.useBigTitle ? (_jsx(HeaderBrowse, { address: this.props.text.subTitle || addressLabelString, title: title })) : (_jsx(HeaderSearch, { address: this.props.text.subTitle || addressLabelString, allowEdit: this.props.allowEdit, title: title, onEditClick: this.toggle })), _jsx(\"form\", { ref: this.resultsLocationForm, id: \"resultsLocationForm\", className: searchFormClasses, children: _jsx(AddressSearch, Object.assign({}, searchAddressProps)) }), !this.state.hidden && this.state.addressNotFound ? this.renderErrorWarning(false) : null, !this.state.hidden && this.state.isError ? this.renderErrorWarning(true) : null] }) }));\n }\n}\nLocationHeader.getDerivedStateFromProps = (props, state) => {\n const label = getLabel(props.address);\n return label !== state.initialAddress\n ? {\n initialAddress: label,\n address: props.address || {},\n inputValue: label || undefined\n }\n : null;\n};\nexport default LocationHeader;\n","export const productArea = {\n broadband: 2,\n mobilePhones: 3,\n payTv: 6,\n tablets: 11\n};\n","import React, { Component } from 'react';\n\nimport HeaderMap from './HeaderMap';\n\nexport default class SupplierHeaderMap extends Component {\n\n constructor(props) {\n super(props);\n\n this.getCenterBoundaries = this.getCenterBoundaries.bind(this);\n }\n\n getCenterBoundaries() {\n return {\n left: wo$('#location-header')[0].getBoundingClientRect().right,\n right: wo$('#header-logo-section')[0].getBoundingClientRect().left\n };\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n","import { initReact } from '../../js/vendor/react';\nimport * as SharedComponents from './components';\nexport function initSharedComponents() {\n initReact();\n window['SharedComponents'] = window['SharedComponents'] || SharedComponents;\n}\ninitSharedComponents();\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nexport function initReact() {\n if (window === undefined) {\n return;\n }\n window.React = window.React || React;\n window.ReactDOM = window.ReactDOM || ReactDOM;\n}\n"],"names":["AddressMap","Component","constructor","props","super","this","id","counter","mapWrapperId","state","address","marker","isSmallScreen","onAddressChange","bind","onWindowResize","onResizeEnd","getMapContainer","renderStaticMap","componentDidMount","addEventListener","async","mapboxgl","window","setView","componentWillUnmount","removeEventListener","componentDidUpdate","ignoreAddressChange","AddressHelper","isEqual","setState","wo$","mapContainerId","resizeTimer","clearTimeout","setTimeout","innerWidth","useStaticMap","mapContainer","innerHTML","dynamicMap","onMapRemove","initMap","onMapInit","location","getLocation","countryCode","center","zoom","React","style","width","height","zIndex","className","renderToStaticMarkup","map","Map","accessToken","apiKey","container","styleId","interactive","trackResize","attributionControl","addControl","AttributionControl","offset","setMarker","clearMarker","remove","isCountry","markerIconUrl","data","el","document","createElement","backgroundImage","backgroundSize","backgroundRepeat","Marker","anchor","setLngLat","lng","lat","addTo","currentCenter","getCenter","newCenter","setCenter","JSON","stringify","getZoom","setZoom","panTo","targetLatLng","getOffsetLatLng","getOffset","targetPoint","project","sub","Point","x","y","unproject","wrapperRect","getBoundingClientRect","centerBetween","getCenterBoundaries","expected","left","right","top","bottom","start","end","latitude","longitude","Error","countries","au","ca","mx","nz","uk","us","zoomLevel","unit","streetNumber","street","city","postcode","country","backgroundMapUrl","supported","render","AddressChangeTracker","initialValue","HeaderMap","locationHeaderRect","coverageButton","offsetParent","hidden","contains","array","i","length","toLowerCase","classList","coverageButtonRect","mainContentRect","WithRouter","routes","routeOpts","router","App","children","reduxContext","useContext","isInRouter","withRouter","useMemo","StrictMode","store","AppComponent","LoadingProgress","useEffect","loading","WhistleOut","startProgress","endProgress","propTypes","AddressChangeTrackerComponent","useCallback","value","onAddressChangedEventHandler","e","detail","sender","handleOnMount","Object","assign","Slider","current","onValueChanged","onValueUpdating","handleValueChanged","index","handleValueUpdating","range","min","max","indexOf","createHandle","p","onChange","onAfterChange","step","handle","prototype","isRequired","SliderHandle","forwardRef","ref","disabled","displayName","getParts","text","parts","trim","split","slice","join","setParts","useState","dangerouslySetInnerHTML","__html","isLongText","title","allowEdit","onClick","onEditClick","getLabel","label","LocationHeader","_a","SearchAddressActions","setAddressCookie","inputValue","addressNotFound","isError","hideAddressSearch","onAddressSelect","handleAddressChanged","toggle","showAddressSearch","onAddressEmptyResults","onAddressResponseError","onInput","onInputInitialized","input","productAreaType","initialAddress","undefined","resultsLocationForm","createRef","addresSearchRef","searchAddress","slideDown","focus","force","slideUp","renderErrorWarning","classes","message","addressData","unableToVerifyAddress","addressLabel","countryName","shortName","longName","addressLabelString","addressLabelPrefix","searchAddressProps","key","inputClassName","placeholder","addressSearchPlaceHolder","tooltipLink","tooltipDescription","addressNotFoundMessage","commonErrorMessage","types","queryDelay","onSelect","onEmptyResults","onResponseError","onInitialized","searchFormClasses","replace","useBigTitle","subTitle","AddressSearch","getDerivedStateFromProps","SupplierHeaderMap","initReact","ReactDOM"],"sourceRoot":""}