{"version":3,"file":"assets/js/chunks/4472.d50567b07d184d2b81db.js","mappings":"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","sources":["webpack://web-pwa/./src/domain/search/SearchTopCities.less?0dc2","webpack://web-pwa/./src/domain/search/ActivitiesTopCities.jsx","webpack://web-pwa/./src/domain/search/filters/SearchActiveFilter.jsx","webpack://web-pwa/./src/domain/search/filters/SearchFilter.jsx","webpack://web-pwa/./src/domain/search/filters/AllFilterButton.jsx","webpack://web-pwa/./src/domain/search/filters/AllFilterButton.less?3915","webpack://web-pwa/./src/domain/search/filters/SearchFilters.jsx","webpack://web-pwa/./src/domain/search/filters/SearchFilters.less?68ce","webpack://web-pwa/./src/domain/search/GeoentitiesResultList.jsx","webpack://web-pwa/./src/domain/search/GeoentitiesResultList.less?31ce","webpack://web-pwa/./src/domain/search/HotelTopCities.jsx","webpack://web-pwa/./src/domain/search/filters/AllFilters.jsx","webpack://web-pwa/./src/domain/search/filters/AllFilters.less?552a","webpack://web-pwa/./src/domain/search/filters/FilterFeaturesButtons.jsx","webpack://web-pwa/./src/domain/search/filters/FilterFeaturesButtons.less?e7a0","webpack://web-pwa/./src/domain/search/HotelIncentiveBanner.jsx","webpack://web-pwa/./src/domain/search/HotelIncentiveBanner.less?b716","webpack://web-pwa/./src/domain/search/SearchMain.jsx","webpack://web-pwa/./src/domain/search/SearchMain.less?d62d"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"root\":\"Eh2CK\",\"title\":\"zJV3o\",\"description\":\"dwNi1\",\"townListTitle\":\"l_cSt\",\"link\":\"rQSLO\"};","import React from 'react'\nimport { useSelector } from 'react-redux'\nimport { selectGeoentityTypeDataForSearch } from '../../store/poiassets/poiassets.selectors'\nimport s from './SearchTopCities.less'\nimport { selectSeoCitiesForContent, selectSeoCurrentRubricLabel } from '../../store/seo/seo.selectors'\nimport { selectIsSeoCityActivityPage } from '../../store/history/history.selectors'\n\nconst ActivitiesTopCities = () => {\n const { isHotel, appOrRubricIds } = useSelector(selectGeoentityTypeDataForSearch)\n const topCities = useSelector(selectSeoCitiesForContent)\n const currentRubricLabel = useSelector(selectSeoCurrentRubricLabel)\n const isActivityPage = useSelector(selectIsSeoCityActivityPage)\n\n if (!isActivityPage || isHotel || !currentRubricLabel) return <>\n\n return (\n
\n
\n Pour votre recherche de “{currentRubricLabel} autour de moi” : trouvez les adresses, les horaires, les\n coordonnées sur la carte et calculez l'itinéraire pour vous y rendre.\n
\n {topCities.length > 0 && (\n <>\n \n \n )}\n
\n )\n}\n\nexport default ActivitiesTopCities\n","import React, { useCallback } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport {\n selectGeoentityActiveFilter,\n selectGeoentityActiveFilterParameter\n} from '../../../store/geoentity/filter.selectors'\nimport { setGeoentityFilterParameters } from '../../../store/geoentity/geoentitySlice'\nimport { navigateToSearchByApp } from '../../../store/history/history.actions'\nimport { findCategoryIdForApp } from '../../../store/poiassets/poiassets.selectors'\nimport { selectSearchAppParameter, selectSearchCategoryParameter } from '../../../store/search/search.selectors'\nimport { MODAL_IDS } from '../../../store/ui/ui.constants'\nimport { resetUiGeoentityActiveFilter } from '../../../store/ui/uiSlice'\nimport { TAG_CLICK_CATEGORY_FILTER } from '../../analytics/analytics.tagids.constants'\nimport { APP_OR_SUBCAT_ID, CAT_ID, FILTER } from '../../analytics/ClickTagsService'\nimport useConfigureAndSendTag from '../../analytics/useConfigureAndSendTag'\nimport { isGE } from '../../Device'\nimport { withEmptyFallbackErrorBoundary } from '../../error/EmptyFallbackErrorBoundary'\nimport DrawerModal from '../../genericComponents/DrawerModal'\nimport { useAction } from '../../utils/react-redux'\nimport FilterConfirm from './FilterConfirm'\n\nconst useFilterTag = () => {\n const configureAndSendTag = useConfigureAndSendTag()\n const catId = useSelector(selectSearchCategoryParameter)\n const appId = useSelector(selectSearchAppParameter)\n const appCatId = useSelector(findCategoryIdForApp(appId))\n\n return useCallback(\n label => {\n configureAndSendTag({\n type: TAG_CLICK_CATEGORY_FILTER,\n tagInfo: {\n [CAT_ID]: catId || appCatId,\n [APP_OR_SUBCAT_ID]: appId,\n [FILTER]: label\n }\n })\n },\n [configureAndSendTag, catId, appCatId, appId]\n )\n}\n\nconst SearchActiveFilter = () => {\n const dispatch = useDispatch()\n const activeFilter = useSelector(selectGeoentityActiveFilter)\n const parameters = useSelector(selectGeoentityActiveFilterParameter)\n const sendTagWithLabel = useFilterTag()\n const execNavigateToSearchByApp = useAction(navigateToSearchByApp)\n\n const filterSubmitHandler = useCallback(\n filterValue => {\n if (filterValue?.navigateToApp) {\n execNavigateToSearchByApp(filterValue.navigateToApp)\n } else {\n dispatch(setGeoentityFilterParameters(filterValue))\n }\n sendTagWithLabel(activeFilter)\n },\n [sendTagWithLabel, activeFilter, execNavigateToSearchByApp]\n )\n\n const closeHandler = useCallback(() => dispatch(resetUiGeoentityActiveFilter()), [])\n\n if (!activeFilter) return <>\n\n return (\n \n )\n\n}\n\nexport default withEmptyFallbackErrorBoundary(SearchActiveFilter)\n","import React, { useCallback } from 'react'\nimport { useSelector } from 'react-redux'\nimport { setGeoentityActiveFilter } from '../../../store/ui/ui.actions'\nimport { useAction } from '../../utils/react-redux'\nimport DateRangeFilterLabel from './DateRangeFilterLabel'\nimport FilterButton from './FilterButton'\nimport { HOTEL_DATEPICKER_ID } from './filters.constants'\nimport { selectUIGeoentityActiveFilterId } from '../../../store/ui/ui.selectors'\n\nconst SearchFilterLabel = ({ filter }) => {\n const { id, shortLabel, parameterValues, fromDateLabel, toDateLabel } = filter\n if (id === HOTEL_DATEPICKER_ID) {\n const { from, to } = parameterValues ?? {}\n return \n }\n return shortLabel\n}\n\nconst SearchFilter = ({ filter }) => {\n const setActiveFilter = useAction(setGeoentityActiveFilter)\n const isOpened = useSelector(selectUIGeoentityActiveFilterId) === filter.id\n const isActive = Boolean(filter.parameterValues)\n\n const clickHandler = useCallback(() => setActiveFilter(filter.id), [])\n\n return (\n \n \n \n )\n}\n\nexport default SearchFilter\n","import React from 'react'\nimport SVGIcon from '../../svg/SVGIcon'\nimport filters from './filters.svg'\nimport s from './AllFilterButton.less'\nimport { useSelector } from 'react-redux'\nimport { selectFiltersWithParametersCount } from '../../../store/geoentity/filter.selectors'\nimport useEventCallback from '../../utils/useEventCallback'\nimport { useAction } from '../../utils/react-redux'\nimport { navigateTo } from '../../../store/history/history.actions'\nimport { ROUTE_SEARCH_FILTERS } from '../../../routes'\n\nconst AllFilterButton = ({ displayText = true, displayIcon = true }) => {\n const activeCount = useSelector(selectFiltersWithParametersCount)\n const execNavigateTo = useAction(navigateTo)\n\n const handleClick = useEventCallback(() => {\n execNavigateTo({ route: ROUTE_SEARCH_FILTERS })\n })\n\n return (\n
\n {displayIcon && (\n <>\n {activeCount > 0 &&
{activeCount}
}\n \n \n )}\n {displayText && 'Tous les filtres'}\n
\n )\n}\n\nexport default AllFilterButton\n","// extracted by mini-css-extract-plugin\nexport default {\"root\":\"pM6gd\",\"count\":\"ReyML\"};","import React from 'react'\nimport { useSelector } from 'react-redux'\nimport {\n selectGeoentitiesPrimaryFilters,\n selectShouldDisplayAllFiltersOnPE\n} from '../../../store/geoentity/filter.selectors'\nimport SearchFilter from './SearchFilter'\nimport s from './SearchFilters.less'\nimport AllFilterButton from './AllFilterButton'\n\nconst SearchFilters = () => {\n const filters = useSelector(selectGeoentitiesPrimaryFilters)\n const shouldDisplayAllFiltersOnPE = useSelector(selectShouldDisplayAllFiltersOnPE)\n\n if (!filters.length) return <>\n\n return (\n <>\n
\n {shouldDisplayAllFiltersOnPE && }\n {filters\n .map(filter => (\n \n ))}\n {shouldDisplayAllFiltersOnPE && }\n
\n \n )\n}\nexport default SearchFilters\n","// extracted by mini-css-extract-plugin\nexport default {\"root\":\"J7cMt\"};","import React from 'react'\nimport { useSelector } from 'react-redux'\nimport {\n selectGeoentities,\n selectGeoentityError,\n selectIsWaitingForRequestedGeoentities\n} from '../../store/geoentity/geoentity.selectors'\nimport { withEmptyFallbackErrorBoundary } from '../error/EmptyFallbackErrorBoundary'\nimport GeoentityList from '../geoentity/GeoentityList'\nimport T from '../i18n/T'\nimport s from './GeoentitiesResultList.less'\n\nconst GeoentitiesResultList = () => {\n const isWaitingForGeoentities = useSelector(selectIsWaitingForRequestedGeoentities)\n const pois = useSelector(selectGeoentities)\n const error = useSelector(selectGeoentityError)\n const noPois = !isWaitingForGeoentities && pois.length === 0\n\n if (error || noPois) {\n return (\n
\n \n
\n )\n }\n\n return (\n
\n \n
\n )\n}\nexport default withEmptyFallbackErrorBoundary(GeoentitiesResultList)\n","// extracted by mini-css-extract-plugin\nexport default {\"error\":\"qFnT9\",\"root\":\"Qx05p\"};","import React from 'react'\nimport { useSelector } from 'react-redux'\nimport { selectGeoentityTypeDataForSearch } from '../../store/poiassets/poiassets.selectors'\nimport { slugifyTown } from '../seo/seo'\nimport s from './SearchTopCities.less'\n\nconst topCities = [\n { town: 'Paris', postcode: '75000' },\n { town: 'Lyon', postcode: '69000' },\n { town: 'Toulouse', postcode: '31000' },\n { town: 'Nantes', postcode: '44000' },\n { town: 'Bordeaux', postcode: '33000' },\n { town: 'Marseille', postcode: '13000' },\n { town: 'Clermont-Ferrand', postcode: '63000' },\n { town: 'Montpellier', postcode: '34000' },\n { town: 'Lille', postcode: '59000' },\n { town: 'Rennes', postcode: '35000' },\n { town: 'Strasbourg', postcode: '67000' },\n { town: 'Nice', postcode: '06000' },\n { town: 'Dijon', postcode: '21000' },\n { town: 'Tours', postcode: '37000' },\n { town: 'Reims', postcode: '51100' },\n { town: 'Aix-en-Provence', postcode: '13080' },\n { town: 'Limoges', postcode: '87000' },\n { town: 'Poitiers', postcode: '86000' },\n { town: 'Grenoble', postcode: '38000' },\n { town: 'Le Mans', postcode: '72000' }\n]\n\nconst HotelTopCities = () => {\n const { isHotel } = useSelector(selectGeoentityTypeDataForSearch)\n\n if (!isHotel) return <>\n\n return (\n
\n

