{"version":3,"file":"rctShared-50685a6d7bfcd2c67734.js","mappings":"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","sources":["webpack://@whistleout/webui/./Areas/Shared/React/js/components/AppComponent.jsx","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/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/LoadingProgress.jsx","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, { useContext, useMemo } from 'react';\nimport { Provider as ReduxProvider, ReactReduxContext } from 'react-redux';\nimport { BrowserRouter, useInRouterContext } from 'react-router-dom';\n\nimport { store } from '../../../js/redux/store';\n\nconst ReduxEnabled = props => {\n const context = useContext(ReactReduxContext);\n\n const wrapper = useMemo(() => {props.children}, [props.children]);\n\n const isInContext = useMemo(() => !!context, [context]);\n return isInContext ? <>{props.children} : wrapper;\n};\n\nconst RouterEnabled = props => {\n const isInRouter = useInRouterContext();\n const wrapper = useMemo(() => {props.children}, [props.children]);\n return isInRouter ? <>{props.children} : wrapper;\n};\n\nconst AppComponent = props => {\n return (\n \n \n {props.children}\n \n \n );\n};\n\nexport default AppComponent;\n","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 { 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 React, { Component } from 'react';\n\n\nexport default class LoadingProgress extends Component {\n constructor(props) {\n super(props);\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.loading === false && this.props.loading === true) {\n WhistleOut.startProgress('#loading-container', 0.1, 50);\n } else if (prevProps.loading === true && this.props.loading === false) {\n WhistleOut.endProgress('#loading-container');\n }\n }\n\n render() {\n return (\n \n
\n {this.props.children}\n
\n
\n );\n }\n}\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":["ReduxEnabled","props","context","useContext","ReactReduxContext","wrapper","useMemo","React","ReduxProvider","store","children","RouterEnabled","isInRouter","useInRouterContext","BrowserRouter","AddressMap","Component","constructor","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","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","propTypes","AddressChangeTrackerComponent","useCallback","value","onAddressChangedEventHandler","e","detail","sender","handleOnMount","useEffect","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","LoadingProgress","prevProps","loading","WhistleOut","startProgress","endProgress","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":""}