{"version":3,"file":"js/955-753fb648f313b3da920b.chunk.js","mappings":"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","sources":["webpack:///./app/javascript/components/ListView/ListViewItems/ListViewItems.jsx","webpack:///./app/javascript/components/ListView/SharedComponents/ItemsListComponents.jsx","webpack:///./app/javascript/components/SharedComponents/EmblaCarousel/EmblaCarouselDotButton.jsx","webpack:///./app/javascript/components/SharedComponents/EmblaCarousel/NavigationButtons.jsx","webpack:///./app/javascript/components/SharedComponents/EmblaCarousel/index.jsx","webpack:///./app/javascript/components/helpers/trovit_analitics.js"],"sourcesContent":["import React, { Component, Fragment, Suspense } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport 'react-responsive-carousel/lib/styles/carousel.min.css';\nimport { isMobileOnly, isMobile } from 'react-device-detect';\nimport ReactTooltip from \"react-tooltip\";\n\nimport httpService from '../../../api/httpService';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport { mappedMonths } from '../../helpers/danishMonths';\nimport FavouriteIcon from '../../SharedComponents/FavouriteIcon';\nimport { DescriptionLine, handleListItemClick } from '../SharedComponents/ItemsListComponents';\nimport EmblaCarousel from \"../../SharedComponents/EmblaCarousel\";\nimport { sendTrovitLead } from \"../../helpers/trovit_analitics\";\n\nconst CompareIcon = React.lazy(() => import('../../SharedComponents/CompareIcon'));\nconst InfoBadges = React.lazy(() => import('../../SharedComponents/InfoBadges'));\nconst InfoNotice = React.lazy(() => import('../../SharedComponents/InfoNotice'));\nconst GetInfoFormModal = React.lazy(() => import('../../SharedComponents/GetInfoFormModal'));\n\n\nimport './ListViewItems.sass';\n\n\nclass ListViewItems extends Component {\n  state = {\n    isActiveInfoForm: false,\n    orderedLocations: [],\n    additionalFormPadding: null,\n    offset: null,\n    submitSuccess: false,\n    infoSent: false,\n    dataProtectionIsOpen: false,\n    showServerErrorMessage: false,\n    showMorePhotos: false,\n    isLoading: false,\n    showEnergyRatingTooltip: false,\n    orderId: null,\n  };\n\n  static timestamp() {\n    return { timestamp: new Date().toISOString() };\n  }\n\n  componentDidMount() {\n    window.history.scrollRestoration = 'manual';\n  }\n\n  handleOpenInfoForm = () => {\n    this.setState({ isActiveInfoForm: true });\n  };\n\n  handleCloseInfoForm = () => {\n    this.setState({ isActiveInfoForm: false, showServerErrorMessage: false });\n    window.removeEventListener('mousedown', this.handleClickOutside);\n  };\n\n  infoHandlerSubmit = (params, orderUrl, abTestParam) => {\n    const { uuid } = this.props.locationData;\n\n    // params.ab_code = abTestParam;\n\n    this.setState({ isLoading: true });\n\n    httpService\n      .orderInfoListViewForm(orderUrl, params, uuid)\n      .then((response) => {\n        if (response) {\n          const orderedLocations = JSON.parse(localStorage.getItem('my.ordered_locations'));\n          const { order_uuid } = response;\n\n          orderedLocations[uuid] = [this.constructor.timestamp()];\n\n          const updateOrderedLocation = JSON.stringify(orderedLocations);\n\n          localStorage.setItem('my.ordered_locations', updateOrderedLocation);\n\n          sendTrovitLead(this.props.siteKey);\n\n          this.setState({\n            submitSuccess: true,\n            showServerErrorMessage: false,\n            isLoading: false,\n            orderId: order_uuid,\n          });\n\n          this.props.setOrderedLocations(Object.keys(orderedLocations));\n\n          window.dataLayer = window.dataLayer || [];\n          window.dataLayer.push({\n            event: 'ga4-get-info-form-submit',\n            eventCategory: 'submit-info-form-list-view',\n            eventAction: 'submit-info-form-list-view',\n          });\n        } else {\n          this.setState({\n            submitSuccess: false,\n            showServerErrorMessage: true,\n            isLoading: false,\n          });\n        }\n      });\n  };\n\n  handleSlideChange = () =>\n    !this.state.showMorePhotos && this.setState({ showMorePhotos: true });\n\n  promotedLink = (e) => {\n    if (!e.ctrlKey && !e.metaKey) {\n      e.preventDefault();\n      e.stopPropagation();\n\n      const href =\n        'https://www.lokalebasen.dk/serviceydelser-til-udlejere/fremhevet/annoncering';\n      window.open(href, '_blank');\n    }\n  };\n\n  handleTooltip = (key, tooltipRef) => {\n    const tooltipShowState = this.state[key];\n\n    this.setState({ [key]: !tooltipShowState }, () =>\n      tooltipShowState ? ReactTooltip.hide(this[tooltipRef]) : ReactTooltip.show(this[tooltipRef])\n    );\n  };\n\n  afterHide = (key) =>\n    this.setState({ [key]: false });\n\n\n  render() {\n    const {\n      currentSlide,\n      infoSent,\n      isActiveInfoForm,\n      isLoading,\n      showMorePhotos,\n      showServerErrorMessage,\n      submitSuccess,\n      orderId,\n    } = this.state;\n\n    const {\n      comparableLocations,\n      countryAlpha2,\n      currency,\n      favouriteLocationsIds,\n      hideMap,\n      missingImagesUrl,\n      locationData,\n      orderedLocations,\n      section,\n      siteKey,\n      updateComparableLocations,\n      updateFavouriteLocations,\n      userCountryPhoneCode,\n    } = this.props;\n\n    const {\n      address_line1,\n      address_title,\n      anonymous,\n      description,\n      energy_rating,\n      exempted_energy,\n      href,\n      id,\n      indexing_prohibited,\n      is_increased_in_listview,\n      is_internal,\n      kind,\n      nearby_parking_lot,\n      order_path,\n      postal_code,\n      postal_name,\n      presenter,\n      price_decrease_percentage,\n      provider_logo,\n      provider_name,\n      secondary_kinds,\n      show_full_address,\n      show_new_badge,\n      show_price_decrease_label,\n      shown_as_rented_out,\n      special_offer,\n      street_name,\n      suitable_for_kinds,\n      temporarily_unavailable,\n      uuid,\n      provider_partner,\n      monthly_rent_price,\n    } = locationData;\n\n\n    // TODO remove after deploy and locations props update\n    const all_photos = locationData.all_photos || locationData.first_3_photos || [];\n    const premium = is_increased_in_listview;\n    const premiumOnlyDK = is_increased_in_listview && countryAlpha2 === 'dk';\n    const suitableFor = suitable_for_kinds || [];\n    const locationKinds = [kind, ...secondary_kinds];\n    const descriptionLines = premium ? 5 : suitableFor.length && is_internal ? 2 : 3;\n    // const isJeudan = provider_name && provider_name.toLowerCase() === 'jeudan';\n    const suitableForList = suitableFor.length ? (suitableFor.length > 1 ? suitableFor.slice(0, 1) : suitableFor) : null;\n    const kindsCountToShow = isMobile ? 1 : 2;\n    const locationKindsLength = locationKinds.length > kindsCountToShow && locationKinds.length - kindsCountToShow;\n    const reducedKinds = (locationKindsLength && locationKinds.slice(0, kindsCountToShow)) || locationKinds;\n    const closedMonth = mappedMonths(locationData.closed_month);\n    const streetName = street_name ? street_name + ',' : null;\n    const addressLine = address_line1 ? address_line1 + ',' : null;\n    const addressOrStreet =  streetName || addressLine;\n    const energyRatingMark = energy_rating ? `${energy_rating}`.toLowerCase() : exempted_energy ? 'exempted' : null;\n    const energyRatingLabel = energy_rating ? I18n.t('activerecord.attributes.property.energy_rating') : I18n.t('simple_form.options.location.energy_rating.X');\n    const { persons, persons_label, persons_tooltip } = presenter;\n    const { formatted_monthly_rent_price, monthly_rent_label } = monthly_rent_price || {};\n    const showInfoBadges = anonymous || show_new_badge || shown_as_rented_out || temporarily_unavailable || is_internal || special_offer;\n\n    const getInfoForm = classNames('form-block col-lg-9 col-sm-12', {\n      'active-form': isActiveInfoForm,\n    });\n\n    const descriptionClasses = classNames('description-line mobile-hidden', {\n      'reduced': suitableFor.length,\n    });\n\n    const locationClasses = classNames('container list-item max-width', {\n      'list-item--premium': premium,\n    });\n\n    const sliderClasses = classNames('list-item__image-slider', {\n      disabled: all_photos.length === 1 || shown_as_rented_out || temporarily_unavailable,\n      anonymous,\n      crawled: is_internal,\n      'rented-out': shown_as_rented_out || temporarily_unavailable,\n      'col-xl-3 col-lg-3 col-md-4 col-3': !premium,\n    });\n\n    const descriptionWrapperClasses = classNames('list-item__description-wrapper', {\n      'col-xl-6 col-lg-6 col-md-4 col-sm-9 col-9': !premium,\n      'rented-out': shown_as_rented_out || temporarily_unavailable,\n    })\n\n    const metricsWrapperClasses = classNames('list-item__metrics-wrapper mobile-hidden col-lg-3 col-md-4', {\n      'rented-out': shown_as_rented_out || temporarily_unavailable,\n    });\n\n    const styles = {\n      itemStyle: shown_as_rented_out || temporarily_unavailable ? { background: '#F4F5F5' } : null,\n      carouselStyle: shown_as_rented_out || temporarily_unavailable ? { filter: 'grayscale(100%)' } : null,\n    };\n\n    const SLIDES = all_photos.map((elem, index) => (\n      <div key={elem} className=\"list-item__image-wrapper\">\n        <img\n          className={\n            index <= 1 ||\n            index === all_photos.length - 1 ||\n            showMorePhotos\n              ? 'lazyload blur-up'\n              : ''\n          }\n          data-sizes=\"auto\"\n          alt={elem.alt}\n          data-src={elem.url}\n          data-expand=\"500\"\n          style={styles.carouselStyle}\n          height=\"172\"\n          width=\"100%\"\n        />\n      </div>\n    ));\n\n    const OPTIONS = { loop: true };\n    const disableScroll = shown_as_rented_out || temporarily_unavailable;\n\n\n    return (\n      <div className={locationClasses}>\n        <a\n          href={href}\n          className=\"list-item__wrapper row\"\n          onClick={(e) => handleListItemClick(e, href, id)}\n          {...(indexing_prohibited ? { rel: 'noindex nofollow' } : {})}\n          style={styles.itemStyle}\n        >\n          <div className={sliderClasses}>\n\n            { showInfoBadges &&\n              <Suspense fallback={''}>\n                <InfoBadges\n                  anonymous={anonymous}\n                  closedMonth={siteKey === 'dk' && !isMobileOnly ? closedMonth : null}\n                  isCrawled={is_internal}\n                  isRentedOut={shown_as_rented_out || temporarily_unavailable}\n                  isNew={show_new_badge}\n                  hideCrawledBottom={true}\n                  missingImagesUrl={missingImagesUrl}\n                  rentedOutLabel={temporarily_unavailable ? I18n.t('activerecord.attributes.location.states.temporarily_unavailable') : null}\n                  sale={section !== 'lease'}\n                  specialOffer={special_offer}\n                  wrapperClass=\"list-view\"\n                />\n              </Suspense>\n            }\n\n            <EmblaCarousel\n              carouselName=\"list-item-slider\"\n              disableScroll={disableScroll}\n              handleChange={this.handleSlideChange}\n              slides={SLIDES}\n              options={OPTIONS}\n              withDots\n            />\n\n            { section === 'lease' && !isMobileOnly &&\n              <Suspense fallback={''}>\n                <CompareIcon\n                  comparableLocations={comparableLocations}\n                  kind={kind}\n                  locationId={id}\n                  siteKey={siteKey}\n                  tooltipPosition={'left'}\n                  updateComparableLocations={updateComparableLocations}\n                />\n              </Suspense>\n            }\n\n            <FavouriteIcon\n              favoriteLocations={favouriteLocationsIds}\n              locationId={id}\n              section={section}\n              siteKey={siteKey}\n              tooltipPosition={'left'}\n              updateFavouriteLocations={updateFavouriteLocations}\n            />\n          </div>\n\n          <div className={descriptionWrapperClasses}>\n            <div className=\"list-item__kinds-line\">\n              <span className=\"list-item__kinds\">\n                { reducedKinds.map((elem, index) =>\n                  <span className=\"list-item__kind\" key={index}>{ I18n.t(`generic.${elem}`)} </span>\n                )}\n\n                { locationKindsLength\n                  ? <span className=\"list-item__kind\">\n                      +{ locationKindsLength }\n                    </span>\n                  : null\n                }\n              </span>\n\n              { energyRatingMark &&\n                <div className={`list-item__energy-rating-wrapper ${energyRatingMark} list`}\n                     role=\"button\"\n                     aria-labelledby=\"energy-rating\">\n                  <div className={`list-item__energy-rating ${energyRatingMark}`}\n                       data-class=\"list-item-tooltip\"\n                       data-for={'energy-rating' + id}\n                       data-tip={energyRatingLabel}\n                       onClick={() => this.handleTooltip('showEnergyRatingTooltip', 'EnergyRatingRef')}\n                       ref={ref => this.EnergyRatingRef = ref}\n                       role=\"button\">\n                    <div className=\"list-item__energy-rating-label\">\n                      { energyRatingLabel }\n                    </div>\n                    <SvgIco\n                      name={`energy-rating-${energyRatingMark}`}\n                      width={premium ? 24 : 18}\n                      height={premium ? 24 : 18}\n                    />\n                    <ReactTooltip\n                      afterHide={() => this.afterHide('showEnergyRatingTooltip')}\n                      effect=\"solid\"r\n                      id={'energy-rating' + id}\n                      place=\"left\"\n                    />\n                  </div>\n                </div>\n              }\n            </div>\n\n            <div className=\"list-item__description-title\">\n              <h4>{ address_line1 }, { show_full_address && postal_code } { postal_name }</h4>\n\n              { (premium && suitableForList)\n                ?\n                  <p style={styles.descriptionStyle}>\n                    { addressOrStreet } { show_full_address && postal_code }{' '}\n                    { postal_name }\n                  </p>\n                :\n                  <Fragment>\n                    <div className=\"list-item__description-title-wrapper\">\n                      <p style={styles.descriptionStyle}>\n                        { street_name || address_line1 }\n                      </p>\n                      <p>\n                        { show_full_address && postal_code } { postal_name }\n                      </p>\n                    </div>\n                    <div className=\"list-item__description-title-wrapper desktops\">\n                      <p style={styles.descriptionStyle}>\n                        { addressOrStreet } { show_full_address && postal_code }{' '}\n                        { postal_name }\n                      </p>\n                    </div>\n                  </Fragment>\n              }\n            </div>\n\n            { suitableForList &&\n              <div className={`suitable-for ${is_internal ? 'top' : ''}`}>\n                { suitableForList.map((elem, index) =>\n                  <div className=\"suitable-for__item\" key={index}>\n\n                    <SvgIco name={elem} width={22} height={22} />\n\n                    <span className=\"suitable-for__label\">\n                      { I18n.t(`lb_showroom.showroom.suitable.for.${elem}`) }\n                    </span>\n\n                    { index === suitableForList.length - 1 && suitableFor.length > 1 &&\n                      <div className=\"suitable-for__more\">\n                        +{ suitableFor.length - 1 }\n                      </div>\n                    }\n                  </div>\n                )}\n              </div>\n            }\n\n            <div className={descriptionClasses}>\n              <p>\n                {\n                  <DescriptionLine\n                    substring={description}\n                    lines={descriptionLines}\n                  />\n                }\n              </p>\n            </div>\n\n            <div className=\"list-item__bottom-wrapper\">\n              <div className=\"list-item__bottom\">\n\n                { is_internal &&\n                  <Suspense fallback={''}>\n                    <div role=\"button\">\n                      <div role=\"button\">\n                        <InfoNotice\n                          id={id}\n                          missingImagesUrl={missingImagesUrl}\n                          noticeKind={'parsed'}\n                          root=\"list\"\n                          showCopyright={true}\n                        />\n                      </div>\n                    </div>\n                  </Suspense>\n                }\n              </div>\n            </div>\n\n            { premium && <span className=\"list-item__premium-separator\" /> }\n\n          </div>\n\n          <div className={metricsWrapperClasses}>\n            <div className=\"list-item__metrics\">\n              { (persons || presenter.area) &&\n                <div className=\"list-item__metrics-area\">\n                  <p className=\"list-item__metrics-description\">\n                    { persons ? persons_label : presenter.area_label}:\n                  </p>\n                  <p className=\"list-item__metrics-square\">\n                    { persons || presenter.area }\n                    { persons && persons_tooltip &&\n                      <span className=\"list-view__info-tooltip\"\n                            role=\"button\"\n                            data-for={'persons-list-tooltip-' + id}\n                            data-tip={persons_tooltip}\n                            onClick={() => this.handleTooltip('showPersonsTooltip', 'PersonsTooltipRef')}\n                            ref={ref => this.PersonsTooltipRef = ref}>\n                    <SvgIco name=\"info_outline\" size={14} />\n                    <ReactTooltip\n                      afterHide={() => this.afterHide('showPersonsTooltip')}\n                      effect=\"solid\"\n                      id={'persons-list-tooltip-' + id}\n                      place=\"top\"\n                      className=\"persons-tooltip\"\n                    />\n                  </span>\n                    }\n                  </p>\n                </div>\n              }\n\n              <div className={`list-item__price-wrapper ${ premium ? 'promoted-location' : ''}`}>\n                <div>\n                  { formatted_monthly_rent_price &&\n                    <Fragment>\n                      <p className=\"list-item__metrics-description\">\n                        { monthly_rent_label }:\n                      </p>\n                      <p className=\"list-item__price month-price\" style={{ display: 'flex' }}>\n                        { formatted_monthly_rent_price }\n                        { show_price_decrease_label &&\n                          <div className=\"sale-image-badge\">\n                            <span className=\"percentage\">-{price_decrease_percentage}%</span>\n                          </div>\n                        }\n                      </p>\n                    </Fragment>\n                  }\n                </div>\n                <div>\n                  <p className=\"list-item__metrics-description\">{presenter.label}:</p>\n                  <p className={`list-item__price ${!formatted_monthly_rent_price ? 'month-price' : '' }`} style={{ display: 'flex' }}>\n                    { presenter.price }\n                    { !formatted_monthly_rent_price && show_price_decrease_label &&\n                      <div className=\"sale-image-badge\">\n                        <span className=\"percentage\">-{price_decrease_percentage}%</span>\n                      </div>\n                    }\n                  </p>\n                </div>\n              </div>\n            </div>\n\n            { !shown_as_rented_out && !temporarily_unavailable &&\n              <div role=\"button\" className={`list-item__info-button-wrapper ${orderedLocations.includes(uuid) ? 'list-item__info-sent' : ''}`}>\n                { orderedLocations.includes(uuid)\n                  ?\n                    <div className=\"b-button list-item__get-info-button sent-info\">\n                      <SvgIco name=\"check\" size={24}/>\n                      { I18n.t('apps.lb_showroom.detailed.order_form.cta_fixed_info_sent') }\n                    </div>\n                  :\n                    <div role=\"button\">\n                      <div className=\"b-button list-item__get-info-button\"\n                           id={'infoFormBtn' + id}\n                           onClick={this.handleOpenInfoForm}>\n                        { I18n.t('apps.lb_showroom.detailed.order_form.get_information') }\n                      </div>\n                    </div>\n                }\n\n                { premiumOnlyDK && (\n                  <div\n                    role=\"button\"\n                    className=\"list-item__premium-link\"\n                    onClick={(e) => this.promotedLink(e)}>\n                    { I18n.t('generic.promoted_location_link') }\n                  </div>\n                )}\n\n              </div>\n            }\n\n\n            { (shown_as_rented_out || temporarily_unavailable) && premiumOnlyDK &&\n              <div\n                role=\"button\"\n                className=\"list-item__premium-link\"\n                onClick={(e) => this.promotedLink(e)}>\n                { I18n.t('generic.promoted_location_link') }\n              </div>\n            }\n          </div>\n        </a>\n\n        { isActiveInfoForm &&\n          <div className={getInfoForm} id={'listItemFormWrapper' + id}>\n            <div\n              className=\"list-item__close-form-button\"\n              onClick={this.handleCloseInfoForm}\n            />\n            <div className=\"list-item__form-wrapper\">\n              <div className=\"list-item__info-form-wrapper\">\n                <Suspense fallback={\n                            <div className=\"spinner-wrapper order-form-spinner\">\n                              <div className=\"smoothie-spinner\" />\n                            </div>}>\n                  <GetInfoFormModal\n                    submitHandler={this.infoHandlerSubmit}\n                    parkingCheckbox={nearby_parking_lot}\n                    orderUrl={order_path}\n                    id={id}\n                    infoSent={infoSent}\n                    submitSuccess={submitSuccess}\n                    // isJeudan={isJeudan}\n                    handleClose={this.handleCloseInfoForm}\n                    gtmClass=\"getInfoForm\"\n                    address={address_title}\n                    showServerErrorMessage={showServerErrorMessage}\n                    isLoading={isLoading}\n                    userCountryPhoneCode={userCountryPhoneCode}\n                  />\n                </Suspense>\n              </div>\n            </div>\n          </div>\n        }\n      </div>\n    );\n  }\n}\n\nListViewItems.propTypes = {\n  address_title: PropTypes.string,\n  address_line1: PropTypes.string,\n  closed_month: PropTypes.string,\n  description: PropTypes.string,\n  href: PropTypes.string,\n  id: PropTypes.string,\n  kind: PropTypes.string,\n  locationData: PropTypes.object,\n  missingImagesUrl: PropTypes.string,\n  postal_name: PropTypes.string,\n  presenter: PropTypes.object,\n  provider_logo: PropTypes.string,\n  provider_name: PropTypes.string,\n  provider_url: PropTypes.string,\n  secondary_kinds: PropTypes.array,\n  show_new_badge: PropTypes.bool,\n  shown_as_rented_out: PropTypes.bool,\n  show_full_address: PropTypes.bool,\n  temporarily_unavailable: PropTypes.bool,\n};\n\nListViewItems.defaultProps = {\n  address_title: '',\n  address_line1: '',\n  closed_month: '',\n  description: '',\n  href: '',\n  id: '',\n  kind: '',\n  locationData: {},\n  missingImagesUrl: '',\n  postal_name: '',\n  presenter: {},\n  provider_logo: '',\n  provider_name: '',\n  provider_url: '',\n  secondary_kinds: [],\n  show_new_badge: false,\n  shown_as_rented_out: false,\n  uuid: '',\n  show_full_address: false,\n  temporarily_unavailable: false,\n};\n\n\nexport default ListViewItems;\n","import React, { Fragment } from 'react';\nimport ReactTooltip from 'react-tooltip';\nimport Truncate from 'react-truncate';\n\nimport nearbyLocationsBanner from '../../../src/images/icons/nearby-location-banner.svg';\nimport LokalebasenLogo from '../../../src/images/logos/lokalebasen_dk.svg';\nimport MatchofficeLogo from '../../../src/images/logos/matchoffice_generic.svg';\nimport partnerBadge from '../../../src/images/provider/partner-badge-listview.png'\nimport { SvgIco } from '../../SharedComponents/Icons';\n\nimport './ItemsListComponents.sass';\n\nexport const ProviderLogo = ({ providerLogo, providerName }) => (\n  <div className='provider-logo'>\n    <img\n      alt={providerName}\n      className=\"lazyload\"\n      data-sizes=\"auto\"\n      data-expand=\"100\"\n      data-src={providerLogo}\n    />\n  </div>\n);\n\nexport const ProviderPartner = () =>\n  <div className=\"provider-partner-icon\" ><SvgIco name=\"partner_badge\" size={40} /></div>;\n\nexport const DescriptionLine = ({ substring, lines }) => (\n  <Truncate\n    lines={lines}\n    ellipsis={\n      <span>\n        {lines !== 0 && '... '}\n        <span className=\"read-more\">{I18n.t('generic.read_more')}</span>\n      </span>\n    }\n    children={substring}\n  />\n);\n\nexport const MapIcon = ({ id, toggleMap, withLabel }) => (\n  <Fragment>\n    <span\n      onClick={toggleMap}\n      role=\"button\"\n      data-tip={I18n.t('tooltips.showroom.view_on_map')}\n      data-class=\"list-item-tooltip\"\n      data-for={'map' + id}\n      className=\"map-icon\"\n      id=\"map-pin-icon\"\n    >\n      { withLabel && <div className=\"map-icon__label\">{ I18n.t('tooltips.showroom.view_on_map') }</div> }\n      <SvgIco name=\"map_detail\" size={20} />\n    </span>\n    <ReactTooltip place=\"top\" effect=\"solid\" id={'map' + id} />\n  </Fragment>\n);\n\nexport const handleListItemClick = (e, href, id) => {\n  if (!e.ctrlKey && !e.metaKey) {\n    e.preventDefault();\n\n    const parent = e.target.parentNode;\n    const noticeWrapper = document.getElementById('noticeWrapper-' + id);\n\n    if (e.target.id === `infoNoticeLink-${id}`) {\n      window.open(e.target.getAttribute('href'), '_blank');\n    } else if (\n      parent.getAttribute('role') !== 'button' &&\n      e.target.getAttribute('role') !== 'button' &&\n      !parent.classList.contains('embla__buttons') &&\n      parent.parentElement.id !== 'map-pin-icon' &&\n      (!noticeWrapper || !noticeWrapper.contains(e.target))\n    ) {\n      sessionStorage.setItem('location_items.scroll_value', window.pageYOffset);\n      window.open(href, '_blank');\n    }\n  }\n};\n\nexport const NearbyLocationsBanner = ({ grid, mapIsOpen, siteKey }) => (\n  <div className={`${grid ? `grid-item col-md-6 col-lg-${mapIsOpen ? 6 : 4} col-xl-${mapIsOpen ? 4 : 3}` : 'container max-width'}`}>\n    <div className={`nearby-locations-banner${grid ? ' grid' : ' row'}`}>\n      <div\n        className={`nearby-locations-banner__background${\n          !grid ? ' col-xl-12' : ''\n        }`}\n      ></div>\n      <div className={`nearby-locations-banner__img${ !grid ? ' col-xl-3 col-lg-3 col-md-4 col-12' : ''}`}>\n        <img\n          alt=\"Nearby Locations\"\n          className=\"lazyload\"\n          data-expand=\"100\"\n          data-sizes=\"auto\"\n          data-src={nearbyLocationsBanner}\n          height={149}\n          width={183}\n        />\n      </div>\n      <div\n        className={`nearby-locations-banner__description-content${\n          !grid ? ' col-xl-6 col-lg-6 col-md-4 col-sm-9 col-12' : ''\n        }`}\n      >\n        <div className=\"nearby-locations-banner__content-wrapper\">\n          <div className=\"nearby-locations-banner__headline\">\n            {I18n.t('apps.lb_showroom.nearby_locations')}\n          </div>\n          <div className=\"nearby-locations-banner__description\">\n            {I18n.t('apps.lb_showroom.nearby_locations_description')}\n          </div>\n        </div>\n      </div>\n      <div\n        className={`nearby-locations-banner__logo ${\n          !grid ? ' col-xl-3 col-lg-3 col-md-4 col-12' : ''\n        }`}\n      >\n        <img\n          alt=\"Site Logo\"\n          className=\"lazyload\"\n          height=\"auto\"\n          width={191}\n          data-sizes=\"auto\"\n          data-src={siteKey === 'dk' ? LokalebasenLogo : MatchofficeLogo}\n          data-expand=\"100\"\n        />\n      </div>\n    </div>\n  </div>\n);\n","import React, { useCallback, useEffect, useState } from 'react'\n\n\nexport const useDotButton = (emblaApi) => {\n  const [selectedIndex, setSelectedIndex] = useState(0);\n  const [scrollSnaps, setScrollSnaps] = useState([]);\n\n  const onDotButtonClick = useCallback(\n    (index) => {\n      if (!emblaApi) return\n      emblaApi.scrollTo(index)\n    },\n    [emblaApi]\n  );\n\n  const onInit = useCallback((emblaApi) => {\n    setScrollSnaps(emblaApi.scrollSnapList())\n  }, []);\n\n  const onSelect = useCallback((emblaApi) => {\n    setSelectedIndex(emblaApi.selectedScrollSnap())\n  }, []);\n\n  useEffect(() => {\n    if (!emblaApi) return\n\n    onInit(emblaApi)\n    onSelect(emblaApi)\n    emblaApi.on('reInit', onInit).on('reInit', onSelect).on('select', onSelect)\n  }, [emblaApi, onInit, onSelect]);\n\n  return {\n    selectedIndex,\n    scrollSnaps,\n    onDotButtonClick\n  }\n};\n\n\nexport const DotButton = (props) => {\n  const { children, ...restProps } = props;\n\n\n  return (\n    <button type=\"button\" {...restProps}>\n      { children }\n    </button>\n  )\n};\n","import React, { useCallback, useEffect, useState } from 'react'\nimport { SvgIco } from \"../Icons\";\n\n\nexport const usePrevNextButtons = (emblaApi) => {\n  const [prevBtnDisabled, setPrevBtnDisabled] = useState(true);\n  const [nextBtnDisabled, setNextBtnDisabled] = useState(true);\n\n  const onPrevButtonClick = useCallback(() => {\n    if (!emblaApi) return\n    emblaApi.scrollPrev()\n  }, [emblaApi]);\n\n  const onNextButtonClick = useCallback(() => {\n    if (!emblaApi) return\n    emblaApi.scrollNext()\n  }, [emblaApi]);\n\n  const onSelect = useCallback((emblaApi) => {\n    setPrevBtnDisabled(!emblaApi.canScrollPrev())\n    setNextBtnDisabled(!emblaApi.canScrollNext())\n  }, []);\n\n  useEffect(() => {\n    if (!emblaApi) return\n\n    onSelect(emblaApi)\n    emblaApi.on('reInit', onSelect).on('select', onSelect)\n  }, [emblaApi, onSelect]);\n\n  return {\n    prevBtnDisabled,\n    nextBtnDisabled,\n    onPrevButtonClick,\n    onNextButtonClick\n  }\n};\n\n\nexport const PrevButton = (props) => {\n  const { children, ...restProps } = props\n\n  return (\n    <div className='embla__button embla__button--prev' role=\"button\" {...restProps}>\n      <SvgIco className=\"embla__button__svg\" name=\"keyboard-arrow-left-rounded\" size={30} />\n      { children }\n    </div>\n  )\n};\n\n\nexport const NextButton = (props) => {\n  const { children, ...restProps } = props\n\n  return (\n    <div className='embla__button embla__button--next' role=\"button\" {...restProps}>\n      <SvgIco className=\"embla__button__svg\" name=\"keyboard-arrow-right-rounded\" size={30} />\n      { children }\n    </div>\n  )\n};\n","import React, { useCallback, useEffect, useRef } from 'react';\nimport useEmblaCarousel from 'embla-carousel-react';\n\nimport { DotButton, useDotButton } from './EmblaCarouselDotButton'\nimport { PrevButton, NextButton, usePrevNextButtons } from './NavigationButtons'\n\nimport './index.sass';\n\n\nconst EmblaCarousel = ({ carouselName,\n                         disableScroll,\n                         fullWidth,\n                         handleChange,\n                         hideArrows,\n                         multiSlidesPerView,\n                         options,\n                         slides,\n                         withDots\n                       }) => {\n\n  const [emblaRef, emblaApi] = useEmblaCarousel(options);\n\n  const dotsIWrapper = useRef();\n\n  const { selectedIndex, scrollSnaps, onDotButtonClick } = useDotButton(emblaApi);\n\n  const { prevBtnDisabled, nextBtnDisabled, onPrevButtonClick, onNextButtonClick} = usePrevNextButtons(emblaApi)\n\n  const disableScrollControls = slides.length <= 1 || disableScroll;\n  const slidesData = disableScrollControls ? [ slides[0] ] : slides;\n  const allSlidesInView = scrollSnaps && scrollSnaps.length === 1;\n\n\n  const logSlidesInView = useCallback(() => {\n    handleChange();\n  }, [])\n\n\n  useEffect(() => {\n    emblaApi && handleChange && emblaApi.on('scroll', logSlidesInView);\n  }, [emblaApi, handleChange, logSlidesInView]);\n\n\n  useEffect(() => {\n    const slidesCount = slides && slides.length;\n\n    if (withDots && slidesCount > 5 && dotsIWrapper && dotsIWrapper.current) {\n      const slideWidth = 14;\n\n      if (selectedIndex === 0) {\n        dotsIWrapper.current.scrollLeft = 0;\n      } else if (selectedIndex === (slidesCount - 1)) {\n        const scrollLeft = (slidesCount - 5) * slideWidth;\n\n        dotsIWrapper.current.scrollLeft = scrollLeft;\n      } else {\n        const scrollLeft = (slideWidth * (selectedIndex - 2));\n\n        dotsIWrapper.current.scrollLeft = scrollLeft;\n      };\n    }\n  }, [selectedIndex]);\n\n\n  return (\n    <section className={`embla-${carouselName} embla${multiSlidesPerView ? ' multi-slides' : ''}${fullWidth ? ' full-width' : ''}`}>\n      <div className=\"embla__viewport\" ref={emblaRef}>\n        <div className=\"embla__container\">\n          { slidesData.map((slide, index) =>\n            <div className=\"embla__slide\" key={`embla_slide_${carouselName}_${index}`}>\n              { slide }\n            </div>\n          )}\n        </div>\n      </div>\n\n      <div className=\"embla__controls\">\n\n        { !disableScrollControls && !hideArrows && !allSlidesInView &&\n          <div className=\"embla__buttons\">\n            <PrevButton onClick={onPrevButtonClick} disabled={prevBtnDisabled} />\n            <NextButton onClick={onNextButtonClick} disabled={nextBtnDisabled} />\n          </div>\n        }\n\n        { withDots && !disableScrollControls && !allSlidesInView &&\n          <div className=\"embla__dots-wrapper\">\n            <div className=\"embla__dots\" ref={dotsIWrapper}>\n              { scrollSnaps.map((_, index) =>\n                <DotButton\n                  className={'embla__dot'.concat(\n                    index === selectedIndex ? ' embla__dot--selected' : ''\n                  )}\n                  id={`embla-dot-${index}`}\n                  key={index}\n                  onClick={() => onDotButtonClick(index)}\n                />\n              )}\n            </div>\n          </div>\n        }\n      </div>\n    </section>\n  )\n}\n\nexport default EmblaCarousel\n","export const sendTrovitLead = (siteKey) => {\n  ('at ch de dk se').includes(siteKey) && ta && ta('send', 'lead');\n}\n"],"names":["CompareIcon","React","InfoBadges","InfoNotice","GetInfoFormModal","ListViewItems","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","isActiveInfoForm","orderedLocations","additionalFormPadding","offset","submitSuccess","infoSent","dataProtectionIsOpen","showServerErrorMessage","showMorePhotos","isLoading","showEnergyRatingTooltip","orderId","setState","window","removeEventListener","handleClickOutside","params","orderUrl","abTestParam","uuid","props","locationData","httpService","orderInfoListViewForm","then","response","JSON","parse","localStorage","getItem","order_uuid","constructor","timestamp","updateOrderedLocation","stringify","setItem","sendTrovitLead","siteKey","setOrderedLocations","Object","keys","dataLayer","push","event","eventCategory","eventAction","state","e","ctrlKey","metaKey","preventDefault","stopPropagation","open","key","tooltipRef","tooltipShowState","ReactTooltip","hide","show","_createClass","value","history","scrollRestoration","_this2","_this$state","this","currentSlide","_this$props","comparableLocations","countryAlpha2","favouriteLocationsIds","currency","missingImagesUrl","hideMap","section","updateComparableLocations","updateFavouriteLocations","userCountryPhoneCode","address_line1","address_title","anonymous","description","energy_rating","exempted_energy","href","id","indexing_prohibited","is_increased_in_listview","is_internal","kind","nearby_parking_lot","order_path","postal_code","postal_name","presenter","price_decrease_percentage","secondary_kinds","provider_logo","provider_name","show_full_address","show_new_badge","show_price_decrease_label","shown_as_rented_out","special_offer","street_name","suitable_for_kinds","temporarily_unavailable","monthly_rent_price","provider_partner","all_photos","first_3_photos","premium","premiumOnlyDK","suitableFor","locationKinds","_toConsumableArray","descriptionLines","suitableForList","slice","kindsCountToShow","isMobile","locationKindsLength","reducedKinds","closedMonth","mappedMonths","closed_month","addressOrStreet","energyRatingMark","toLowerCase","energyRatingLabel","I18n","t","persons","persons_label","persons_tooltip","_ref","formatted_monthly_rent_price","monthly_rent_label","showInfoBadges","getInfoForm","classNames","descriptionClasses","locationClasses","sliderClasses","disabled","crawled","descriptionWrapperClasses","metricsWrapperClasses","styles","itemStyle","background","carouselStyle","filter","SLIDES","map","elem","index","className","alt","url","style","height","width","disableScroll","assign","onClick","handleListItemClick","rel","Suspense","fallback","isMobileOnly","isCrawled","isRentedOut","isNew","hideCrawledBottom","rentedOutLabel","sale","specialOffer","wrapperClass","EmblaCarousel","carouselName","handleChange","handleSlideChange","slides","options","loop","withDots","locationId","tooltipPosition","FavouriteIcon","favoriteLocations","role","handleTooltip","ref","EnergyRatingRef","SvgIco","name","afterHide","effect","r","place","descriptionStyle","Fragment","DescriptionLine","substring","lines","noticeKind","root","showCopyright","area","area_label","PersonsTooltipRef","size","display","label","price","includes","handleOpenInfoForm","promotedLink","handleCloseInfoForm","submitHandler","infoHandlerSubmit","parkingCheckbox","handleClose","gtmClass","address","Date","toISOString","Component","defaultProps","provider_url","ProviderLogo","providerLogo","providerName","ProviderPartner","_ref2","Truncate","ellipsis","children","MapIcon","_ref3","toggleMap","withLabel","parent","target","parentNode","noticeWrapper","document","getElementById","getAttribute","classList","contains","parentElement","sessionStorage","pageYOffset","NearbyLocationsBanner","_ref4","grid","mapIsOpen","nearbyLocationsBanner","LokalebasenLogo","MatchofficeLogo","useDotButton","emblaApi","_useState","useState","_useState2","_slicedToArray","selectedIndex","setSelectedIndex","_useState3","_useState4","scrollSnaps","setScrollSnaps","onDotButtonClick","useCallback","scrollTo","onInit","scrollSnapList","onSelect","selectedScrollSnap","useEffect","on","DotButton","restProps","_objectWithoutProperties","_excluded","type","usePrevNextButtons","prevBtnDisabled","setPrevBtnDisabled","nextBtnDisabled","setNextBtnDisabled","onPrevButtonClick","scrollPrev","onNextButtonClick","scrollNext","canScrollPrev","canScrollNext","PrevButton","NextButton","_excluded2","fullWidth","hideArrows","multiSlidesPerView","_useEmblaCarousel","useEmblaCarousel","_useEmblaCarousel2","emblaRef","dotsIWrapper","useRef","_useDotButton","_usePrevNextButtons","disableScrollControls","slidesData","allSlidesInView","logSlidesInView","slidesCount","current","scrollLeft","slide","_","ta"],"sourceRoot":""}