Réservez votre hôtel partout en France et dans le monde

\n
\n Une grande variété d'hôtels sont disponibles sur notre site: hôtels, chambres d'hôtes et réservables en un seul\n clic.\n
\n
Les hôtels les plus réservés sur Mappy
\n \n
\n )\n}\n\nexport default HotelTopCities\n","import React, { useCallback, useReducer, useRef } from 'react'\nimport s from './AllFilters.less'\nimport useUIDisplay from '../../ui/useUIDisplay'\nimport { MODAL_IDS, UI_ELEMENTS } from '../../../store/ui/ui.constants'\nimport SVGIcon from '../../svg/SVGIcon'\nimport cross from '../../genericComponents/assets/cross.svg'\nimport DrawerModal from '../../genericComponents/DrawerModal'\nimport { isGE } from '../../Device'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { selectGeoentitiesFilters } from '../../../store/geoentity/filter.selectors'\nimport { Filter } from './Filter'\nimport { POIS_FILTERS } from './filters.constants'\nimport RectangleActionButton, { COLOR_WHITE, SIZE_BIG } from '../../genericComponents/buttons/RectangleActionButton'\nimport { resetGeoentityFilterParameters, setGeoentityFilterParameters } from '../../../store/geoentity/geoentitySlice'\nimport DateRangeFilterLabel from './DateRangeFilterLabel'\nimport up from '../../genericComponents/assets/up.svg'\nimport down from '../../genericComponents/assets/down.svg'\nimport useToggle from '../../utils/useToggle'\nimport FilterConfirm from './FilterConfirm'\nimport { useAction } from '../../utils/react-redux'\nimport { navigateBack } from '../../../store/history/history.actions'\n\nconst FilterItem = ({ filter, parameters, onChange }) => {\n const [isActive, toggleActive] = useToggle(false)\n const elementRef = useRef(null)\n\n switch (filter.type) {\n case POIS_FILTERS.multidatepicker.type:\n const { fromDateLabel, toDateLabel } = filter\n const { from, to } = parameters ?? {}\n return (\n <>\n
\n
\n \n
\n \n
\n {isActive && (\n {\n onChange(params)\n toggleActive()\n }}\n onClose={toggleActive}\n displayTitle={false}\n topPosition={elementRef.current?.offsetTop + 48}\n />\n )}\n \n )\n default:\n return \n }\n}\n\nconst filterValuesReducer = (state, action) => {\n switch (action.type) {\n case 'change':\n return {\n ...state,\n ...action.payload\n }\n }\n}\n\nconst AllFiltersContent = ({ onClose }) => {\n const dispatch = useDispatch()\n const filters = useSelector(selectGeoentitiesFilters)\n const [filterValues, dispatchFilterValues] = useReducer(filterValuesReducer, {})\n\n const onChange = useCallback(filterValue => {\n dispatchFilterValues({\n type: 'change',\n payload: filterValue\n })\n }, [])\n\n const submitHandler = useCallback(() => {\n dispatch(setGeoentityFilterParameters(filterValues))\n onClose()\n }, [filterValues])\n\n const resetHandler = useCallback(() => {\n dispatch(resetGeoentityFilterParameters({ fromUI: true }))\n onClose()\n }, [])\n\n return (\n <>\n
\n
\n \n
\n Filtres\n
\n
    \n {filters.map(filter => (\n
  • \n
    {filter.label}
    \n
    \n \n
    \n
  • \n ))}\n
\n
\n \n \n
\n \n )\n}\n\nconst AllFilters = () => {\n const { isUIDisplayed } = useUIDisplay(UI_ELEMENTS.ALL_FILTERS_DIALOG)\n const execNavigateBack = useAction(navigateBack)\n\n if (!isUIDisplayed) return <>\n\n return isGE() ? (\n
\n \n
\n ) : (\n \n \n \n )\n}\n\nexport default AllFilters\n","// extracted by mini-css-extract-plugin\nexport default {\"root\":\"NyEc8\",\"header\":\"NYaf4\",\"cross\":\"If0eP\",\"list\":\"k48Pv\",\"listItem\":\"z1LVZ\",\"listItemTitle\":\"dL6mm\",\"listItemContent\":\"iLGRv\",\"buttons\":\"U4nJL\",\"dateFilterRoot\":\"jwFEw\",\"dateCapsule\":\"_0IIK\",\"dateFilter\":\"rND4y\"};","import React from 'react'\nimport s from './FilterFeaturesButtons.less'\nimport AllFilterButton from './AllFilterButton'\n\nconst FilterFeaturesButtons = () => (\n
\n \n
\n)\n\nexport default FilterFeaturesButtons\n","// extracted by mini-css-extract-plugin\nexport default {\"root\":\"vquxc\"};","import React from 'react'\nimport s from './HotelIncentiveBanner.less'\nimport calendar from './hotel_calendar.svg'\nimport SVGIcon from '../svg/SVGIcon'\nimport { useSelector } from 'react-redux'\nimport { selectFilterHotelDates, selectHasFilterMultiDatePicker } from '../../store/geoentity/filter.selectors'\nimport { useAction } from '../utils/react-redux'\nimport { setGeoentityActiveFilter } from '../../store/ui/ui.actions'\nimport { HOTEL_DATEPICKER_ID } from './filters/filters.constants'\n\nconst HotelIncentiveBanner = () => {\n const setActiveFilter = useAction(setGeoentityActiveFilter)\n\n const isHotel = useSelector(selectHasFilterMultiDatePicker)\n const hotelDates = useSelector(selectFilterHotelDates)\n const shouldDisplayBanner = !hotelDates && isHotel\n\n if (!shouldDisplayBanner) return <>\n\n return (\n
setActiveFilter(HOTEL_DATEPICKER_ID)}>\n \n \n Ajoutez vos dates pour afficher les prix et vérifier la disponibilité des chambres\n \n
\n )\n}\n\nexport default HotelIncentiveBanner\n","// extracted by mini-css-extract-plugin\nexport default {\"hotelIncentiveContainer\":\"TdfuD\",\"hotelIncentiveIcon\":\"ZgRHR\",\"hotelIncentiveText\":\"_GwAc\"};","import React from 'react'\nimport { useSelector } from 'react-redux'\nimport {\n selectGeoentitiesFilters,\n selectShouldDisplayFilterFeaturesButtonsOnGE\n} from '../../store/geoentity/filter.selectors'\nimport Footer from '../footer/Footer'\nimport { HEADER_SUBHEADER_HEIGHT } from '../header/header-constants'\nimport Main from '../main/Main'\nimport ActivitiesTopCities from './ActivitiesTopCities'\nimport SearchActiveFilter from './filters/SearchActiveFilter'\nimport SearchFilters from './filters/SearchFilters'\nimport GeoentitiesResultList from './GeoentitiesResultList'\nimport HotelTopCities from './HotelTopCities'\nimport s from './SearchMain.less'\nimport AllFilters from './filters/AllFilters'\nimport FilterFeaturesButtons from './filters/FilterFeaturesButtons'\nimport HotelIncentiveBanner from './HotelIncentiveBanner'\n\nconst FILTERS_HEIGHT = HEADER_SUBHEADER_HEIGHT\nconst MORE_FILTERS_HEIGHT = 32\n\nconst SearchMain = () => {\n const hasGeoentityFilters = useSelector(selectGeoentitiesFilters)?.length ?? 0\n const shouldDisplayFilterFeaturesButtons = useSelector(selectShouldDisplayFilterFeaturesButtonsOnGE)\n\n return (\n <>\n 0\n ? {\n preContent: (\n <>\n \n {shouldDisplayFilterFeaturesButtons && }\n \n ),\n preContentHeight: FILTERS_HEIGHT + (shouldDisplayFilterFeaturesButtons ? MORE_FILTERS_HEIGHT : 0)\n }\n : {})}\n >\n
\n \n \n \n \n
\n