{"version":3,"file":"component---src-templates-service-page-tsx-72e967714569be8dac66.js","mappings":"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","sources":["webpack://batmaid-www/../@containers/SmartlookClient/SmartlookClient.tsx","webpack://batmaid-www/./src/templates/Homepage/BookCleaningSection.tsx","webpack://batmaid-www/./src/templates/Homepage/QuoteSection.tsx","webpack://batmaid-www/./src/templates/ServicePage.tsx","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/array-includes.js","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/classof-raw.js","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/enum-bug-keys.js","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/indexed-object.js","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/length-of-array-like.js","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/math-trunc.js","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/object-keys-internal.js","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/to-absolute-index.js","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/to-indexed-object.js","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://batmaid-www/../node_modules/gatsby/node_modules/core-js/internals/to-length.js"],"sourcesContent":["/**\n * @author jakubbujakowski\n * @since 2022-3-2\n *\n * IMPORTANT!\n * Smartlook is injected and initialized via GTM.\n * This component will only work on environemnts where GTM has been configured.\n */\nimport React, { useEffect } from \"react\";\nimport { Record } from \"immutable\";\n\nimport { IS_BROWSER } from \"@config/consts\";\n\nimport { IUser } from \"@typings/user\";\n\nimport { useAuth } from \"@hooks/useAuth\";\n\ninterface Props {\n  urlWhitelist?: string[]; // when passed, only allow recording on these routes\n}\n\nconst SmartlookClient = (props: Props): null => {\n  const { user } = useAuth();\n\n  const disableSmartlookEffectDeps = IS_BROWSER ? [window.location.href] : [];\n\n  const isUrlSupported = () =>\n    props.urlWhitelist === undefined ||\n    props.urlWhitelist?.some(url => window.location.href.includes(url));\n\n  const handleIdentify = (user: Record<IUser>) => {\n    (window as any)?.smartlook?.(\"identify\", user.get(\"uuid\"), {\n      name: `${user.get(\"firstName\")} ${user.get(\"lastName\")}`,\n      email: user.get(\"email\"),\n    });\n  };\n\n  const handleAnonymize = () => {\n    (window as any)?.smartlook?.(\"anonymize\");\n  };\n\n  const handleDisable = () => {\n    (window as any)?.smartlook?.(\"disable\");\n  };\n\n  useEffect(() => {\n    if (!user) {\n      handleAnonymize();\n      return;\n    }\n\n    handleIdentify(user);\n  }, [user]);\n\n  useEffect(() => {\n    if (!isUrlSupported()) {\n      handleDisable();\n    }\n  }, [disableSmartlookEffectDeps]);\n\n  return null;\n};\n\nexport { SmartlookClient };\n","import { IGatsbyImageData } from \"gatsby-plugin-image\";\nimport React from \"react\";\nimport styled from \"styled-components\";\n\nimport { AVAILABLE_LANGS, SERVICE_TYPE } from \"@typings/globals\";\n\nimport {\n  Column,\n  Margins,\n  Row,\n  Container,\n  Heading,\n  CheckListItem,\n} from \"@ui/Atoms\";\n\nimport { useBreakpoint } from \"@hooks/useBreakpoint\";\nimport { useBrowserRerender } from \"@hooks/useBrowserRerender\";\n\nimport { SubscribeEmail } from \"@www/src/components/SubscribeEmail\";\n\nimport { GatsbyImage } from \"../../components/GatsbyImage\";\nimport { StartBookingForm } from \"../../components/StartBookingForm\";\n\nimport { List, StyledSection } from \"./shared\";\n\nconst handleFormSuccess = (path: string): void => {\n  window.location.href = path;\n};\n\ninterface ListItemProp {\n  list_item: { text: string };\n}\n\nexport interface BookCleaningProps {\n  ready_to_book_title: { text: string };\n  ready_to_book_list: ListItemProp[];\n  ready_to_book_list_mobile: ListItemProp[];\n  teaser_form_submit?: { text: string };\n  teaser_form_placeholder?: { text: string };\n  booking_form_submit: { text: string };\n  booking_form_placeholder: { text: string };\n  ready_to_book_image: {\n    gatsbyImageData: IGatsbyImageData;\n  };\n  is_teaser_version?: boolean;\n  email_submit: { text: string };\n  email_placeholder: { text: string };\n  serviceType?: SERVICE_TYPE;\n  language: AVAILABLE_LANGS;\n}\n\nconst BookCleaningSection = (props: BookCleaningProps): React.ReactElement => {\n  const { mobile, tablet } = useBreakpoint(\"v1\");\n  const isBrowser = useBrowserRerender();\n\n  const isMobile = mobile || tablet;\n\n  const listToRender = isMobile\n    ? props.ready_to_book_list_mobile\n    : props.ready_to_book_list;\n\n  return (\n    <StyledSection hasOverflow>\n      <Container>\n        <Row>\n          <StyledColumn xs={12} lg={6}>\n            <GatsbyImage\n              image={props.ready_to_book_image.gatsbyImageData}\n              alt=\"maid\"\n            />\n          </StyledColumn>\n\n          <Column xs={12} lg={6}>\n            <Margins xs={[null, \"base_x8\", null, null]}>\n              <StyledHeading\n                type=\"h2\"\n                styleAs={isBrowser && isMobile ? \"h6\" : \"h4\"}\n              >\n                {props.ready_to_book_title.text}\n              </StyledHeading>\n            </Margins>\n            <BookCleaningSectionImg>\n              <GatsbyImage\n                image={props.ready_to_book_image.gatsbyImageData}\n                alt=\"maids\"\n              />\n            </BookCleaningSectionImg>\n            <ListWrapper>\n              <List>\n                {listToRender?.map(({ list_item }) => (\n                  <CheckListItem key={list_item.text} value={list_item.text} />\n                ))}\n              </List>\n            </ListWrapper>\n            <div>\n              {props.is_teaser_version ? (\n                <SubscribeEmail\n                  emailSubmit={\n                    props.teaser_form_submit?.text || props.email_submit.text\n                  }\n                  emailPlaceholder={\n                    props.teaser_form_placeholder?.text ||\n                    props.email_placeholder.text\n                  }\n                  buttonVariant=\"green\"\n                />\n              ) : (\n                <StartBookingForm\n                  language={props.language}\n                  buttonVariant=\"green\"\n                  onSuccess={handleFormSuccess}\n                  serviceType={props.serviceType || SERVICE_TYPE.HOME_CLEANING}\n                />\n              )}\n            </div>\n          </Column>\n        </Row>\n      </Container>\n    </StyledSection>\n  );\n};\n\nexport { BookCleaningSection };\n\nconst BookCleaningSectionImg = styled.div`\n  margin-bottom: ${props => props.theme.margins.base_x3};\n\n  ${props => props.theme.breakpoints.desktop} {\n    display: none;\n  }\n`;\n\nconst ListWrapper = styled.div`\n  display: flex;\n  margin-bottom: ${props => props.theme.margins.base_x4};\n`;\n\nconst StyledHeading = styled(Heading)`\n  margin-bottom: ${props => props.theme.margins.base_x3};\n  text-align: left;\n\n  ${props => props.theme.breakpoints.desktop} {\n    margin-bottom: ${props => props.theme.margins.base_x4};\n  }\n`;\n\nconst StyledColumn = styled(Column)`\n  display: none;\n\n  ${props => props.theme.breakpoints.desktop} {\n    display: block;\n  }\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { Container, Heading, Margins, Paragraph } from \"@ui/Atoms\";\nimport { rem } from \"@ui/helpers\";\n\nimport { useBreakpoint } from \"@hooks/useBreakpoint\";\nimport { useBrowserRerender } from \"@hooks/useBrowserRerender\";\n\nimport { StyledSection } from \"./shared\";\n\nexport interface QuoteSectionProps {\n  quote_title: { text: string };\n  quote_quote: { text: string };\n  quote_author: { text: string };\n}\n\nconst QuoteSection = (props: QuoteSectionProps): React.ReactElement => {\n  const isBrowser = useBrowserRerender();\n  const { mobile, tablet } = useBreakpoint(\"v1\");\n  const isMobile = mobile || tablet;\n\n  return (\n    <Section>\n      <Container>\n        <Margins\n          xs={[null, \"base_x3\", null, null]}\n          lg={[null, \"base_x8\", null, null]}\n        >\n          <Heading\n            type=\"h2\"\n            styleAs={isBrowser && isMobile ? \"h6\" : \"h4\"}\n            color=\"white\"\n            textAlignXs=\"left\"\n            textAlignMd=\"left\"\n            textAlignLg=\"center\"\n          >\n            {props.quote_title.text}\n          </Heading>\n        </Margins>\n\n        <blockquote>\n          <Quote>\n            {isMobile ? `„${props.quote_quote.text}”` : props.quote_quote.text}\n          </Quote>\n        </blockquote>\n        <Author>\n          {isMobile\n            ? props.quote_author.text\n            : `— ${props.quote_author.text} —`}\n        </Author>\n      </Container>\n    </Section>\n  );\n};\n\nexport { QuoteSection };\n\nconst Section = styled(StyledSection)`\n  background: ${props => props.theme.palette.grey800};\n  color: ${props => props.theme.palette.white};\n`;\n\nconst Quote = styled(Paragraph)`\n  position: relative;\n  margin: 0 auto;\n  font-size: ${props => props.theme.fonts.sizes.h6};\n  line-height: ${props => props.theme.fonts.lineHeights.h5};\n  color: ${props => props.theme.palette.white};\n  white-space: pre-line;\n  text-align: left;\n  font-size: ${props => props.theme.fonts.sizes.body};\n  font-style: italic;\n\n  ${props => props.theme.breakpoints.desktop} {\n    font-size: ${props => props.theme.fonts.sizes.h5};\n    text-align: center;\n\n    &:before {\n      content: \"''\";\n      position: absolute;\n      left: -${rem(20)};\n      top: -${rem(20)};\n    }\n\n    &:after {\n      content: \",,\";\n      position: absolute;\n      right: -${rem(20)};\n      bottom: -${rem(20)};\n    }\n  }\n`;\n\nconst Author = styled.div`\n  color: ${props => props.theme.palette.grey400};\n  margin-top: ${props => props.theme.margins.base_x4};\n\n  ${props => props.theme.breakpoints.desktop} {\n    margin-top: ${props => props.theme.margins.base_x4};\n    text-align: center;\n  }\n`;\n","import * as React from \"react\";\nimport { withPrismicPreview } from \"gatsby-plugin-prismic-previews\";\nimport { graphql, PageProps } from \"gatsby\";\n\nimport { DEFAULT_LANGUAGE } from \"@config/consts\";\n\nimport { AVAILABLE_COUNTRIES, HERO_TYPES, ORIGIN } from \"@typings/globals\";\n\nimport theme from \"@ui/themes/default\";\n\nimport { langFromTag } from \"@services/LangFromTag/LangFromTag\";\n\nimport { SmartlookClient } from \"@containers/SmartlookClient\";\n\nimport { useBreakpoint } from \"@hooks/useBreakpoint\";\n\nimport { getServiceType } from \"../components/StartBookingForm/StartBookingForm.helpers\";\nimport Layout from \"../components/Layout\";\nimport SEO, { SeoProps } from \"../components/SEO\";\n\nimport {\n  TextSection,\n  QuoteSection,\n  VideoSection,\n  BookCleaningSection,\n  BecomeBatmaidSection,\n  HeroSection,\n  TextSectionProps,\n  SliceHeroProps,\n  HeroProps,\n  QuoteSectionProps,\n  VideoProps,\n  BecomeBatmaidProps,\n  BookCleaningProps,\n  Partners,\n  PartnersProps,\n  BoxesSection,\n  BoxesProps,\n  DefaultCard,\n  BlogCardProps,\n  HowItWorks,\n} from \"./Homepage/\";\n\nenum SECTION_TYPES {\n  TEXT_SECTION = \"text_section\",\n  BOXES_LIST = \"boxes_list\",\n  CLEANING_TIPS = \"cleaning_tips\",\n  STEPS_LIST = \"steps_list\",\n}\n\ninterface CustomServicePageProps {\n  section: any; //SectionsSlices; //@TODO\n  index: number;\n  language: string;\n  howItWorksIconsSize: number;\n}\n\n// @TODO: adjust typing\nconst CustomServicePage = ({\n  section,\n  index,\n  language,\n  howItWorksIconsSize,\n}: CustomServicePageProps): React.ReactElement => {\n  switch (section.slice_type) {\n    case SECTION_TYPES.TEXT_SECTION: {\n      const textSectionData: TextSectionProps = {\n        text_section_title: section.primary.text_section_title,\n        text_section_text: section.primary.text_section_text,\n        isWhite: index % 2 === 0,\n      };\n\n      return <TextSection {...textSectionData} />;\n    }\n    case SECTION_TYPES.BOXES_LIST: {\n      const boxesData: BoxesProps<DefaultCard> = {\n        section_title: section.primary?.section_title,\n        items: section.items?.map((box: any) => ({\n          box_image_text: box?.box_image_text,\n          box_image: box?.box_image,\n          service_link: box?.service_link,\n        })),\n        language,\n        isWhite: index % 2 === 0,\n      };\n\n      return <BoxesSection {...boxesData} />;\n    }\n    case SECTION_TYPES.CLEANING_TIPS: {\n      const cleaningTipsData: BoxesProps<BlogCardProps> = {\n        section_title: section.primary.section_title,\n        items: section.items,\n        isBlog: true,\n        isWhite: index % 2 === 0,\n      };\n\n      return <BoxesSection {...cleaningTipsData} />;\n    }\n\n    case SECTION_TYPES.STEPS_LIST: {\n      const stepsListData = {\n        ...section.primary,\n        isWhite: index % 2 === 0,\n        iconsColor: theme.palette.grey600,\n      };\n\n      return <HowItWorks {...stepsListData} iconsSize={howItWorksIconsSize} />;\n    }\n\n    default: {\n      return <React.Fragment />;\n    }\n  }\n};\n\ntype Primary = TextSectionProps | Omit<BoxesProps<DefaultCard>, \"items\">;\ntype Items = DefaultCard[] | BlogCardProps[];\n\ninterface SectionsSlices {\n  slice_type: SECTION_TYPES;\n  primary: Partial<Primary>;\n  items: Partial<Items>;\n}\n\ntype Props = PageProps<\n  {\n    prismicServicePage: {\n      data: PageData;\n    };\n  },\n  {\n    lang: string;\n    origin: ORIGIN;\n    country: AVAILABLE_COUNTRIES;\n    type: string;\n  }\n>;\n\ninterface PageData\n  extends HeroProps,\n    PartnersProps,\n    QuoteSectionProps,\n    VideoProps,\n    BecomeBatmaidProps,\n    BookCleaningProps,\n    SeoProps {\n  title: {\n    text: string;\n  };\n  slug: {\n    text: string;\n  };\n  service_type: HERO_TYPES;\n  body: SliceHeroProps[];\n  body1: SectionsSlices[];\n}\n\nconst ServicePage = (props: Props): React.ReactElement => {\n  const { pageContext, data } = props;\n  const { prismicServicePage } = data;\n\n  const { desktop, desktopLarge } = useBreakpoint(\"v1\");\n\n  const language = langFromTag(pageContext.lang) || DEFAULT_LANGUAGE;\n\n  const urlLang = pageContext.lang.split(\"-\")[0];\n\n  const seoData: SeoProps = {\n    seo_title: prismicServicePage.data.seo_title,\n    seo_description: prismicServicePage.data.seo_description,\n    seo_image: prismicServicePage.data.seo_image,\n  };\n\n  const heroData: HeroProps = {\n    language,\n    hero_image_mobile: prismicServicePage.data.hero_image_mobile,\n    booking_form_submit: prismicServicePage.data.booking_form_submit,\n    booking_form_placeholder: prismicServicePage.data.booking_form_placeholder,\n    email_submit: prismicServicePage.data.email_submit,\n    email_placeholder: prismicServicePage.data.email_placeholder,\n    heroesList: prismicServicePage.data.body,\n    landingUrl: `/${urlLang}`,\n    hero_breadcrumb_text: prismicServicePage.data.hero_breadcrumb_text,\n  };\n\n  const partnersData = {\n    partners_logos: prismicServicePage.data.partners_logos,\n    partners_title: prismicServicePage.data.partners_title,\n  };\n\n  const whyQuoteData = {\n    quote_title: prismicServicePage.data.quote_title,\n    quote_quote: prismicServicePage.data.quote_quote,\n    quote_author: prismicServicePage.data.quote_author,\n  };\n\n  const videoData = {\n    video_title: prismicServicePage.data.video_title,\n    video_title_bottom: prismicServicePage.data.video_title_bottom,\n    video_url: prismicServicePage.data.video_url,\n  };\n\n  const readyToBookData: BookCleaningProps = {\n    ready_to_book_title: prismicServicePage.data.ready_to_book_title,\n    ready_to_book_list: prismicServicePage.data.ready_to_book_list,\n    ready_to_book_list_mobile:\n      prismicServicePage.data.ready_to_book_list_mobile,\n    ready_to_book_image: prismicServicePage.data.ready_to_book_image,\n    booking_form_submit: prismicServicePage.data.booking_form_submit,\n    booking_form_placeholder: prismicServicePage.data.booking_form_placeholder,\n    email_submit: prismicServicePage.data.email_submit,\n    email_placeholder: prismicServicePage.data.email_placeholder,\n    serviceType: getServiceType(prismicServicePage.data.service_type),\n    language,\n  };\n\n  const becomeBatmaidData = {\n    become_cleaner_title: prismicServicePage.data.become_cleaner_title,\n    become_cleaner_quote: prismicServicePage.data.become_cleaner_quote,\n    become_cleaner_quote_author:\n      prismicServicePage.data.become_cleaner_quote_author,\n    become_cleaner_button_text:\n      prismicServicePage.data.become_cleaner_button_text,\n    become_cleaner_button_link:\n      prismicServicePage.data.become_cleaner_button_link,\n    lang: pageContext.lang,\n    become_cleaner_image: prismicServicePage.data.become_cleaner_image,\n  };\n\n  return (\n    <Layout\n      language={language}\n      country={props.pageContext.country}\n      origin={ORIGIN.BATMAID}\n      isFullWidth\n    >\n      <SmartlookClient />\n      <SEO\n        {...seoData}\n        title={prismicServicePage.data.title.text}\n        breadcrumbs={[\n          {\n            title:\n              seoData.seo_title?.text || prismicServicePage.data.title.text,\n            href: `/${language}/${prismicServicePage.data.slug.text.trim()}`,\n          },\n        ]}\n        path={props.location.pathname}\n      />\n      <HeroSection {...heroData} isCityPage />\n      <Partners {...partnersData} />\n      {prismicServicePage.data.body1?.map((section, index) => (\n        <CustomServicePage\n          key={index}\n          section={section}\n          language={language}\n          index={index}\n          howItWorksIconsSize={desktop || desktopLarge ? 96 : 64}\n        />\n      ))}\n      <QuoteSection {...whyQuoteData} />\n      <VideoSection {...videoData} />\n      <BecomeBatmaidSection {...becomeBatmaidData} />\n      <BookCleaningSection {...readyToBookData} />\n    </Layout>\n  );\n};\n\nexport default withPrismicPreview(ServicePage);\n\nexport const query = graphql`\n  query ServicePageQuery($id: String) {\n    prismicServicePage(id: { eq: $id }) {\n      _previewable\n      lang\n      data {\n        slug {\n          text\n        }\n        title {\n          text\n        }\n        # ==== SEO ====\n        seo_title {\n          text\n        }\n        seo_description {\n          text\n        }\n        seo_image {\n          gatsbyImageData(width: 1200)\n        }\n\n        # ==== BOOKING FORM TEXTS ====\n        booking_form_submit {\n          text\n        }\n        booking_form_placeholder {\n          text\n        }\n\n        # ==== EMAIL TEXTS (DEPRECATED) ====\n        email_submit {\n          text\n        }\n        email_placeholder {\n          text\n        }\n\n        # hero\n        hero_image_mobile {\n          gatsbyImageData\n        }\n        hero_breadcrumb_text {\n          text\n        }\n        body {\n          ... on PrismicServicePageDataBodyLandingHero {\n            primary {\n              hero_type\n              hero_section_title {\n                text\n              }\n              hero_navigation_text {\n                text\n              }\n              hero_section_description {\n                text\n              }\n              hero_background_img {\n                gatsbyImageData(width: 1920, imgixParams: { q: 90 })\n              }\n              button_text {\n                text\n              }\n              button_link {\n                text\n              }\n            }\n\n            items {\n              hero_description_image {\n                gatsbyImageData\n              }\n              list_item {\n                text\n              }\n            }\n          }\n        }\n\n        # ==== PARTNERS SECTION ====\n        partners_title {\n          text\n        }\n        partners_logos {\n          partner_logo {\n            alt\n            gatsbyImageData(\n              layout: CONSTRAINED\n              imgixParams: { q: 100 }\n              sizes: \"(max-width: 360px) 85px, 144px\"\n              placeholder: BLURRED\n            )\n          }\n          partner_link {\n            url\n            target\n          }\n        }\n\n        # custom section\n\n        body1 {\n          ... on PrismicServicePageDataBody1TextSection {\n            slice_type\n            primary {\n              text_section_title {\n                text\n              }\n              text_section_text {\n                text\n              }\n            }\n          }\n          ... on PrismicServicePageDataBody1CleaningTips {\n            slice_type\n            primary {\n              section_title {\n                text\n              }\n            }\n            items {\n              blog_card_background_photo {\n                gatsbyImageData\n              }\n              blog_card_title {\n                text\n              }\n              blog_card_hashtags {\n                text\n              }\n              blog_card_link {\n                text\n              }\n            }\n          }\n          ... on PrismicServicePageDataBody1BoxesList {\n            slice_type\n            primary {\n              section_title {\n                text\n              }\n            }\n            items {\n              box_image {\n                gatsbyImageData(\n                  layout: CONSTRAINED\n                  imgixParams: { q: 95, minH: 191, fit: \"crop\", crop: \"faces\" }\n                  sizes: \"(max-width: 360px) 280px, (max-width: 767px) 687px, (max-width: 991px) 312px, 232px\"\n                  placeholder: BLURRED\n                )\n              }\n              box_image_text {\n                text\n              }\n              service_link {\n                slug\n              }\n            }\n          }\n          ... on PrismicServicePageDataBody1WhatDoWeOffer {\n            slice_type\n            primary {\n              section_title {\n                text\n              }\n            }\n            items {\n              what_do_we_offer_card_image {\n                gatsbyImageData(\n                  layout: CONSTRAINED\n                  imgixParams: { q: 95, minH: 191, fit: \"crop\", crop: \"faces\" }\n                  sizes: \"(max-width: 360px) 280px, (max-width: 767px) 687px, (max-width: 991px) 312px, 232px\"\n                  placeholder: BLURRED\n                )\n              }\n              what_do_we_offer_card_image_mobile {\n                gatsbyImageData(\n                  layout: CONSTRAINED\n                  imgixParams: { q: 95, minH: 191, fit: \"crop\", crop: \"faces\" }\n                  sizes: \"(max-width: 360px) 280px, (max-width: 767px) 687px, (max-width: 991px) 312px, 232px\"\n                  placeholder: BLURRED\n                )\n              }\n              what_do_we_offer_card_title {\n                text\n              }\n              what_do_we_offer_card_title {\n                text\n              }\n              what_do_we_offer_card_list_element__1 {\n                text\n              }\n              what_do_we_offer_card_list_element__2 {\n                text\n              }\n              what_do_we_offer_card_list_element__3 {\n                text\n              }\n              what_do_we_offer_card_list_element__4 {\n                text\n              }\n              what_do_we_offer_card_list_element__5 {\n                text\n              }\n            }\n          }\n          ... on PrismicServicePageDataBody1StepsList {\n            slice_type\n            primary {\n              how_it_works_title {\n                text\n              }\n              how_it_works_title_mobile {\n                text\n              }\n              how_it_works_step_one_title {\n                text\n              }\n              how_it_works_step_one {\n                text\n              }\n              how_it_works_step_one_icon\n              how_it_works_step_two_title {\n                text\n              }\n              how_it_works_step_two {\n                text\n              }\n              how_it_works_step_two_icon\n              how_it_works_step_three_title {\n                text\n              }\n              how_it_works_step_three {\n                text\n              }\n              how_it_works_step_three_icon\n            }\n          }\n        }\n        # ==== QUOTE SECTION ====\n        quote_title {\n          text\n        }\n        quote_quote {\n          text\n        }\n        quote_author {\n          text\n        }\n        # ==== VIDEO SECTION ====\n        video_title {\n          text\n        }\n        video_url {\n          url\n        }\n        video_title_bottom {\n          text\n        }\n        # ==== BECOME BATMAID SECTION ====\n        become_cleaner_title {\n          text\n        }\n        become_cleaner_quote {\n          text\n        }\n        become_cleaner_quote_author {\n          text\n        }\n        become_cleaner_button_text {\n          text\n        }\n        become_cleaner_button_link {\n          text\n        }\n        become_cleaner_image {\n          gatsbyImageData(\n            layout: CONSTRAINED\n            imgixParams: { q: 95 }\n            placeholder: BLURRED\n          )\n        }\n        # ==== BOOK CLEANING SECTION ====\n        service_type\n        ready_to_book_title {\n          text\n        }\n        ready_to_book_list {\n          list_item {\n            text\n          }\n        }\n        ready_to_book_list_mobile {\n          list_item {\n            text\n          }\n        }\n        ready_to_book_image {\n          gatsbyImageData(\n            layout: CONSTRAINED\n            imgixParams: { q: 95 }\n            width: 1980\n          )\n        }\n      }\n    }\n  }\n`;\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = lengthOfArrayLike(O);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el !== el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value !== value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (hasOwn(O, key = names[i++])) {\n    ~indexOf(result, key) || push(result, key);\n  }\n  return result;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n"],"names":["SmartlookClient","props","user","useAuth","disableSmartlookEffectDeps","IS_BROWSER","window","location","href","useEffect","handleAnonymize","_window2","_window2$smartlook","_window","_window$smartlook","smartlook","call","get","name","email","handleIdentify","handleDisable","_window3","_window3$smartlook","_props$urlWhitelist","undefined","urlWhitelist","some","url","includes","handleFormSuccess","path","BookCleaningSection","_props$teaser_form_su","_props$teaser_form_pl","mobile","tablet","useBreakpoint","isBrowser","useBrowserRerender","isMobile","listToRender","ready_to_book_list_mobile","ready_to_book_list","React","StyledSection","hasOverflow","Container","Row","StyledColumn","xs","lg","GatsbyImage","image","ready_to_book_image","gatsbyImageData","alt","Column","Margins","StyledHeading","type","styleAs","ready_to_book_title","text","BookCleaningSectionImg","ListWrapper","List","map","_ref","list_item","CheckListItem","key","value","is_teaser_version","SubscribeEmail","emailSubmit","teaser_form_submit","email_submit","emailPlaceholder","teaser_form_placeholder","email_placeholder","buttonVariant","StartBookingForm","language","onSuccess","serviceType","SERVICE_TYPE","HOME_CLEANING","styled","div","withConfig","displayName","componentId","theme","margins","base_x3","breakpoints","desktop","base_x4","Heading","QuoteSection","Section","color","textAlignXs","textAlignMd","textAlignLg","quote_title","Quote","quote_quote","Author","quote_author","palette","grey800","white","Paragraph","fonts","sizes","h6","lineHeights","h5","body","rem","grey400","SECTION_TYPES","CustomServicePage","section","index","howItWorksIconsSize","slice_type","TEXT_SECTION","textSectionData","text_section_title","primary","text_section_text","isWhite","TextSection","BOXES_LIST","_section$primary","_section$items","boxesData","section_title","items","box","box_image_text","box_image","service_link","BoxesSection","CLEANING_TIPS","cleaningTipsData","isBlog","STEPS_LIST","stepsListData","iconsColor","grey600","HowItWorks","Object","assign","iconsSize","withPrismicPreview","_seoData$seo_title","_prismicServicePage$d","pageContext","data","prismicServicePage","desktopLarge","langFromTag","lang","DEFAULT_LANGUAGE","urlLang","split","seoData","seo_title","seo_description","seo_image","heroData","hero_image_mobile","booking_form_submit","booking_form_placeholder","heroesList","landingUrl","hero_breadcrumb_text","partnersData","partners_logos","partners_title","whyQuoteData","videoData","video_title","video_title_bottom","video_url","readyToBookData","getServiceType","service_type","becomeBatmaidData","become_cleaner_title","become_cleaner_quote","become_cleaner_quote_author","become_cleaner_button_text","become_cleaner_button_link","become_cleaner_image","Layout","country","origin","ORIGIN","BATMAID","isFullWidth","SEO","title","breadcrumbs","slug","trim","pathname","HeroSection","isCityPage","Partners","body1","VideoSection","BecomeBatmaidSection","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","O","length","module","exports","indexOf","uncurryThis","toString","stringSlice","slice","it","fails","classof","$Object","propertyIsEnumerable","toLength","obj","ceil","Math","floor","trunc","x","n","hasOwn","hiddenKeys","push","object","names","i","result","toIntegerOrInfinity","max","min","integer","IndexedObject","requireObjectCoercible","argument","number"],"sourceRoot":""}